Component: Visi (4DSystems) (Comms: System)
Author | Matrix Ltd. |
Version | 2.0 (Release) |
Category | Comms: System |
Contents
Visi (4DSystems) component
A way of interacting with the VISI interface designed by 4D systems. VISI firmware must be pre-loaded onto the SD card connected to the display to allow everything to work correctly.
Examples
These examples are designed to work with a 4D systems display pre-programmed with the VISI Genie runtime files. These files are also included in the example archives to allow you to easily replicate the project.
The 4D display can either be connected to the PC running Flowcode using the 4D USB cable or connected to an embedded Microcontroller using a hardware or software UART. If you are using the Flowcode simulation to communicate with the Visi component then be sure to set the Visi COM port property to the COM port assigned by Windows to the 4D USB Cable.
The Console window should also show some helpful information to aid in debugging any problems.
The first example demonstrates a simple rocker switch Visi component.
RockerSwitch
The second example demonstrates controlling the colour of an RGB LED using the Visi colour picker component.
ColourPicker
Downloadable macro reference
VisiWriteString
Writes a string to a specific Visi object.
Returns 0 for a succesful write operation.
Parameters
- BYTE StringIndex
- <- STRING StringData
- This parameter may be returned back to the caller
Return value
VisiWriteObject
Writes a value to a specific Visi object.
Returns 0 for a succesful write operation.
Parameters
- BYTE ObjectID
- BYTE ObjectIndex
- UINT Value
Return value
ChangeHWBaud
Changes the hardware UART baud rate allowing for dynamic speed changes.
Parameters
- BYTE NewBaud
- 0=1200, 1=2400, 2=4800, 3=9600, 4=19200, 5=38400, 6=57600, 7=115200
Return value
- This call does not return a value
VisiReceive
Waits for an incoming Visi Report Object or Report Event to be sent from the display. A detected incoming message returns 0 and can be read using the VisiReadByteFromMessage macro.
Parameters
- This macro has no parameters
Return value
VisiWriteContrast
Updates the display contrast.
Returns 0 for a succesful write operation.
Parameters
- BYTE Contrast
- Range 0-15, 0=Backlight Off
Return value
VisiWriteVolume
Updates the display volume.
Returns 0 for a succesful write operation.
Parameters
- BYTE Volume
- Range 8-127
Return value
VisiReadByteFromMessage
Reads a byte from a succesful VisiReceive macro.
Index: 0=Command, 1=ObjectID, 2=ObjectIndex, 3=ValueMSB, 4=ValueLSB
Parameters
- BYTE Index
Return value
VisiReadObject
Reads the value from a specific Visi object.
Returns 0 for a sucessful read.
Use the VisiReadByteFromMessage macro to pull out the incoming data.
Parameters
- BYTE ObjectID
- BYTE ObjectIndex
Return value
Initialise
Sets up the RS232 peripheral, must be called at the start of your program or at least before you start calling any other RS232 macros.
Parameters
- This macro has no parameters
Return value
- This call does not return a value
Simulation macro reference
This component does not contain any simulation macros
Property reference
Channel
This property is of type Fixed list of ints and can be referenced with the variable name cal_uart::CHANNEL.
UART Channel selector
Software channels are bit banged using generic I/O pins but are not as reliable as hardware channels.
Hardware channels use the selected peripheral on-board the target microcontroller.
Baud Options
This property is of type Fixed list of ints and can be referenced with the variable name cal_uart::BAUD_LIST.
Baud rate option selector
Baud Rate
This property is of type Signed integer and can be referenced with the variable name cal_uart::BAUD.
No additional information
TX
This property is of type Single digital pin and can be referenced with the variable name cal_uart::TX.
Pin to be used for Transmit data
RX
This property is of type Single digital pin and can be referenced with the variable name cal_uart::RX.
Pin to be used for Receive data
Label
This property is of type Line of text and can be referenced with the variable name label.
Label shown on the communications flasher component
Scope Traces
This property is of type True or false and can be referenced with the variable name cal_uart::ScopeTraces.
Selects if the scope traces are automatically added to the data recorder window or not.
Simulation - draws an approximation of the UART data onto the scope trace.
ICT - sets up the scope trace for incoming data and adds UART packet decoding at the correct BAUD.
Console Data
This property is of type True or false and can be referenced with the variable name cal_uart::ConsoleData.
Selects if the console data is automatically generated or not
Console Columns
This property is of type Unsigned integer and can be referenced with the variable name cal_uart::ConsoleColumns.
Number of characters that can be displayed on a single line of the console.
Data Source
This property is of type Fixed list of ints and can be referenced with the variable name cal_uart::DataSource.
Simulation data source used to allow the component to connect to various remote devices
Nothing - Simulation data is ignored
COM port - Routes the communication data to and from a physical or virtual COM port
Injector - Routes the communication data via a data injector component on the Panel.