Component: RF ISM (EB063, MRF49XA) (Wireless): Difference between revisions
Appearance
No edit summary |
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder"" |
||
| (20 intermediate revisions by 2 users not shown) | |||
| Line 14: | Line 14: | ||
==RF ISM (EB063, MRF49XA) component== | ==RF ISM (EB063, MRF49XA) component== | ||
A simple RF-ISM communications module based on the Microchip Alpha MRF49XA device. Also available in the form of the EB063 RF E-block. | A simple RF-ISM communications module based on the Microchip Alpha MRF49XA device. Also available in the form of the EB063 RF E-block. | ||
==Component Source Code== | |||
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_RF-ISM.fcfx FC_Comp_Source_RF-ISM.fcfx] | |||
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_RF-ISM.fcfx FC_Comp_Source_RF-ISM.fcfx] | |||
==Detailed description== | ==Detailed description== | ||
''No detailed description exists yet for this component'' | ''No detailed description exists yet for this component'' | ||
==Examples== | ==Examples== | ||
| Line 27: | Line 77: | ||
{{Fcfile|RF_Test.fcfx|RF Example}} | {{Fcfile|RF_Test.fcfx|RF Example}} | ||
{| class="wikitable | |||
==Macro reference== | |||
===ActivateRXMode=== | |||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ActivateRXMode''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Enables the receiver interface, allowing data to be received. The transmitter interface is automatically disabled. | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 111: | Line 103: | ||
{| class="wikitable | ===ActivateTXMode=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ActivateTXMode''' | ||
|- | |- | ||
| colspan="2" | Enables the transmitter interface, allowing data to be sent. The receiver interface is automatically disabled. | |||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 139: | Line 117: | ||
{| class="wikitable | ===CheckBuffer=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''CheckBuffer''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Checks for incoming data for a specific period of time. Returns a value greater then 250 to indicate a failure. Returns the length of the incoming data buffer to indicate success. | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Timeout | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Time to wait before returning no data available | ||
|- | |- | ||
| 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- | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
{| class="wikitable | ===FSKRead=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''FSKRead''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Reads the FSK (frequency shift key) data pin. | ||
|- | |- | ||
|- | |- | ||
| 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- | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
{| class="wikitable | ===FSKWrite=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''FSKWrite''' | ||
|- | |- | ||
| colspan="2" | Writes to the FSK (frequency shift key) data pin. | | colspan="2" | Writes to the FSK (frequency shift key) data pin. | ||
| Line 198: | Line 169: | ||
{| class="wikitable | ===GetBufferData=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetBufferData''' | ||
|- | |- | ||
| colspan="2" | Returns the | | colspan="2" | Returns a value from the incoming receive data buffer. | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Index | ||
|- | |- | ||
| colspan="2" | Specifies | | colspan="2" | Specifies which position in the buffer to read data from | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | 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'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
{| class="wikitable | ===GetDataCount=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetDataCount''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Returns the number of bytes in the received data buffer. | ||
|- | |- | ||
|- | |- | ||
| 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- | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
{| class="wikitable | ===Initialise=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Initialise''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Starts up and configures the RF module ready for use. The macro will return a value greater then 0 if the module has been started correctly, otherwise the macro will return a 0. | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | 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'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
{| class="wikitable | ===RXTune=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''RXTune''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Used to specify and adjust the RF receiver properties during runtime. | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Bandwidth | ||
|- | |- | ||
| colspan="2" | Specifies the | | colspan="2" | Specifies the Rx bandwidth - Range 1- 6 | ||
|- | |- | ||
| width="10%" align="center | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90% | | width="90%" | Gain | ||
|- | |- | ||
| | | colspan="2" | Specifies the Rx gain - Range 0 - 3 | ||
|- | |- | ||
| | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | Threshold | |||
|- | |- | ||
| colspan="2" | Specifies the Rx signal to noise threshold - Range 0 - 5 | |||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 291: | Line 245: | ||
===ReadRXSignalStrength=== | |||
{| class="mtx-class-macrotable wikitable" | |||
| | |||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="10%" align="center" | | width="90%" class="mtx-class-macrohead" | '''ReadRXSignalStrength''' | ||
| width="90%" | |||
|- | |- | ||
| colspan="2" | Returns the current received signal strength. | | colspan="2" | Returns the current received signal strength. | ||
| Line 317: | Line 259: | ||
{| class="wikitable | ===ReceiveByte=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ReceiveByte''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Puts the RF module in data mode and attempts to receive a single byte from the RF connection. Only packets containing a single data byte will be accepted. | ||
|- | |- | ||
|- | |- | ||
| Line 341: | Line 271: | ||
| width="90%" | Timeout | | width="90%" | Timeout | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Specifies how many milliseconds to wait for valid data before returning. | ||
|- | |- | ||
| 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 366: | Line 278: | ||
{| class="wikitable | ===ReceiveString=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ReceiveString''' | ||
|- | |- | ||
| colspan="2" | Puts the RF module in data mode and attempts to receive a string of bytes from the RF connection. | | colspan="2" | Puts the RF module in data mode and attempts to receive a string of bytes from the RF connection. | ||
| Line 389: | Line 302: | ||
{| class="wikitable | ===SendBuffer=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SendBuffer''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Sends the contents of the transmit buffer. | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90% | | width="90%" | Count | ||
|- | |- | ||
| colspan="2" | Specifies how many bytes to transfer from the transmit buffer | |||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 415: | Line 321: | ||
{| class="wikitable | ===SendByte=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SendByte''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Puts the RF module in data mode and transmits a packet containing a single data byte through the RF connection. A packet consists of Sync information, Data and Checksum. | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | width="90%" | Data | ||
|- | |- | ||
| colspan="2" | | |||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 441: | Line 340: | ||
{| class="wikitable | ===SendString=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SendString''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Puts the RF module in data mode and transmits a packet containing the data string through the RF connection. A packet consists of Sync information, Data and Checksum. | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING | ||
| width="90%" | | | width="90%" | Data | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 459: | Line 359: | ||
{| class="wikitable | ===SetBufferData=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetBufferData''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Allows a value to be loaded into the transmit buffer, | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Index | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | The current location in the transmit buffer starting from 0 | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Data | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | The data value to pass | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 487: | Line 383: | ||
{| class="wikitable | ===SetDataRate=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetDataRate''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Allows the RF data rate to be adjusted during runtime. | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Rate | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Specifies the new data rate | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 505: | Line 402: | ||
{| class="wikitable" | ===SetSyncPattern=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''SetSyncPattern''' | |||
|- | |- | ||
| | | colspan="2" | Allows the sync pattern to be modified during runtime to allow for switching between several different RF connections. | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| width="90%" | Mode | |||
|- | |||
| colspan="2" | Switches on or off the extended sync functionality | |||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Pattern | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | The bit pattern used for the standard sync mode | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | 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'' | ||
|} | |} | ||
{| class="wikitable | ===TXTune=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''TXTune''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Used to specify and adjust the RF transmitter properties during runtime. | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Deviation | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Specifies the transmit FSK frequency deviation - Range 0 - 15 | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Power | ||
|- | |- | ||
| colspan="2" | Range | | colspan="2" | Specifies the transmitter power - Range 0 - 7 | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 551: | Line 450: | ||
{| class="wikitable | ===Uninitialise=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Uninitialise''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Powers down the RF module. The module must be re-initialised before it can be used again. | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 569: | Line 464: | ||
{| class="wikitable | ===UpdateCenterFrequency=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''UpdateCenterFrequency''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Allows the RF center frequency to be adjusted during runtime to allow multiple RF channels to be scanned or multiplexed. | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
| width="90%" | | | width="90%" | Frequency | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Specifies the new center frequency value - Range 96 - 3903 | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 592: | Line 483: | ||
==Property reference== | |||
| | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]] | ||
| width="90%" class="mtx-class-macrohead" | '''Properties''' | |||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | | width="90%" class="mtx-class-propfolder" | Connections | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | ||
| width="90%" | Channel | | width="90%" | Channel | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | SPI Channel selector | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | ||
| width="90%" | | | width="90%" | MOSI | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | SPI Data Out Pin SDO - Also Known as Master Out Slave In (MOSI) when used in Master mode. | ||
|- | |- | ||
| width="10%" align="center | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | ||
| width="90% | | width="90%" | MISO | ||
|- | |- | ||
| | | colspan="2" | SPI Data In Pin SDI - Also Known as Master In Slave Out (MISO) when used in Master mode. | ||
|- | |- | ||
| | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | ||
| width="90%" | CLK | |||
|- | |- | ||
| colspan="2" | SPI Clock Pin CLK - The Clock signal is driven by the SPI master. | |||
|- | |- | ||
| width="10%" align="center | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | ||
| width="90% | | width="90%" | CS / SS | ||
|- | |- | ||
| | | colspan="2" | Chip Select / Slave Select Pin Master Mode: General purpose output pin used to select the remote SPI device. Slave Mode: Hardware chip select pin input used to select the SPI device. | ||
|- | |- | ||
| | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | ||
| width="90%" | FSEL Pin | |||
|- | |- | ||
| colspan="2" | RF Mode selection pin | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | RF Settings | ||
|- | |- | ||
|- | |- | ||
| Line 728: | Line 583: | ||
|- | |- | ||
| colspan="2" | Selects if an additional fixed sync byte is to be used. | | colspan="2" | Selects if an additional fixed sync byte is to be used. | ||
|- | |||
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | |||
| width="90%" class="mtx-class-propfolder" | Receiver Settings | |||
|- | |||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | ||
| Line 743: | Line 602: | ||
|- | |- | ||
| colspan="2" | The signal to noise threshold used to control the sensitivity | | colspan="2" | The signal to noise threshold used to control the sensitivity | ||
|- | |||
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | |||
| width="90%" class="mtx-class-propfolder" | Transmitter Settings | |||
|- | |||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | ||
| Line 754: | Line 617: | ||
| colspan="2" | The amount of power to use when transmitting | | colspan="2" | The amount of power to use when transmitting | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Simulation | ||
|- | |- | ||
|- | |- | ||
Latest revision as of 14:37, 13 July 2026
| Author | Matrix Ltd. |
| Version | 2.0 |
| Category | Wireless |
RF ISM (EB063, MRF49XA) component
A simple RF-ISM communications module based on the Microchip Alpha MRF49XA device. Also available in the form of the EB063 RF E-block.
Component Source Code
Please click here to download the component source project: FC_Comp_Source_RF-ISM.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_RF-ISM.fcfx
Detailed description
No detailed description exists yet for this component
Examples
The example attempts to send and receive data from a remote board. You will need two RF modules to allow the communications to work.
The example can be used to drive both ends of the RF communications as it will send out data but also print out any data received onto the LCD. Pins RA0 and RA1 can be used for diagnostics on the program.
RF Example
Macro reference
ActivateRXMode
| ActivateRXMode | |
| Enables the receiver interface, allowing data to be received. The transmitter interface is automatically disabled. | |
| Return | |
ActivateTXMode
| ActivateTXMode | |
| Enables the transmitter interface, allowing data to be sent. The receiver interface is automatically disabled. | |
| Return | |
CheckBuffer
FSKRead
| FSKRead | |
| Reads the FSK (frequency shift key) data pin. | |
| Return | |
FSKWrite
| FSKWrite | |
| Writes to the FSK (frequency shift key) data pin. | |
| State | |
| Return | |
GetBufferData
| GetBufferData | |
| Returns a value from the incoming receive data buffer. | |
| Index | |
| Specifies which position in the buffer to read data from | |
| Return | |
GetDataCount
| GetDataCount | |
| Returns the number of bytes in the received data buffer. | |
| Return | |
Initialise
RXTune
ReadRXSignalStrength
| ReadRXSignalStrength | |
| Returns the current received signal strength. | |
| Return | |
ReceiveByte
ReceiveString
SendBuffer
| SendBuffer | |
| Sends the contents of the transmit buffer. | |
| Count | |
| Specifies how many bytes to transfer from the transmit buffer | |
| Return | |
SendByte
SendString
SetBufferData
| SetBufferData | |
| Allows a value to be loaded into the transmit buffer, | |
| Index | |
| The current location in the transmit buffer starting from 0 | |
| Data | |
| The data value to pass | |
| Return | |
SetDataRate
| SetDataRate | |
| Allows the RF data rate to be adjusted during runtime. | |
| Rate | |
| Specifies the new data rate | |
| Return | |
SetSyncPattern
TXTune
Uninitialise
| Uninitialise | |
| Powers down the RF module. The module must be re-initialised before it can be used again. | |
| Return | |
UpdateCenterFrequency