Difference between revisions of "Bot test"

From Flowcode Help
Jump to navigationJump to search
 
(15 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
 
| Matrix Ltd.
 
| 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
 
| Wireless
 
| 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 0d02ccfd_4cda_42b8_91d8_5392f491f9af.png|Image]] GSM (EB066, Generic AT) component==
+
==Detailed description==
Low level routines for controlling a standard AT GSM / GPRS interface
+
 
Also available in the form of the EB066 GSM E-block.
+
''No detailed description exists yet for this component''
  
 
==Examples==
 
==Examples==
{{Fcfile|GSM_Test.fcfx|GSM Example}}
 
Example should show the following on the display on the panel and on the hardware.
 
  
[[File:GSMPan.jpg]]
 
  
 +
===Making a device discoverable===
  
The AT injector component allows us to simulate the response of the GSM module.
+
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:GSMInject.jpg]]
+
[[File:DiscoverableScript.jpg]]
  
==Downloadable macro reference==
 
  
===<span style="font-weight: normal;"><u><tt>DialNumber</tt></u></span>===
+
===Searching for a device===
Performs a standard voice call by dialling the number specified.
 
  
Returns 0 for call in progress and 255 for no response.
+
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===
  
'''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|<- STRING]] ''Number''
+
[[File:ConnectToMAC.jpg]]
::''This parameter may be returned back to the caller''
 
  
  
'''Return value'''
 
  
:[[Variable Types|BYTE]]
+
==Downloadable macro reference==
  
 +
{| 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>GetTextString</tt></u></span>===
 
Collects the text message data from an incoming text message.
 
  
'''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;" | '''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''
 +
|}
  
:[[Variable Types|BYTE]] ''NumBytes''
 
  
 +
{| 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'''
 
  
:[[Variable Types|STRING]]
+
{| 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''
 +
|}
  
  
===<span style="font-weight: normal;"><u><tt>SendString</tt></u></span>===
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
Sends a string to the GSM module.
+
|-
 +
| 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''
 +
|}
  
'''Parameters'''
 
  
:[[Variable Types|<- STRING]] ''Text''
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
::''This parameter may be returned back to the caller''
+
|-
 +
| 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''
 +
|}
  
  
'''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;" | '''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''
 +
|}
  
:''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''
 +
|}
  
===<span style="font-weight: normal;"><u><tt>SendScript</tt></u></span>===
 
Send an AT command script.
 
  
Returns 0 for fail, 1 for success and 255 for unrecognised script idx.
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
+
|-
'''Parameters'''
+
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
:[[Variable Types|BYTE]] ''idx''
+
|-
 
+
| colspan="2" | Required to be used whenever the Bluetooth component is used in a program. Initialises the Bluetooth component ready for use.&nbsp;
 
+
|-
'''Return value'''
+
|-
 
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
:[[Variable Types|BYTE]]
+
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
+
|}
 
 
===<span style="font-weight: normal;"><u><tt>AnswerIncomingCall</tt></u></span>===
 
Answers the phone for an incoming type call.
 
 
 
Returns 0 for success and 255 for failure.
 
 
 
'''Parameters'''
 
 
 
:''This macro has no parameters''
 
 
 
 
 
'''Return value'''
 
 
 
:[[Variable Types|BYTE]]
 
 
 
 
 
===<span style="font-weight: normal;"><u><tt>SendCommand</tt></u></span>===
 
Sends a command string to the GSM module.
 
 
 
0 = Command sent ok, 255 = No Reply
 
 
 
'''Parameters'''
 
 
 
:[[Variable Types|<- STRING]] ''Command''
 
::''This parameter may be returned back to the caller''
 
 
 
:[[Variable Types|BYTE]] ''SendCR''
 
 
 
 
 
'''Return value'''
 
 
 
:[[Variable Types|BYTE]]
 
 
 
 
 
===<span style="font-weight: normal;"><u><tt>GetTextNumber</tt></u></span>===
 
Collects the sender's phone number from an incoming text message.
 
 
 
'''Parameters'''
 
 
 
:[[Variable Types|BYTE]] ''NumBytes''
 
 
 
 
 
'''Return value'''
 
 
 
:[[Variable Types|STRING]]
 
 
 
 
 
===<span style="font-weight: normal;"><u><tt>HangUpCall</tt></u></span>===
 
Ends a voice based call.
 
 
 
Returns 0 for success and 255 for failure.
 
 
 
'''Parameters'''
 
 
 
:''This macro has no parameters''
 
 
 
 
 
'''Return value'''
 
 
 
:[[Variable Types|BYTE]]
 
 
 
 
 
===<span style="font-weight: normal;"><u><tt>ReadString</tt></u></span>===
 
Copies the data from the data string array to a local string variable
 
 
 
'''Parameters'''
 
 
 
:[[Variable Types|BYTE]] ''NumBytes''
 
 
 
 
 
'''Return value'''
 
 
 
:[[Variable Types|STRING]]
 
 
 
 
 
===<span style="font-weight: normal;"><u><tt>SendTextMessage</tt></u></span>===
 
Sends the text message data specified to the number specified using the SMS protocol.
 
 
 
Returns 0 for success and 255 for failure.
 
 
 
'''Parameters'''
 
 
 
:[[Variable Types|<- STRING]] ''Number''
 
::''This parameter may be returned back to the caller''
 
 
 
:[[Variable Types|<- STRING]] ''Message''
 
::''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>===
 
Attempts to receive a string from the GSM modem.
 
 
 
'''Parameters'''
 
 
 
:''This macro has no parameters''
 
 
 
 
 
'''Return value'''
 
 
 
:[[Variable Types|BYTE]]
 
  
  
===<span style="font-weight: normal;"><u><tt>DeleteAllMessages</tt></u></span>===
 
Removes all pending text messages from the GSM module.
 
 
Returns 0 for success and 255 for fail.
 
 
'''Parameters'''
 
 
:''This macro has no parameters''
 
 
 
'''Return value'''
 
 
:[[Variable Types|BYTE]]
 
 
 
===<span style="font-weight: normal;"><u><tt>CheckNetworkStatus</tt></u></span>===
 
Returns the state of the GSM network.
 
 
0 = Not connected, 1 = connected, 255 = no reply from GSM.
 
 
'''Parameters'''
 
 
:''This macro has no parameters''
 
 
 
'''Return value'''
 
 
:[[Variable Types|BYTE]]
 
 
 
===<span style="font-weight: normal;"><u><tt>CheckForIncoming</tt></u></span>===
 
Checks to see if any incoming phone call or SMS message.
 
 
0 = Nothing, 1 = Text Received, 2 = Phone Ringing
 
 
'''Parameters'''
 
 
:''This macro has no parameters''
 
 
 
'''Return value'''
 
 
:[[Variable Types|BYTE]]
 
 
 
===<span style="font-weight: normal;"><u><tt>Initialise</tt></u></span>===
 
Sets up the GSM module.
 
 
Returns 0 for OK, 255 for no reply and 254 for command fail.
 
 
'''Parameters'''
 
 
:''This macro has no parameters''
 
 
 
'''Return value'''
 
 
:[[Variable Types|BYTE]]
 
 
 
 
==Simulation macro reference==
 
 
''This component does not contain any simulation macros''
 
  
  
 
==Property reference==
 
==Property reference==
<span style="font-weight: normal;"><u>Expect Echo</u></span>
 
  
This property is of type ''True or false'' and can be referenced with the variable name ''expect_echo''.
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
+
|-
Sets if we expect an echo of any data we send out to the GSM modem.
+
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
 
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
Most AT type modems (e.g. GSM modules) will automatically echo back incoming data.
+
|-
 
+
|-
<span style="font-weight: normal;"><u>String Array Size</u></span>
+
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 
+
| width="90%" | Command Buffer Size
This property is of type ''Signed integer'' and can be referenced with the variable name ''string_size''.
+
|-
 
+
| colspan="2" | Maximum number of bytes that can be stored in the outgoing command buffer.&nbsp;
Amount of RAM memory to dedicate to receiving responces from the GSM
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
<span style="font-weight: normal;"><u>Message Array Size</u></span>
+
| width="90%" | Response Buffer Size
 
+
|-
This property is of type ''Signed integer'' and can be referenced with the variable name ''message_size''.
+
| colspan="2" | Maximum number of bytes that can be stored in the incoming response buffer.&nbsp;
 
+
|-
Amount of RAM memory to dedicate to storing the last SMS message received by the GSM.
+
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
+
| width="90%" | Script Count
<span style="font-weight: normal;"><u>Script Count</u></span>
+
|-
 
+
| colspan="2" | Controls how many AT scripts are stored into non-volatile memory&nbsp;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''script_count''.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-11-icon.png]]
Maximum number of scripts to store in the device's ROM
+
| width="90%" | Script 1
 
+
|-
<span style="font-weight: normal;"><u>Script1</u></span>
+
| colspan="2" | Data to send for script 0, each command should be terminated with a carriage return&nbsp;
 
+
|-
This property is of type ''Multiple lines of text'' and can be referenced with the variable name ''script1''.
+
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-conn-icon.png]]
 
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Connections'''  
ASCII based AT command data stored in ROM and used when sending script 1
+
|-
 
+
|-
<span style="font-weight: normal;"><u>Channel</u></span>
+
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
+
| width="90%" | Channel
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::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.&nbsp;
UART Channel selector
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
Software channels are bit banged using generic I/O pins but are not as reliable as hardware channels.
+
| width="90%" | TX
 
+
|-
Hardware channels use the selected peripheral on-board the target microcontroller.
+
| colspan="2" | Pin to be used for Transmit data&nbsp;
 
+
|-
<span style="font-weight: normal;"><u>TX</u></span>
+
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
 
+
| width="90%" | RX
This property is of type ''Single digital pin'' and can be referenced with the variable name ''cal_uart::TX''.
+
|-
 
+
| colspan="2" | Pin to be used for Receive data&nbsp;
Pin to be used for Transmit data
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
<span style="font-weight: normal;"><u>RX</u></span>
+
| width="90%" | Use Flow Control
 
+
|-
This property is of type ''Single digital pin'' and can be referenced with the variable name ''cal_uart::RX''.
+
| 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;
 
+
|-
Pin to be used for Receive data
+
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
+
| width="90%" | Baud Options
<span style="font-weight: normal;"><u>Use Flow Control</u></span>
+
|-
 
+
| colspan="2" | Baud rate option selector&nbsp;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::FLOWEN''.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
Flow Control (Handshake) enable or disable.
+
| width="90%" | Baud Rate
 
+
|-
     On: Two I/O pins are used to control the flow of data in and out of the device.
+
| colspan="2" | &nbsp;
 
+
|-
     Off: Flow control is disabled.
+
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-conn-icon.png]]
 
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Simulations'''  
<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''.
+
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 
+
| width="90%" | Console Columns
Baud rate option selector
+
|-
 
+
| colspan="2" | Number of characters that can be displayed on a single line of the console.&nbsp;
<span style="font-weight: normal;"><u>Baud Rate</u></span>
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
This property is of type ''Signed integer'' and can be referenced with the variable name ''cal_uart::BAUD''.
+
| width="90%" | Console Data
 
+
|-
''<span style="color:red;">No additional information</span>''
+
| 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
<span style="font-weight: normal;"><u>Label</u></span>
+
|-
 
+
| 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;
This property is of type ''Line of text'' and can be referenced with the variable name ''label''.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
Textual label shown on the component I/O flasher
+
| width="90%" | Data Source
 
+
|-
<span style="font-weight: normal;"><u>Scope Traces</u></span>
+
| 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;
 
+
|-
This property is of type ''True or false'' and can be referenced with the variable name ''cal_uart::ScopeTraces''.
+
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
+
| width="90%" | API
Selects if the scope traces are automatically added to the data recorder window or not.
+
|-
 
+
| 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;
     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.
 
 
 
<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>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>Data Source</u></span>
 
 
 
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.
 

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

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


Fc9-comp-macro.png 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  
Fc9-u8-icon.png - BYTE idx
Refers to the Script page to send (1-4). 
Fc9-u8-icon.png - BYTE Return


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


Fc9-comp-macro.png 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. 
Fc9-string-icon.png - STRING Data
 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png StringReceive
Checks for a response string. Returns the length of the response string if one is present otherwise returns 0.  
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png 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. 
Fc9-u8-icon.png - BYTE Character
ASCII value or single character, 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png Send_byte
 
Fc9-u8-icon.png - BYTE ByteVal
 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png 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 
Fc9-u8-icon.png - BYTE response_code
1:OK / 2:ERROR / 3:CONNECT / 4:NO CARRIER / 5:AUDIO / 6:PAIR / 7:RING 
Fc9-u8-icon.png - BYTE timeout
The timeout value will need to set to allow sufficient time for the response to arrive. 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png Initialise
Required to be used whenever the Bluetooth component is used in a program. Initialises the Bluetooth component ready for use. 
Fc9-void-icon.png - VOID Return



Property reference

Fc9-prop-icon.png Properties
Fc9-type-21-icon.png Command Buffer Size
Maximum number of bytes that can be stored in the outgoing command buffer. 
Fc9-type-21-icon.png Response Buffer Size
Maximum number of bytes that can be stored in the incoming response buffer. 
Fc9-type-16-icon.png Script Count
Controls how many AT scripts are stored into non-volatile memory 
Fc9-type-11-icon.png Script 1
Data to send for script 0, each command should be terminated with a carriage return 
Fc9-conn-icon.png Connections
Fc9-type-16-icon.png 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. 
Fc9-type-5-icon.png TX
Pin to be used for Transmit data 
Fc9-type-5-icon.png RX
Pin to be used for Receive data 
Fc9-type-16-icon.png 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. 
Fc9-type-16-icon.png Baud Options
Baud rate option selector 
Fc9-type-14-icon.png Baud Rate
 
Fc9-conn-icon.png Simulations
Fc9-type-21-icon.png Console Columns
Number of characters that can be displayed on a single line of the console. 
Fc9-type-7-icon.png Console Data
Selects if the console data is automatically generated or not 
Fc9-type-7-icon.png 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. 
Fc9-type-16-icon.png 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. 
Fc9-type-16-icon.png 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.