Jump to content

Component: Bluetooth v2 (EB024, Generic AT) (Wireless)

From Flowcode Help
Revision as of 14:36, 13 July 2026 by SteveT (talk | contribs) (Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder"")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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 download the component source project: FC_Comp_Source_Bluetooth_V2.fcfx

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

Initialise

Initialise
Sets up the Bluetooth module. Returns 0 for OK, 255 for no reply and 254 for command fail. 
- BYTE Return


ReadString

ReadString
Copies the incoming data from the data string array to a local string variable.  
- BYTE NumBytes
 
- STRING Return


ReceiveByte

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


RestoreFactorySettings

RestoreFactorySettings
Restores the factory settings to firmware using the AT&F* command. Returns 0 to indicate success 
- BYTE Return


SaveSettings

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

SendByte
Sends a single data byte out to the Bluetooth module. 
- BYTE Data
 
- VOID Return


SendCommand

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


SendScript

SendScript
Send an AT command script. Returns 0 for fail, 1 for success and 255 for unrecognised script idx. 
- BYTE idx
 
- BYTE Return


SendString

SendString
Sends a string to the Bluetooth module. 
- STRING Command
 
- BYTE SendCR
 
- VOID Return


SetMode

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


SetPairKey

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


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.