Difference between revisions of "Component: Bluetooth (EB024, Generic AT) (Wireless)"

From Flowcode Help
Jump to navigationJump to search
 
(30 intermediate revisions by 2 users not shown)
Line 14: Line 14:
 
==Bluetooth (EB024, Generic AT) component==
 
==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.
 
Low level routines for controlling a standard AT Bluetooth interface. Also available in the form of the EB024 Bluetooth E-block.
 +
 +
==Component Source Code==
 +
 +
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_Bluetooth.fcfx FC_Comp_Source_Bluetooth.fcfx]
 +
 +
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_Bluetooth.fcfx FC_Comp_Source_Bluetooth.fcfx]
  
 
==Detailed description==
 
==Detailed description==
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
  
  
Line 30: Line 84:
  
 
==Examples==
 
==Examples==
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
  
  
Line 75: Line 177:
 
[[File:ConnectToMAC.jpg]]
 
[[File:ConnectToMAC.jpg]]
  
==Downloadable macro reference==
 
  
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
==Macro reference==
 +
 +
===CreateCommand===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''StringRead'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CreateCommand'''
 
|-
 
|-
| colspan="2" | Returns the ASCII value of character idx of the Response string. 
+
| 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="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | idx
+
| width="90%" | Character
 
|-
 
|-
| colspan="2" | Needs to be a equal to or less than the string length of the response in order to retrieve a valid 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="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
Line 95: Line 208:
  
  
 +
===CreateCommandString===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SendScript'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CreateCommandString'''
 
|-
 
|-
| 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  
+
| 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-u8-icon.png]] - BYTE
+
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" | idx
+
| width="90%" | Data
 
|-
 
|-
| colspan="2" | Refers to the Script page to send (1-4). 
+
| colspan="2" |  
 
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
Line 113: Line 227:
  
  
 +
===Initialise===
 +
{| 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. 
 +
|-
 +
|-
 +
| 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''
 +
|}
 +
 +
 +
===SendCommand===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 136: Line 265:
  
  
 +
===SendScript===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CreateCommandString'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SendScript'''
 
|-
 
|-
| 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. 
+
| 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-string-icon.png]] - STRING
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Data
+
| width="90%" | idx
 
|-
 
|-
| colspan="2" |  
+
| 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="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
Line 154: Line 284:
  
  
 +
===Send_byte===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''StringReceive'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Send_byte'''
 +
|-
 +
| colspan="2" |  
 +
|-
 
|-
 
|-
| 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" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | ByteVal
 
|-
 
|-
 +
| colspan="2" |  
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
+
| 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''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
 +
===StringRead===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CreateCommand'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''StringRead'''
 
|-
 
|-
| 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. 
+
| colspan="2" | Returns the ASCII value of character idx of the Response string. 
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Character
+
| width="90%" | idx
 
|-
 
|-
| colspan="2" | ASCII value or single character, 
+
| 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="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
Line 185: Line 322:
  
  
 +
===StringReceive===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| 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'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''StringReceive'''
 
|-
 
|-
| colspan="2" |  
+
| 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" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[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''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
 +
===WaitForResponse===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 224: Line 358:
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| 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. 
 
|-
 
|-
 
| 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''
 
|}
 
 
 
  
  
Line 269: Line 388:
 
| colspan="2" | Data to send for script 0, each command should be terminated with a carriage return 
 
| 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="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Connections'''
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Connections
 
|-
 
|-
 
|-
 
|-
Line 303: Line 422:
 
| colspan="2" |  
 
| colspan="2" |  
 
|-
 
|-
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-conn-icon.png]]
+
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Simulations'''
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation
 
|-
 
|-
 
|-
 
|-

Latest revision as of 13:08, 7 February 2023

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.

Component Source Code

Please click here to download the component source project: FC_Comp_Source_Bluetooth.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_Bluetooth.fcfx

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

Error creating thumbnail: Unable to save thumbnail to destination


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.

Error creating thumbnail: Unable to save thumbnail to destination






Macro reference

CreateCommand

Error creating thumbnail: Unable to save thumbnail to destination
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. 
Error creating thumbnail: Unable to save thumbnail to destination
- BYTE
Character
ASCII value or single character, 
Error creating thumbnail: Unable to save thumbnail to destination
- BYTE
Return


CreateCommandString

Error creating thumbnail: Unable to save thumbnail to destination
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. 
Error creating thumbnail: Unable to save thumbnail to destination
- STRING
Data
 
Error creating thumbnail: Unable to save thumbnail to destination
- BYTE
Return


Initialise

Error creating thumbnail: Unable to save thumbnail to destination
Initialise
Required to be used whenever the Bluetooth component is used in a program. Initialises the Bluetooth component ready for use. 
Error creating thumbnail: Unable to save thumbnail to destination
- VOID
Return


SendCommand

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


SendScript

Error creating thumbnail: Unable to save thumbnail to destination
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  
Error creating thumbnail: Unable to save thumbnail to destination
- BYTE
idx
Refers to the Script page to send (1-4). 
Error creating thumbnail: Unable to save thumbnail to destination
- BYTE
Return


Send_byte

Error creating thumbnail: Unable to save thumbnail to destination
Send_byte
 
Error creating thumbnail: Unable to save thumbnail to destination
- BYTE
ByteVal
 
Error creating thumbnail: Unable to save thumbnail to destination
- VOID
Return


StringRead

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


StringReceive

Error creating thumbnail: Unable to save thumbnail to destination
StringReceive
Checks for a response string. Returns the length of the response string if one is present otherwise returns 0.  
Error creating thumbnail: Unable to save thumbnail to destination
- BYTE
Return


WaitForResponse

Error creating thumbnail: Unable to save thumbnail to destination
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 
Error creating thumbnail: Unable to save thumbnail to destination
- BYTE
response_code
1:OK / 2:ERROR / 3:CONNECT / 4:NO CARRIER / 5:AUDIO / 6:PAIR / 7:RING 
Error creating thumbnail: Unable to save thumbnail to destination
- BYTE
timeout
The timeout value will need to set to allow sufficient time for the response to arrive. 
Error creating thumbnail: Unable to save thumbnail to destination
- BYTE
Return


Property reference

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