Author
|
Matrix Ltd.
|
Version
|
2.1
|
Category
|
Wireless
|
Bluetooth v2 (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. Uses an interrupt to receive characters from the UART and improve reliability, Must be used with a hardware channel.
Component Source Code
Please click here to view the component source code (Beta): FC_Comp_Source_Bluetooth_V2.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.
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.
Macro reference
|
SetPairKey
|
Sets the 4 digit Bluetooth pair key based on a string of numbers. e.g. "1234" Returns 0 to indicate success
|
- STRING
|
PairKey
|
Key to use as the Pair key, e.g. "1234" or "0000"
|
- BYTE
|
Return
|
|
ReceiveByte
|
Receives a single data byte from the Bluetooth module. 0xFF signifies no data available.
|
- BYTE
|
Timeout
|
Amount of time to wait in milliseconds 0=Wait forever
|
- BYTE
|
Return
|
|
SendString
|
Sends a string to the Bluetooth module.
|
- STRING
|
Command
|
|
- BYTE
|
SendCR
|
|
- VOID
|
Return
|
|
SendScript
|
Send an AT command script. Returns 0 for fail, 1 for success and 255 for unrecognised script idx.
|
- BYTE
|
idx
|
|
- BYTE
|
Return
|
|
SendCommand
|
Sends a command string to the Bluetooth module. 0 = Command sent ok, 255 = No Reply
|
- STRING
|
Command
|
|
- BYTE
|
SendCR
|
|
- BYTE
|
DiscardReply
|
0=Do not touch the reply, 1=Wait for reply and remove from buffer
|
- BYTE
|
Return
|
|
ReadString
|
Copies the incoming data from the data string array to a local string variable.
|
- BYTE
|
NumBytes
|
|
- STRING
|
Return
|
|
SaveSettings
|
Saves the current settings to firmware using the AT&W command followed by the ATZ command. Returns 0 to indicate success
|
- BYTE
|
Return
|
|
SendByte
|
Sends a single data byte out to the Bluetooth module.
|
- BYTE
|
Data
|
|
- VOID
|
Return
|
|
SetMode
|
Sets the bluetooth mode to be discoverable and or connectable. Returns 0 for success.
|
- BYTE
|
Discoverable
|
0 = Not Discoverable, 1 = Discoverable
|
- BYTE
|
Connectable
|
0 = Not Connectable, 1 = Connectable
|
- BYTE
|
Return
|
|
RestoreFactorySettings
|
Restores the factory settings to firmware using the AT&F* command. Returns 0 to indicate success
|
- BYTE
|
Return
|
|
Initialise
|
Sets up the Bluetooth module. Returns 0 for OK, 255 for no reply and 254 for command fail.
|
- BYTE
|
Return
|
Property reference
|
Properties
|
|
Bluetooth Settings
|
|
String Array Size
|
Amount of RAM memory to dedicate to receiving responses from the BT module. Default 40
|
|
Expect Echo
|
Sets if we expect an echo of any data we send out to the GSM modem. Most AT type modems (e.g. GSM modules) will automatically echo back incoming data.
|
|
Device Name
|
Sets the friendly name of the Bluetooth device.
|
|
Pair Key
|
|
|
Restore Defaults
|
Is the Bluetooth module reset to factory settings at startup?
|
|
Discoverable
|
Is the Bluetooth module discoverable by default?
|
|
Connectable
|
Is the Bluetooth module connectable by default?
|
|
Script Count
|
Maximum number of scripts to store in the device's ROM
|
|
Script1
|
ASCII based AT command data stored in ROM and used when sending script 1
|
|
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.
|
|
Baud Options
|
Baud rate option selector
|
|
Baud Rate
|
|
|
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.
|
|
Reset Pin
|
|
|
Simulation
|
|
Label
|
Textual label shown on the component I/O flasher
|
|
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.
|
|
Console Data
|
Selects if the console data is automatically generated or not
|
|
Console Columns
|
Number of characters that can be displayed on a single line of the console.
|
|
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 Injector - Routes the communication data via a data injector component on the Panel.
|
==Macro reference==
|
SetPairKey
|
Sets the 4 digit Bluetooth pair key based on a string of numbers. e.g. "1234" Returns 0 to indicate success
|
- STRING
|
PairKey
|
Key to use as the Pair key, e.g. "1234" or "0000"
|
- BYTE
|
Return
|
|
ReceiveByte
|
Receives a single data byte from the Bluetooth module. 0xFF signifies no data available.
|
- BYTE
|
Timeout
|
Amount of time to wait in milliseconds 0=Wait forever
|
- BYTE
|
Return
|
|
SendString
|
Sends a string to the Bluetooth module.
|
- STRING
|
Command
|
|
- BYTE
|
SendCR
|
|
- VOID
|
Return
|
|
SendScript
|
Send an AT command script. Returns 0 for fail, 1 for success and 255 for unrecognised script idx.
|
- BYTE
|
idx
|
|
- BYTE
|
Return
|
|
SendCommand
|
Sends a command string to the Bluetooth module. 0 = Command sent ok, 255 = No Reply
|
- STRING
|
Command
|
|
- BYTE
|
SendCR
|
|
- BYTE
|
DiscardReply
|
0=Do not touch the reply, 1=Wait for reply and remove from buffer
|
- BYTE
|
Return
|
|
ReadString
|
Copies the incoming data from the data string array to a local string variable.
|
- BYTE
|
NumBytes
|
|
- STRING
|
Return
|
|
SaveSettings
|
Saves the current settings to firmware using the AT&W command followed by the ATZ command. Returns 0 to indicate success
|
- BYTE
|
Return
|
|
SendByte
|
Sends a single data byte out to the Bluetooth module.
|
- BYTE
|
Data
|
|
- VOID
|
Return
|
|
SetMode
|
Sets the bluetooth mode to be discoverable and or connectable. Returns 0 for success.
|
- BYTE
|
Discoverable
|
0 = Not Discoverable, 1 = Discoverable
|
- BYTE
|
Connectable
|
0 = Not Connectable, 1 = Connectable
|
- BYTE
|
Return
|
|
RestoreFactorySettings
|
Restores the factory settings to firmware using the AT&F* command. Returns 0 to indicate success
|
- BYTE
|
Return
|
|
Initialise
|
Sets up the Bluetooth module. Returns 0 for OK, 255 for no reply and 254 for command fail.
|
- BYTE
|
Return
|
Property reference
|
Properties
|
|
Bluetooth Settings
|
|
String Array Size
|
Amount of RAM memory to dedicate to receiving responses from the BT module. Default 40
|
|
Expect Echo
|
Sets if we expect an echo of any data we send out to the GSM modem. Most AT type modems (e.g. GSM modules) will automatically echo back incoming data.
|
|
Device Name
|
Sets the friendly name of the Bluetooth device.
|
|
Pair Key
|
|
|
Restore Defaults
|
Is the Bluetooth module reset to factory settings at startup?
|
|
Discoverable
|
Is the Bluetooth module discoverable by default?
|
|
Connectable
|
Is the Bluetooth module connectable by default?
|
|
Script Count
|
Maximum number of scripts to store in the device's ROM
|
|
Script1
|
ASCII based AT command data stored in ROM and used when sending script 1
|
|
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.
|
|
Baud Options
|
Baud rate option selector
|
|
Baud Rate
|
|
|
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.
|
|
Reset Pin
|
|
|
Simulation
|
|
Label
|
Textual label shown on the component I/O flasher
|
|
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.
|
|
Console Data
|
Selects if the console data is automatically generated or not
|
|
Console Columns
|
Number of characters that can be displayed on a single line of the console.
|
|
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 Injector - Routes the communication data via a data injector component on the Panel.
|