Difference between revisions of "Bot test"

From Flowcode Help
Jump to navigationJump to search
Line 1: Line 1:
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
+
 
|-
+
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
+
{| width="50%"
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''StringRead'''
 
|-
 
| colspan="2" | Returns the ASCII value of character idx of the Response string.
 
|-
 
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="20%" style="color: gray;" | Author
| width="90%" | idx
+
| Matrix Ltd.
 
|-
 
|-
| colspan="2" | Needs to be a equal to or less than the string length of the response in order to retrieve a valid character.
+
| width="20%" style="color: gray;" | Version
 +
| 2.0 (Release)
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="20%" style="color: gray;" | Category
| width="90%" style="border-top: 2px solid #000;" | ''Return''
+
| Wireless
 
|}
 
|}
  
  
{| 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;" | '''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 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | idx
 
|-
 
| colspan="2" | Refers to the Script page to send (1-4). 
 
|-
 
| 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''
 
|}
 
  
 +
==[[File:Component Icon cff93310_545b_4948_a8fa_12b119c5f7a7.png|Image]] 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.
 +
 +
==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.
 +
{{Fcfile|BluetoothDiscover.fcfx|Bluetooth Discover}}
 +
Script 1 contains the AT commands to setup the Bluetooth device to be discoverable with pair key "1234".
 +
 +
[[File:DiscoverableScript.jpg]]
 +
 +
 +
===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.
 +
{{Fcfile|BluetoothInquire.fcfx|Bluetooth Inquiry}}
 +
===Connecting to a device===
 +
 +
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.
 +
 +
[[File:ConnectToMAC.jpg]]
 +
 +
==Downloadable macro reference==
 +
 +
===<span style="font-weight: normal;"><u><tt>StringRead</tt></u></span>===
 +
Returns the ASCII value of character idx of the Response string.
 +
 +
'''Parameters'''
 +
 +
:[[Variable Types|BYTE]] ''idx''
 +
::Needs to be a equal to or less than the string length of the response in order to retrieve a valid character.
 +
 +
 +
'''Return value'''
 +
 +
:[[Variable Types|BYTE]]
 +
 +
 +
===<span style="font-weight: normal;"><u><tt>SendScript</tt></u></span>===
 +
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
 +
 +
'''Parameters'''
 +
 +
:[[Variable Types|BYTE]] ''idx''
 +
::Refers to the Script page to send (1-4).
 +
 +
 +
'''Return value'''
 +
 +
:[[Variable Types|BYTE]]
 +
 +
 +
===<span style="font-weight: normal;"><u><tt>SendCommand</tt></u></span>===
 +
Sends the command buffer.
 +
 +
Returns 1 for success in sending the command.
 +
 +
Returns 0 for errors.
 +
 +
'''Parameters'''
 +
 +
:[[Variable Types|BYTE]] ''ExpectEcho''
 +
::Remote module automatically echos back data: 1 = On (Expect echo), 0 = off
 +
 +
:[[Variable Types|BYTE]] ''SendCR''
 +
::Automatically adds \n to the end of the command data: 1 = append CR, 0 = no CR.
 +
 +
 +
'''Return value'''
 +
 +
:[[Variable Types|BYTE]]
 +
 +
 +
===<span style="font-weight: normal;"><u><tt>CreateCommandString</tt></u></span>===
 +
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.
 +
 +
'''Parameters'''
 +
 +
:[[Variable Types|<- STRING]] ''Data''
 +
::''This parameter may be returned back to the caller''
 +
 +
 +
'''Return value'''
 +
 +
:[[Variable Types|BYTE]]
 +
 +
 +
===<span style="font-weight: normal;"><u><tt>StringReceive</tt></u></span>===
 +
Checks for a response string.
 +
 +
Returns the length of the response string if one is present otherwise returns 0.
 +
 +
'''Parameters'''
 +
 +
:''This macro has no parameters''
 +
 +
 +
'''Return value'''
 +
 +
:[[Variable Types|BYTE]]
 +
 +
 +
===<span style="font-weight: normal;"><u><tt>CreateCommand</tt></u></span>===
 +
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.
 +
 +
'''Parameters'''
 +
 +
:[[Variable Types|BYTE]] ''Character''
 +
::ASCII value or single character,
 +
 +
 +
'''Return value'''
 +
 +
:[[Variable Types|BYTE]]
 +
 +
 +
===<span style="font-weight: normal;"><u><tt>Send_byte</tt></u></span>===
 +
''<span style="color:red;">No additional information</span>''
 +
 +
 +
 +
'''Parameters'''
 +
 +
:[[Variable Types|BYTE]] ''ByteVal''
 +
 +
 +
'''Return value'''
 +
 +
:''This call does not return a value''
 +
 +
 +
===<span style="font-weight: normal;"><u><tt>WaitForResponse</tt></u></span>===
 +
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
 +
 +
'''Parameters'''
 +
 +
:[[Variable Types|BYTE]] ''response_code''
 +
::1:OK / 2:ERROR / 3:CONNECT / 4:NO CARRIER / 5:AUDIO / 6:PAIR / 7:RING
 +
 +
:[[Variable Types|BYTE]] ''timeout''
 +
::The timeout value will need to set to allow sufficient time for the response to arrive.
 +
 +
 +
'''Return value'''
 +
 +
:[[Variable Types|BYTE]]
 +
 +
 +
===<span style="font-weight: normal;"><u><tt>Initialise</tt></u></span>===
 +
Required to be used whenever the Bluetooth component is used in a program.
 +
 +
Initialises the Bluetooth component ready for use.
 +
 +
'''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==
 +
<span style="font-weight: normal;"><u>Command Buffer Size</u></span>
 +
 +
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''CommandBufferSize''.
 +
 +
Maximum number of bytes that can be stored in the outgoing command buffer.
 +
 +
<span style="font-weight: normal;"><u>Response Buffer Size</u></span>
 +
 +
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''ResponseBufferSize''.
 +
 +
Maximum number of bytes that can be stored in the incoming response buffer.
 +
 +
<span style="font-weight: normal;"><u>Script Count</u></span>
 +
 +
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''SCRIPTS''.
 +
 +
Controls how many AT scripts are stored into non-volatile memory
 +
 +
<span style="font-weight: normal;"><u>Script 1</u></span>
 +
 +
This property is of type ''Multiple lines of text'' and can be referenced with the variable name ''SCRIPT1''.
 +
 +
Data to send for script 0, each command should be terminated with a carriage return
 +
 +
<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''.
 +
 +
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.
 +
 +
<span style="font-weight: normal;"><u>TX</u></span>
 +
 +
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
 +
 +
<span style="font-weight: normal;"><u>RX</u></span>
 +
 +
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
 +
 +
<span style="font-weight: normal;"><u>Use Flow Control</u></span>
 +
 +
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::FLOWEN''.
 +
 +
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.
 +
 +
<span style="font-weight: normal;"><u>Baud Options</u></span>
 +
 +
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
 +
 +
<span style="font-weight: normal;"><u>Baud Rate</u></span>
 +
 +
This property is of type ''Signed integer'' and can be referenced with the variable name ''cal_uart::BAUD''.
 +
 +
''<span style="color:red;">No additional information</span>''
 +
 +
 +
 +
<span style="font-weight: normal;"><u>Console Columns</u></span>
 +
 +
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.
 +
 +
<span style="font-weight: normal;"><u>Console Data</u></span>
 +
 +
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
 +
 +
<span style="font-weight: normal;"><u>Scope Traces</u></span>
  
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
+
This property is of type ''True or false'' and can be referenced with the variable name ''cal_uart::ScopeTraces''.
|-
 
| 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.
 
|-
 
|-
 
| 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 
 
|-
 
| 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. 
 
|-
 
| 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''
 
|}
 
  
 +
Selects if the scope traces are automatically added to the data recorder window or not.
  
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
+
    Simulation - draws an approximation of the UART data onto the scope trace.
|-
 
| 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.
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 
| width="90%" | Data
 
|-
 
| colspan="2" | 
 
|-
 
| 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''
 
|}
 
  
 +
    ICT - sets up the scope trace for incoming data and adds UART packet decoding at the correct BAUD.
  
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
+
<span style="font-weight: normal;"><u>Data Source</u></span>
|-
 
| 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. 
 
|-
 
|-
 
| 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 property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::DataSource''.
  
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
+
Simulation data source used to allow the component to connect to various remote devices
|-
 
| 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.
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | Character
 
|-
 
| colspan="2" | ASCII value or single character, 
 
|-
 
| 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''
 
|}
 
  
 +
    Nothing - Simulation data is ignored
  
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
+
    COM port - Routes the communication data to and from a physical or virtual COM port
|-
 
| 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" | 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | ByteVal
 
|-
 
| colspan="2" | 
 
|-
 
| 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''
 
|}
 
  
 +
    Injector - Routes the communication data via a data injector component on the Panel.
  
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
+
<span style="font-weight: normal;"><u>Injector</u></span>
|-
 
| 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
 
|-
 
|-
 
| 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 
 
|-
 
| 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. 
 
|-
 
| 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 property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::Injector''.
  
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
+
Selects which injector component to route the communication data via.
|-
 
| 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.
 
|-
 
|-
 
| 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''
 
|}
 
  
 +
Add injector components to the panel before they will be available in this list.
  
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
+
Injector components are available from the Comms component category.
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 
| width="90%" | Command Buffer Size
 
|-
 
| colspan="2" | Maximum number of bytes that can be stored in the outgoing command buffer.
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 
| width="90%" | Response Buffer Size
 
|-
 
| colspan="2" | Maximum number of bytes that can be stored in the incoming response buffer.
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="90%" | Script Count
 
|-
 
| colspan="2" | Controls how many AT scripts are stored into non-volatile memory
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-11-icon.png]]
 
| width="90%" | Script 1
 
|-
 
| colspan="2" | Data to send for script 0, each command should be terminated with a carriage return
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-conn-icon.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Connections'''
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="90%" | Channel
 
|-
 
| 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.
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
 
| width="90%" | TX
 
|-
 
| colspan="2" | Pin to be used for Transmit data
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
 
| width="90%" | RX
 
|-
 
| colspan="2" | Pin to be used for Receive data
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="90%" | Use Flow Control
 
|-
 
| 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.
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="90%" | Baud Options
 
|-
 
| colspan="2" | Baud rate option selector
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 
| width="90%" | Baud Rate
 
|-
 
| colspan="2" | 
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-conn-icon.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Simulations'''
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 
| width="90%" | Console Columns
 
|-
 
| colspan="2" | Number of characters that can be displayed on a single line of the console.
 
|-
 
| 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
 
|-
 
| 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.
 
|-
 
| 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.
 
|-
 
| 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.  
 
|}
 

Revision as of 09:01, 19 August 2021


Author Matrix Ltd.
Version 2.0 (Release)
Category Wireless


Image 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.

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. FC6 Icon.png Bluetooth Discover Script 1 contains the AT commands to setup the Bluetooth device to be discoverable with pair key "1234".

DiscoverableScript.jpg


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. FC6 Icon.png Bluetooth Inquiry

Connecting to a device

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

ConnectToMAC.jpg

Downloadable macro reference

StringRead

Returns the ASCII value of character idx of the Response string.

Parameters

BYTE idx
Needs to be a equal to or less than the string length of the response in order to retrieve a valid character.


Return value

BYTE


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

Parameters

BYTE idx
Refers to the Script page to send (1-4).


Return value

BYTE


SendCommand

Sends the command buffer.

Returns 1 for success in sending the command.

Returns 0 for errors.

Parameters

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.


Return value

BYTE


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.

Parameters

<- STRING Data
This parameter may be returned back to the caller


Return value

BYTE


StringReceive

Checks for a response string.

Returns the length of the response string if one is present otherwise returns 0.

Parameters

This macro has no parameters


Return value

BYTE


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.

Parameters

BYTE Character
ASCII value or single character,


Return value

BYTE


Send_byte

No additional information


Parameters

BYTE ByteVal


Return value

This call does not return a value


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

Parameters

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.


Return value

BYTE


Initialise

Required to be used whenever the Bluetooth component is used in a program.

Initialises the Bluetooth component ready for use.

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

Command Buffer Size

This property is of type Unsigned integer and can be referenced with the variable name CommandBufferSize.

Maximum number of bytes that can be stored in the outgoing command buffer.

Response Buffer Size

This property is of type Unsigned integer and can be referenced with the variable name ResponseBufferSize.

Maximum number of bytes that can be stored in the incoming response buffer.

Script Count

This property is of type Fixed list of ints and can be referenced with the variable name SCRIPTS.

Controls how many AT scripts are stored into non-volatile memory

Script 1

This property is of type Multiple lines of text and can be referenced with the variable name SCRIPT1.

Data to send for script 0, each command should be terminated with a carriage return

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.

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

Use Flow Control

This property is of type Fixed list of ints and can be referenced with the variable name cal_uart::FLOWEN.

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

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


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.

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

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.

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.

Injector

This property is of type Fixed list of ints and can be referenced with the variable name cal_uart::Injector.

Selects which injector component to route the communication data via.

Add injector components to the panel before they will be available in this list.

Injector components are available from the Comms component category.