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

From Flowcode Help
Jump to navigationJump to search
(XML import - 8.0 new components)
 
 
(11 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
| 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.
  
==[[File:Component Icon 5f9d5a58_6c01_4588_afa0_df4c01ce161a.png|Image]] Bluetooth (BL0170) component==
+
==Component Source Code==
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.
 
  
==Examples==
+
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_EBlocks2_Bluetooth_RN4677_BL0170.fcfx FC_Comp_Source_EBlocks2_Bluetooth_RN4677_BL0170.fcfx]
''<span style="color:red;">No additional examples</span>''
 
  
 +
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_EBlocks2_Bluetooth_RN4677_BL0170.fcfx FC_Comp_Source_EBlocks2_Bluetooth_RN4677_BL0170.fcfx]
  
==Downloadable macro reference==
+
==Detailed description==
  
===<span style="font-weight: normal;"><u><tt>ReceiveByte</tt></u></span>===
 
Receives a single data byte from the Bluetooth module.
 
  
0xFF signifies no data available.
 
  
'''Parameters'''
 
  
:[[Variable Types|UINT]] ''Timeout''
 
::Amount of time to wait in milliseconds 0=Wait forever
 
  
  
'''Return value'''
 
  
:[[Variable Types|BYTE]]
 
  
  
===<span style="font-weight: normal;"><u><tt>SendString</tt></u></span>===
 
Sends a string to the GSM module.
 
  
'''Parameters'''
 
  
:[[Variable Types|<- STRING]] ''Command''
+
''No detailed description exists yet for this component''
::''This parameter may be returned back to the caller''
 
  
:[[Variable Types|BYTE]] ''SendCR''
+
==Examples==
  
  
'''Return value'''
 
  
:''This call does not return a value''
 
  
  
===<span style="font-weight: normal;"><u><tt>ReadString</tt></u></span>===
 
Copies the incoming data from the data string array to a local string variable.
 
  
'''Parameters'''
 
  
:[[Variable Types|BYTE]] ''NumBytes''
 
::Maximum number of bytes to try and read
 
  
  
'''Return value'''
 
  
:[[Variable Types|STRING]]
 
  
  
===<span style="font-weight: normal;"><u><tt>SendByte</tt></u></span>===
+
''<span style="color:red;">No additional examples</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''
 
  
  
===<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''
+
==Macro reference==
  
 +
===ConnectToMAC===
 +
{| 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''
 +
|}
  
'''Return value'''
 
  
:[[Variable Types|BYTE]]
+
===EnterCommandMode===
 +
{| 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;" | '''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''
 +
|}
  
  
 +
===GetMACAddress===
 +
{| 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''
 +
|}
  
==Simulation macro reference==
 
  
''This component does not contain any simulation macros''
+
===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" | 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''
 +
|}
  
  
==Property reference==
+
===LeaveCommandMode===
<span style="font-weight: normal;"><u>Device Name</u></span>
+
{| 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''
 +
|}
  
This property is of type ''Line of text'' and can be referenced with the variable name ''DeviceName''.
 
  
Sets the friendly name of the Bluetooth device.
+
===ReadString===
 +
{| 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''
 +
|}
  
<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''.
+
===ReceiveByte===
 +
{| 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;" | '''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''
 +
|}
  
''<span style="color:red;">No additional information</span>''
 
  
 +
===ReceiveCount===
 +
{| 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;" | '''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''
 +
|}
  
  
<span style="font-weight: normal;"><u>Discoverable</u></span>
+
===SendByte===
 +
{| 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''
 +
|}
  
This property is of type ''True or false'' and can be referenced with the variable name ''InitDisc''.
 
  
Is the Bluetooth module discoverable by default?
+
===SendCommand===
 +
{| 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 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''
 +
|}
  
<span style="font-weight: normal;"><u>Reply Timeout</u></span>
 
  
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''ReplyTimeout''.
+
===SendString===
 +
{| 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''
 +
|}
  
Specifies the amount of time to wait for incoming data before timing out in milliseconds.
 
  
Default 2000 = 2 seconds.
+
===WaitForStringValue===
 +
{| 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;" | '''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''
 +
|}
  
<span style="font-weight: normal;"><u>RX Buffer Size</u></span>
 
  
This property is of type ''Signed integer'' and can be referenced with the variable name ''string_size''.
+
==Property reference==
  
Amount of RAM memory to dedicate to receiving responses and incoming data from the BT module.
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
+
|-
Default 40
+
| 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>Channel</u></span>
+
|-
 
+
|-
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::CHANNEL''.
+
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Bluetooth Settings
UART Channel selector
+
|-
 
+
|-
Software channels are bit banged using generic I/O pins but are not as reliable as hardware channels.
+
| width="10%" align="center" | [[File:Fc9-type-10-icon.png]]
 
+
| width="90%" | Device Name
Hardware channels use the selected peripheral on-board the target microcontroller.
+
|-
 
+
| colspan="2" | Sets the friendly name of the Bluetooth device.&nbsp;
<span style="font-weight: normal;"><u>Baud Options</u></span>
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-10-icon.png]]
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::BAUD_LIST''.
+
| width="90%" | Pair Key
 
+
|-
Baud rate option selector
+
| colspan="2" | &nbsp;
 
+
|-
<span style="font-weight: normal;"><u>Baud Rate</u></span>
+
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 
+
| width="90%" | Discoverable
This property is of type ''Signed integer'' and can be referenced with the variable name ''cal_uart::BAUD''.
+
|-
 
+
| colspan="2" | Is the Bluetooth module discoverable by default?&nbsp;
''<span style="color:red;">No additional information</span>''
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 
+
| width="90%" | Reply Timeout
 
+
|-
<span style="font-weight: normal;"><u>TX</u></span>
+
| colspan="2" | Specifies the amount of time to wait for incoming data before timing out in milliseconds. Default 2000 = 2 seconds.&nbsp;
 
+
|-
This property is of type ''Single digital pin'' and can be referenced with the variable name ''cal_uart::TX''.
+
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 
+
| width="90%" | RX Buffer Size
Pin to be used for Transmit data
+
|-
 
+
| 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>TX Remap Pin</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::OutputPins''.
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Connections
 
+
|-
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%" | Channel
 
+
|-
This property is of type ''Single digital pin'' and can be referenced with the variable name ''cal_uart::RX''.
+
| 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;
 
+
|-
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>RX Remap Pin</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::InputPins''.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
Allows the hardware receive pin to be configured from a list of available pins based on your target device,
+
| width="90%" | Baud Rate
 
+
|-
<span style="font-weight: normal;"><u>Use Flow Control</u></span>
+
| colspan="2" | &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-5-icon.png]]
 
+
| width="90%" | TX
Flow Control (Handshake) enable or disable.
+
|-
 
+
| colspan="2" | Pin to be used for Transmit data&nbsp;
    On: Two I/O pins are used to control the flow of data in and out of the device.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
    Off: Flow control is disabled.
+
| width="90%" | TX Remap Pin
 
+
|-
<span style="font-weight: normal;"><u>Reset Pin</u></span>
+
| colspan="2" | Allows the hardware transmit pin to be configured from a list of available pins based on your target device,&nbsp;
 
+
|-
This property is of type ''Single digital pin'' and can be referenced with the variable name ''Reset''.
+
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
 
+
| width="90%" | RX
''<span style="color:red;">No additional information</span>''
+
|-
 
+
| colspan="2" | Pin to be used for Receive data&nbsp;
 
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
<span style="font-weight: normal;"><u>Label</u></span>
+
| width="90%" | RX Remap Pin
 
+
|-
This property is of type ''Line of text'' and can be referenced with the variable name ''label''.
+
| colspan="2" | Allows the hardware receive pin to be configured from a list of available pins based on your target device,&nbsp;
 
+
|-
Textual label shown on the component I/O flasher
+
| 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>Scope Traces</u></span>
+
|-
 
+
|-
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-7-icon.png]]
 
+
| width="90%" | Simulate Comms
Selects if the scope traces are automatically added to the data recorder window or not.
+
|-
 
+
| colspan="2" | &nbsp;
     Simulation - draws an approximation of the UART data onto the scope trace.
+
|-
 
+
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
     ICT - sets up the scope trace for incoming data and adds UART packet decoding at the correct BAUD.
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation
 
+
|-
<span style="font-weight: normal;"><u>Console Data</u></span>
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
This property is of type ''True or false'' and can be referenced with the variable name ''cal_uart::ConsoleData''.
+
| width="90%" | Scope Traces
 
+
|-
Selects if the console data is automatically generated or not
+
| 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>Console Columns</u></span>
+
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 
+
| width="90%" | Console Data
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''cal_uart::ConsoleColumns''.
+
|-
 
+
| colspan="2" | Selects if the console data is automatically generated or not&nbsp;
Number of characters that can be displayed on a single line of the console.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
<span style="font-weight: normal;"><u>Data Source</u></span>
+
| width="90%" | Console Columns
 
+
|-
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::DataSource''.
+
| colspan="2" | Number of characters that can be displayed on a single line of the console.&nbsp;
 
+
|-
Simulation data source used to allow the component to connect to various remote devices
+
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
+
| width="90%" | Data Source
     Nothing - Simulation data is ignored
+
|-
 
+
| 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;
     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:09, 7 February 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 to download the component source project: FC_Comp_Source_EBlocks2_Bluetooth_RN4677_BL0170.fcfx

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

Detailed description

No detailed description exists yet for this component

Examples

No additional examples







Macro reference

ConnectToMAC

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


EnterCommandMode

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


GetMACAddress

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


Initialise

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


LeaveCommandMode

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


ReadString

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


ReceiveByte

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


ReceiveCount

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


SendByte

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


SendCommand

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


SendString

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


WaitForStringValue

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


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.