Jump to content

Bot test: Difference between revisions

From Flowcode Help
DavidA (talk | contribs)
No edit summary
No edit summary
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{| style="width:50%"
 
{| width="50%"
|-
|-
| width="20%" style="color: gray;" | Author
| width="20%" style="color:gray;" | Author
| MatrixTSL
| Matrix Ltd.
|-
|-
| width="20%" style="color: gray;" | Version
| width="20%" style="color:gray;" | Version
| 2.0 (Release)
| 2.0
|-
|-
| width="20%" style="color: gray;" | Category
| width="20%" style="color:gray;" | Category
| Comms: System
| Wireless
|}
|}




==Bluetooth (EB024, Generic AT) component==
Low level routines for controlling a standard AT Bluetooth interface. Also available in the form of the EB024 Bluetooth E-block.


==[[File:Component Icon b4e10f9e_4ea9_4fbc_a584_a4d7d4d8fba6.png|Image]] DMX_512 Master component==
==Detailed description==
A serial based communications protocol designed for controlling theatrical equipment such
 
as dimmers, fog machines and intelligent lights. DMX-512 Slave devices are daisy chained
''No detailed description exists yet for this component''
together with a final 180R terminating resistor at the end of the chail. DMX requires the signal
to be level shifted from VCC and GND to +2.5V and -2.5V.


==Examples==
==Examples==


DMX Master Example, reads the value of two ports using switch arrays to set the values and then transmits the data in a DMX packet.


{{Fcfile|DMX_Master_Example1.fcfx|DMX Master Example1}}
===Making a device discoverable===


Example program to set up the Bluetooth module to be discoverable with a pair key. Any data received is then output onto the LCD component. You can connect to the Bluetooth device using a PC with Bluetooth connection and using software such as Flowcode 6, RealTerm or HyperTerminal. Alternatively you can connect using a smart phone running a terminal emulator app or via another embedded Bluetooth board.
{{Fcfile|BluetoothDiscover.fcfx|Bluetooth Discover}}
Script 1 contains the AT commands to setup the Bluetooth device to be discoverable with pair key "1234".


DMX Slave Example, captures the first DMX data channel sent from the Master and outputs the value onto a Port using the LED array component.
[[File:DiscoverableScript.jpg]]


{{Fcfile|DMX_Slave_Example1.fcfx|DMX Slave Example1}}


==Downloadable macro reference==
===Searching for a device===


===<span style="font-weight: normal;"><u><tt>SetDataChannel</tt></u></span>===
Example program to scan for local discoverable Bluetooth devices. For each device found the MAC address is displayed on to the LCD.
Sets the data byte in a data channel
{{Fcfile|BluetoothInquire.fcfx|Bluetooth Inquiry}}
===Connecting to a device===


'''Parameters'''
Example program to connect to a specific Bluetooth device address and send data to the device.
{{Fcfile|BluetoothConnect.fcfx|Bluetooth Connect}}
The device MAC address is specified using the "CreateCommandString" and "SendCommand" macros.


:[[Variable Types|UINT]] ''Channel''
[[File:ConnectToMAC.jpg]]


:[[Variable Types|BYTE]] ''DataValue''




'''Return value'''
==Downloadable macro reference==


:''This call does not return a value''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''StringRead'''
|-
| colspan="2" | Returns the ASCII value of character idx of the Response string.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | idx
|-
| colspan="2" | Needs to be a equal to or less than the string length of the response in order to retrieve a valid character.&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}




===<span style="font-weight: normal;"><u><tt>SendDataChain</tt></u></span>===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
Transmits the BREAK, MAB and StartCode followed by the contents of the data channels.
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SendScript'''
|-
| colspan="2" | Sends Script idx  Note that the general property Number of Scripts needs to be set so that it allows the scripts to be accessed and sent.  Returns 0 for success and 1 for error &nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | idx
|-
| colspan="2" | Refers to the Script page to send (1-4).&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


'''Parameters'''


:[[Variable Types|BYTE]] ''StartCode''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SendCommand'''
|-
| colspan="2" | Sends the command buffer. Returns 1 for success in sending the command. Returns 0 for errors.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | ExpectEcho
|-
| colspan="2" | Remote module automatically echos back data: 1 = On (Expect echo), 0 = off&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | SendCR
|-
| colspan="2" | Automatically adds \n to the end of the command data: 1 = append CR, 0 = no CR.&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}




'''Return value'''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CreateCommandString'''
|-
| colspan="2" | Assigns a string of characters to the Command buffer. Returns 1 for success in adding the characters to the buffer. Returns 0 for errors, including Buffer overflow.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" | Data
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


:''This call does not return a value''


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''StringReceive'''
|-
| colspan="2" | Checks for a response string. Returns the length of the response string if one is present otherwise returns 0. &nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


===<span style="font-weight: normal;"><u><tt>Initialise</tt></u></span>===
Configures the UART serial interface.


'''Parameters'''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CreateCommand'''
|-
| colspan="2" | Adds a single characters to the end of the Command buffer. Returns 1 for success in adding the characters to the buffer. Returns 0 for errors, including Buffer overflow.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Character
|-
| colspan="2" | ASCII value or single character,&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


:''This macro has no parameters''


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Send_byte'''
|-
| colspan="2" | &nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | ByteVal
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


'''Return value'''


:''This call does not return a value''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WaitForResponse'''
|-
| colspan="2" | Waits for a response message of type response_code for timeout ms. Returns: 0 for a Response of type response_code 255 (0xFF) for a timeout or invalid response Response string length for any Response not of type response_code&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | response_code
|-
| colspan="2" | 1:OK / 2:ERROR / 3:CONNECT / 4:NO CARRIER / 5:AUDIO / 6:PAIR / 7:RING&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | timeout
|-
| colspan="2" | The timeout value will need to set to allow sufficient time for the response to arrive.&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
|-
| colspan="2" | Required to be used whenever the Bluetooth component is used in a program. Initialises the Bluetooth component ready for use.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


==Simulation macro reference==


''This component does not contain any simulation macros''




==Property reference==
==Property reference==
<span style="font-weight: normal;"><u>Channel</u></span>


This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::CHANNEL''.
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
UART Channel selector
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
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.
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 
| width="90%" | Command Buffer Size
<span style="font-weight: normal;"><u>Baud Options</u></span>
|-
 
| colspan="2" | Maximum number of bytes that can be stored in the outgoing command buffer.&nbsp;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::BAUD_LIST''.
|-
 
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
Baud rate option selector
| width="90%" | Response Buffer Size
 
|-
<span style="font-weight: normal;"><u>Baud Rate</u></span>
| colspan="2" | Maximum number of bytes that can be stored in the incoming response buffer.&nbsp;
 
|-
This property is of type ''Signed integer'' and can be referenced with the variable name ''cal_uart::BAUD''.
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="90%" | Script Count
''<span style="color:red;">No additional information</span>''
|-
 
| colspan="2" | Controls how many AT scripts are stored into non-volatile memory&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-11-icon.png]]
<span style="font-weight: normal;"><u>TX</u></span>
| width="90%" | Script 1
 
|-
This property is of type ''Single digital pin'' and can be referenced with the variable name ''cal_uart::TX''.
| colspan="2" | Data to send for script 0, each command should be terminated with a carriage return&nbsp;
 
|-
Pin to be used for Transmit data
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-conn-icon.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Connections'''  
<span style="font-weight: normal;"><u>Data Channels</u></span>
|-
 
|-
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''DataChannels''.
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="90%" | Channel
Number of data bytes used by the DMX chain, Max 512 bytes per transmission.
|-
 
| colspan="2" | 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.&nbsp;
24 Bytes minimum to match minimum 1204us timing requirements, not all channels need to be used.
|-
 
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
<span style="font-weight: normal;"><u>Scope Traces</u></span>
| width="90%" | TX
 
|-
This property is of type ''True or false'' and can be referenced with the variable name ''cal_uart::ScopeTraces''.
| colspan="2" | Pin to be used for Transmit data&nbsp;
 
|-
Selects if the scope traces are automatically added to the data recorder window or not.
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
 
| width="90%" | RX
     Simulation - draws an approximation of the UART data onto the scope trace.
|-
 
| colspan="2" | Pin to be used for Receive data&nbsp;
     ICT - sets up the scope trace for incoming data and adds UART packet decoding at the correct BAUD.
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
<span style="font-weight: normal;"><u>Console Data</u></span>
| width="90%" | Use Flow Control
 
|-
This property is of type ''True or false'' and can be referenced with the variable name ''cal_uart::ConsoleData''.
| colspan="2" | Flow Control (Handshake) enable or disable.    On: Two I/O pins are used to control the flow of data in and out of the device.    Off: Flow control is disabled.&nbsp;
 
|-
Selects if the console data is automatically generated or not
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="90%" | Baud Options
<span style="font-weight: normal;"><u>Console Columns</u></span>
|-
 
| colspan="2" | Baud rate option selector&nbsp;
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''cal_uart::ConsoleColumns''.
|-
 
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
Number of characters that can be displayed on a single line of the console.
| width="90%" | Baud Rate
 
|-
<span style="font-weight: normal;"><u>Data Source</u></span>
| colspan="2" | &nbsp;
 
|-
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::DataSource''.
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-conn-icon.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Simulations'''  
Simulation data source used to allow the component to connect to various remote devices
|-
 
|-
     Nothing - Simulation data is ignored
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 
| width="90%" | Console Columns
     COM port - Routes the communication data to and from a physical or virtual COM port  
|-
 
| colspan="2" | Number of characters that can be displayed on a single line of the console.&nbsp;
    Injector - Routes the communication data via a data injector component on the Panel.
|-
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| width="90%" | Console Data
|-
| colspan="2" | Selects if the console data is automatically generated or not&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| width="90%" | Scope Traces
|-
| colspan="2" | 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.&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Data Source
|-
| colspan="2" | 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     API - Routes the communication data via a data API component on the Panel.&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | API
|-
| colspan="2" | Selects whichAPI component to route the communication data via. Add API components to the panel before they will be available in this list. API components are available from the Comms component category.&nbsp;
|}

Latest revision as of 13:33, 31 August 2021

Author Matrix Ltd.
Version 2.0
Category Wireless


Bluetooth (EB024, Generic AT) component

Low level routines for controlling a standard AT Bluetooth interface. Also available in the form of the EB024 Bluetooth E-block.

Detailed description

No detailed description exists yet for this component

Examples

Making a device discoverable

Example program to set up the Bluetooth module to be discoverable with a pair key. Any data received is then output onto the LCD component. You can connect to the Bluetooth device using a PC with Bluetooth connection and using software such as Flowcode 6, RealTerm or HyperTerminal. Alternatively you can connect using a smart phone running a terminal emulator app or via another embedded Bluetooth board. Bluetooth Discover Script 1 contains the AT commands to setup the Bluetooth device to be discoverable with pair key "1234".


Searching for a device

Example program to scan for local discoverable Bluetooth devices. For each device found the MAC address is displayed on to the LCD. Bluetooth Inquiry

Connecting to a device

Example program to connect to a specific Bluetooth device address and send data to the device. Bluetooth Connect The device MAC address is specified using the "CreateCommandString" and "SendCommand" macros.


Downloadable macro reference

StringRead
Returns the ASCII value of character idx of the Response string. 
- BYTE idx
Needs to be a equal to or less than the string length of the response in order to retrieve a valid character. 
- BYTE Return


SendScript
Sends Script idx Note that the general property Number of Scripts needs to be set so that it allows the scripts to be accessed and sent. Returns 0 for success and 1 for error  
- BYTE idx
Refers to the Script page to send (1-4). 
- BYTE Return


SendCommand
Sends the command buffer. Returns 1 for success in sending the command. Returns 0 for errors. 
- BYTE ExpectEcho
Remote module automatically echos back data: 1 = On (Expect echo), 0 = off 
- BYTE SendCR
Automatically adds \n to the end of the command data: 1 = append CR, 0 = no CR. 
- BYTE Return


CreateCommandString
Assigns a string of characters to the Command buffer. Returns 1 for success in adding the characters to the buffer. Returns 0 for errors, including Buffer overflow. 
- STRING Data
 
- BYTE Return


StringReceive
Checks for a response string. Returns the length of the response string if one is present otherwise returns 0.  
- BYTE Return


CreateCommand
Adds a single characters to the end of the Command buffer. Returns 1 for success in adding the characters to the buffer. Returns 0 for errors, including Buffer overflow. 
- BYTE Character
ASCII value or single character, 
- BYTE Return


Send_byte
 
- BYTE ByteVal
 
- VOID Return


WaitForResponse
Waits for a response message of type response_code for timeout ms. Returns: 0 for a Response of type response_code 255 (0xFF) for a timeout or invalid response Response string length for any Response not of type response_code 
- BYTE response_code
1:OK / 2:ERROR / 3:CONNECT / 4:NO CARRIER / 5:AUDIO / 6:PAIR / 7:RING 
- BYTE timeout
The timeout value will need to set to allow sufficient time for the response to arrive. 
- BYTE Return


Initialise
Required to be used whenever the Bluetooth component is used in a program. Initialises the Bluetooth component ready for use. 
- VOID Return



Property reference

Properties
Command Buffer Size
Maximum number of bytes that can be stored in the outgoing command buffer. 
Response Buffer Size
Maximum number of bytes that can be stored in the incoming response buffer. 
Script Count
Controls how many AT scripts are stored into non-volatile memory 
Script 1
Data to send for script 0, each command should be terminated with a carriage return 
Connections
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. 
TX
Pin to be used for Transmit data 
RX
Pin to be used for Receive data 
Use Flow Control
Flow Control (Handshake) enable or disable. On: Two I/O pins are used to control the flow of data in and out of the device. Off: Flow control is disabled. 
Baud Options
Baud rate option selector 
Baud Rate
 
Simulations
Console Columns
Number of characters that can be displayed on a single line of the console. 
Console Data
Selects if the console data is automatically generated or not 
Scope Traces
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. 
Data Source
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 API - Routes the communication data via a data API component on the Panel. 
API
Selects whichAPI component to route the communication data via. Add API components to the panel before they will be available in this list. API components are available from the Comms component category.