Difference between revisions of "Component: Bluetooth (BL0170) (E-blocks 2)"

From Flowcode Help
Jump to navigationJump to search
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
| 1.0 (Release)
+
| 1.3
 
|-
 
|-
| width="20%" style="color: gray;" | Category
+
| width="20%" style="color:gray;" | Category
 
| E-blocks 2
 
| E-blocks 2
 
|}
 
|}
  
  
 +
==Bluetooth component==
 +
Low level routines for controlling a Microchip RN4677 Bluetooth Module. Also available in the form of the BL0170 Bluetooth E-block. Uses an interrupt to receive characters from the UART and improve reliability, Must be used with a hardware UART channel.
 +
 +
==Component Source Code==
  
==[[File:Component Icon 5f9d5a58_6c01_4588_afa0_df4c01ce161a.png|Image]] Bluetooth (BL0170) component==
+
Please click here for the component source code: [https://www.flowcode.co.uk/wikicopy/componentsource/FC_Comp_Source_EBlocks2_Bluetooth_RN4677_BL0170.fcfx FC_Comp_Source_EBlocks2_Bluetooth_RN4677_BL0170.fcfx]
Low level routines for controlling a Microchip RN4677 Bluetooth Module.
 
Also available in the form of the BL0170 Bluetooth E-block.
 
Uses an interrupt to receive characters from the UART and improve reliability, Must be used with a hardware UART channel.
 
  
There are component macros in flowcode 8 that allow you to send to and receive information from the Bluetooth component in the form of a string or a single byte. The component needs to be initialised before it can send or receive information, with the ‘Initialise’ macro.
+
==Detailed description==
  
Make sure the Bluetooth component is connected to the right port in flowcode, corresponding to the port it’s connected to on your E-blocks 2 upstream board.
+
''No detailed description exists yet for this component''
  
 
==Examples==
 
==Examples==
 +
 +
 
''<span style="color:red;">No additional examples</span>''
 
''<span style="color:red;">No additional examples</span>''
  
Line 30: Line 31:
 
==Downloadable macro reference==
 
==Downloadable macro reference==
  
===<span style="font-weight: normal;"><u><tt>ReceiveByte</tt></u></span>===
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
Receives a single data byte from the Bluetooth module.
+
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReceiveByte'''
 +
|-
 +
| colspan="2" | Receives a single data byte from the Bluetooth module. 0-255 signifies valid data / 256 signifies no data available.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | Timeout
 +
|-
 +
| colspan="2" | Amount of time to wait in milliseconds 0=Wait forever&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
0xFF signifies no data available.
 
  
'''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;" | '''SendString'''
 +
|-
 +
| colspan="2" | Sends a string to the Bluetooth module.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 +
| width="90%" | Command
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | SendCR
 +
|-
 +
| 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''
 +
|}
  
:[[Variable Types|UINT]] ''Timeout''
 
::Amount of time to wait in milliseconds 0=Wait forever
 
  
 +
{| 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;" | '''LeaveCommandMode'''
 +
|-
 +
| colspan="2" | Leaves command mode allowing data to be passed back and forth,&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''
 +
|}
  
'''Return value'''
 
  
:[[Variable Types|BYTE]]
+
{| 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;" | '''ConnectToMAC'''
 +
|-
 +
| colspan="2" | Connects to a specific Bluetooth MAC address. Waits up to 5 seconds for connection to be established. Returns 1 if connection was successful.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 +
| width="90%" | MACAddress
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-bool-icon.png]] - BOOL
 +
| 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;" | '''SendCommand'''
 +
|-
 +
| colspan="2" | Sends a command string to the Bluetooth module. Returns: 0 = No Reply / 1 = Command sent ok&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 +
| width="90%" | Command
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | SendCR
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | DiscardReply
 +
|-
 +
| colspan="2" | 0=Do not touch the reply, 1=Wait for reply and remove from buffer&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]] ''Command''
+
{| 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;" | '''ReceiveCount'''
 +
|-
 +
| colspan="2" | Returns the number of bytes currently sat waiting in the receive buffer.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
:[[Variable Types|BYTE]] ''SendCR''
 
  
 +
{| 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;" | '''ReadString'''
 +
|-
 +
| colspan="2" | Copies the incoming data from the data string array to a local string variable. &nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | NumBytes
 +
|-
 +
| colspan="2" | Maximum number of bytes to try and read&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
'''Return value'''
 
  
:''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;" | '''SendByte'''
 +
|-
 +
| colspan="2" | Sends a single data byte out to the Bluetooth module.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Data
 +
|-
 +
| 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''
 +
|}
  
  
===<span style="font-weight: normal;"><u><tt>ReadString</tt></u></span>===
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
Copies the incoming data from the data string array to a local string variable.
+
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''EnterCommandMode'''
 +
|-
 +
| colspan="2" | Enters command mode allowing commands to be sent using the SendCommand macro. Returns: 0 = No Reply / 1 = Command Mode OK&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-bool-icon.png]] - BOOL
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
'''Parameters'''
 
  
:[[Variable Types|BYTE]] ''NumBytes''
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
::Maximum number of bytes to try and read
+
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WaitForStringValue'''
 +
|-
 +
| colspan="2" | Allows us to wait and check for an incoming value. Returns 1 if the string value is found otherwise returns 0.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 +
| width="90%" | Value
 +
|-
 +
| colspan="2" | String value to look for&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | Timeout
 +
|-
 +
| colspan="2" | Length of time to wait in milliseconds&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-bool-icon.png]] - BOOL
 +
| 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;" | '''GetMACAddress'''
 +
|-
 +
| colspan="2" | Gets the local Bluetooth device MAC address.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
:[[Variable Types|STRING]]
 
 
 
===<span style="font-weight: normal;"><u><tt>SendByte</tt></u></span>===
 
Sends a single data byte out to the Bluetooth module.
 
 
'''Parameters'''
 
 
:[[Variable Types|BYTE]] ''Data''
 
 
 
'''Return value'''
 
 
:''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;" | '''Initialise'''
 +
|-
 +
| colspan="2" | Sets up the Bluetooth module including:  - Enabling the UART  - Configuring the module (Name / Key / etc) Returns 1 for OK and 0 for no reply.&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>Initialise</tt></u></span>===
 
Sets up the Bluetooth module including:
 
  
- Enabling the UART
 
 
- Configuring the module (Name / Key / etc)
 
 
Returns 1 for OK and 0 for no reply.
 
 
'''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>Device Name</u></span>
 
  
This property is of type ''Line of text'' and can be referenced with the variable name ''DeviceName''.
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
+
|-
Sets the friendly name of the Bluetooth device.
+
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
 
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
<span style="font-weight: normal;"><u>Pair Key</u></span>
+
|-
 
+
|-
This property is of type ''Line of text'' and can be referenced with the variable name ''PairKey''.
+
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Bluetooth Settings
''<span style="color:red;">No additional information</span>''
+
|-
 
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-10-icon.png]]
 
+
| width="90%" | Device Name
<span style="font-weight: normal;"><u>Discoverable</u></span>
+
|-
 
+
| colspan="2" | Sets the friendly name of the Bluetooth device.&nbsp;
This property is of type ''True or false'' and can be referenced with the variable name ''InitDisc''.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-10-icon.png]]
Is the Bluetooth module discoverable by default?
+
| width="90%" | Pair Key
 
+
|-
<span style="font-weight: normal;"><u>Reply Timeout</u></span>
+
| colspan="2" | &nbsp;
 
+
|-
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''ReplyTimeout''.
+
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 
+
| width="90%" | Discoverable
Specifies the amount of time to wait for incoming data before timing out in milliseconds.
+
|-
 
+
| colspan="2" | Is the Bluetooth module discoverable by default?&nbsp;
Default 2000 = 2 seconds.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
<span style="font-weight: normal;"><u>RX Buffer Size</u></span>
+
| width="90%" | Reply Timeout
 
+
|-
This property is of type ''Signed integer'' and can be referenced with the variable name ''string_size''.
+
| colspan="2" | Specifies the amount of time to wait for incoming data before timing out in milliseconds. Default 2000 = 2 seconds.&nbsp;
 
+
|-
Amount of RAM memory to dedicate to receiving responses and incoming data from the BT module.
+
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 
+
| width="90%" | RX Buffer Size
Default 40
+
|-
 
+
| colspan="2" | Amount of RAM memory to dedicate to receiving responses and incoming data from the BT module. Default 40&nbsp;
<span style="font-weight: normal;"><u>Channel</u></span>
+
|-
 
+
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::CHANNEL''.
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Connections
 
+
|-
UART Channel selector
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
Software channels are bit banged using generic I/O pins but are not as reliable as hardware channels.
+
| width="90%" | Channel
 
+
|-
Hardware channels use the selected peripheral on-board the target microcontroller.
+
| 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;
 
+
|-
<span style="font-weight: normal;"><u>Baud Options</u></span>
+
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
+
| width="90%" | Baud Options
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::BAUD_LIST''.
+
|-
 
+
| colspan="2" | Baud rate option selector&nbsp;
Baud rate option selector
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
<span style="font-weight: normal;"><u>Baud Rate</u></span>
+
| width="90%" | Baud Rate
 
+
|-
This property is of type ''Signed integer'' and can be referenced with the variable name ''cal_uart::BAUD''.
+
| colspan="2" | &nbsp;
 
+
|-
''<span style="color:red;">No additional information</span>''
+
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
 
+
| width="90%" | TX
 
+
|-
 
+
| 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-16-icon.png]]
This property is of type ''Single digital pin'' and can be referenced with the variable name ''cal_uart::TX''.
+
| width="90%" | TX Remap Pin
 
+
|-
Pin to be used for Transmit data
+
| colspan="2" | Allows the hardware transmit pin to be configured from a list of available pins based on your target device,&nbsp;
 
+
|-
<span style="font-weight: normal;"><u>TX Remap Pin</u></span>
+
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
 
+
| width="90%" | RX
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::OutputPins''.
+
|-
 
+
| colspan="2" | Pin to be used for Receive data&nbsp;
Allows the hardware transmit pin to be configured from a list of available pins based on your target device,
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
<span style="font-weight: normal;"><u>RX</u></span>
+
| width="90%" | RX Remap Pin
 
+
|-
This property is of type ''Single digital pin'' and can be referenced with the variable name ''cal_uart::RX''.
+
| colspan="2" | Allows the hardware receive pin to be configured from a list of available pins based on your target device,&nbsp;
 
+
|-
Pin to be used for Receive data
+
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation
<span style="font-weight: normal;"><u>RX Remap Pin</u></span>
+
|-
 
+
|-
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::InputPins''.
+
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 
+
| width="90%" | Simulate Comms
Allows the hardware receive pin to be configured from a list of available pins based on your target device,
+
|-
 
+
| colspan="2" | &nbsp;
<span style="font-weight: normal;"><u>Use Flow Control</u></span>
+
|-
 
+
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::FLOWEN''.
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation
 
+
|-
Flow Control (Handshake) enable or disable.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
    On: Two I/O pins are used to control the flow of data in and out of the device.
+
| width="90%" | Scope Traces
 
+
|-
    Off: Flow control is disabled.
+
| 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;
 
+
|-
<span style="font-weight: normal;"><u>Reset Pin</u></span>
+
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 
+
| width="90%" | Console Data
This property is of type ''Single digital pin'' and can be referenced with the variable name ''Reset''.
+
|-
 
+
| colspan="2" | Selects if the console data is automatically generated or not&nbsp;
''<span style="color:red;">No additional information</span>''
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 
+
| width="90%" | Console Columns
 
+
|-
<span style="font-weight: normal;"><u>Label</u></span>
+
| colspan="2" | Number of characters that can be displayed on a single line of the console.&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]]
 
+
| width="90%" | Data Source
Textual label shown on the component I/O flasher
+
|-
 
+
| 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     Injector - Routes the communication data via a data injector component on the Panel.&nbsp;
<span style="font-weight: normal;"><u>Scope Traces</u></span>
+
|}
 
 
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.
 
 
 
<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.
 

Revision as of 14:40, 16 January 2023

Author Matrix Ltd.
Version 1.3
Category E-blocks 2


Bluetooth component

Low level routines for controlling a Microchip RN4677 Bluetooth Module. Also available in the form of the BL0170 Bluetooth E-block. Uses an interrupt to receive characters from the UART and improve reliability, Must be used with a hardware UART channel.

Component Source Code

Please click here for the component source code: FC_Comp_Source_EBlocks2_Bluetooth_RN4677_BL0170.fcfx

Detailed description

No detailed description exists yet for this component

Examples

No additional examples


Downloadable macro reference

Fc9-comp-macro.png ReceiveByte
Receives a single data byte from the Bluetooth module. 0-255 signifies valid data / 256 signifies no data available. 
Fc9-u16-icon.png - UINT Timeout
Amount of time to wait in milliseconds 0=Wait forever 
Fc9-u16-icon.png - UINT Return


Fc9-comp-macro.png SendString
Sends a string to the Bluetooth module. 
Fc9-string-icon.png - STRING Command
 
Fc9-u8-icon.png - BYTE SendCR
 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png LeaveCommandMode
Leaves command mode allowing data to be passed back and forth, 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png ConnectToMAC
Connects to a specific Bluetooth MAC address. Waits up to 5 seconds for connection to be established. Returns 1 if connection was successful. 
Fc9-string-icon.png - STRING MACAddress
 
Fc9-bool-icon.png - BOOL Return


Fc9-comp-macro.png SendCommand
Sends a command string to the Bluetooth module. Returns: 0 = No Reply / 1 = Command sent ok 
Fc9-string-icon.png - STRING Command
 
Fc9-u8-icon.png - BYTE SendCR
 
Fc9-u8-icon.png - BYTE DiscardReply
0=Do not touch the reply, 1=Wait for reply and remove from buffer 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png ReceiveCount
Returns the number of bytes currently sat waiting in the receive buffer. 
Fc9-u16-icon.png - UINT Return


Fc9-comp-macro.png ReadString
Copies the incoming data from the data string array to a local string variable.  
Fc9-u8-icon.png - BYTE NumBytes
Maximum number of bytes to try and read 
Fc9-string-icon.png - STRING Return


Fc9-comp-macro.png SendByte
Sends a single data byte out to the Bluetooth module. 
Fc9-u8-icon.png - BYTE Data
 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png EnterCommandMode
Enters command mode allowing commands to be sent using the SendCommand macro. Returns: 0 = No Reply / 1 = Command Mode OK 
Fc9-bool-icon.png - BOOL Return


Fc9-comp-macro.png WaitForStringValue
Allows us to wait and check for an incoming value. Returns 1 if the string value is found otherwise returns 0. 
Fc9-string-icon.png - STRING Value
String value to look for 
Fc9-u16-icon.png - UINT Timeout
Length of time to wait in milliseconds 
Fc9-bool-icon.png - BOOL Return


Fc9-comp-macro.png GetMACAddress
Gets the local Bluetooth device MAC address. 
Fc9-string-icon.png - STRING Return


Fc9-comp-macro.png Initialise
Sets up the Bluetooth module including: - Enabling the UART - Configuring the module (Name / Key / etc) Returns 1 for OK and 0 for no reply. 
Fc9-u8-icon.png - BYTE Return



Property reference

Fc9-prop-icon.png Properties
Fc9-conn-icon.png Bluetooth Settings
Fc9-type-10-icon.png Device Name
Sets the friendly name of the Bluetooth device. 
Fc9-type-10-icon.png Pair Key
 
Fc9-type-7-icon.png Discoverable
Is the Bluetooth module discoverable by default? 
Fc9-type-21-icon.png Reply Timeout
Specifies the amount of time to wait for incoming data before timing out in milliseconds. Default 2000 = 2 seconds. 
Fc9-type-14-icon.png RX Buffer Size
Amount of RAM memory to dedicate to receiving responses and incoming data from the BT module. Default 40 
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-16-icon.png Baud Options
Baud rate option selector 
Fc9-type-14-icon.png Baud Rate
 
Fc9-type-5-icon.png TX
Pin to be used for Transmit data 
Fc9-type-16-icon.png TX Remap Pin
Allows the hardware transmit pin to be configured from a list of available pins based on your target device, 
Fc9-type-5-icon.png RX
Pin to be used for Receive data 
Fc9-type-16-icon.png RX Remap Pin
Allows the hardware receive pin to be configured from a list of available pins based on your target device, 
Fc9-conn-icon.png Simulation
Fc9-type-7-icon.png Simulate Comms
 
Fc9-conn-icon.png Simulation
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-7-icon.png Console Data
Selects if the console data is automatically generated or not 
Fc9-type-21-icon.png Console Columns
Number of characters that can be displayed on a single line of the console. 
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 Injector - Routes the communication data via a data injector component on the Panel.