Component: RFID (EB052, RWD-MICODE) (Wireless): Difference between revisions
No edit summary |
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder"" |
||
| (12 intermediate revisions by 2 users not shown) | |||
| Line 16: | Line 16: | ||
==Component Source Code== | ==Component Source Code== | ||
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_RFID.fcfx FC_Comp_Source_RFID.fcfx] | |||
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_RFID.fcfx FC_Comp_Source_RFID.fcfx] | Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_RFID.fcfx FC_Comp_Source_RFID.fcfx] | ||
==Detailed description== | ==Detailed description== | ||
| Line 40: | Line 48: | ||
==Examples== | ==Examples== | ||
| Line 92: | Line 106: | ||
[[File:RFID_macr.jpg]] | [[File:RFID_macr.jpg]] | ||
{| class="wikitable | |||
==Macro reference== | |||
===DecrementRFIDValue=== | |||
{| 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" | '''DecrementRFIDValue''' | ||
|- | |- | ||
| colspan="2" | Perfoms a 32-bit decrement on the number held in location page or block. | | colspan="2" | Perfoms a 32-bit decrement on the number held in location page or block. | ||
| Line 181: | Line 147: | ||
{| class="wikitable | ===FormatRFIDValue=== | ||
{| 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" | '''FormatRFIDValue''' | ||
|- | |- | ||
| colspan="2" | Initialises the internal buffer of the Microcontroller so that it is ready to perform a Increment, Decrement or Transfer command. | | colspan="2" | Initialises the internal buffer of the Microcontroller so that it is ready to perform a Increment, Decrement or Transfer command. | ||
| Line 194: | Line 161: | ||
{| class="wikitable | ===GetRFIDStatus=== | ||
{| 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" | '''GetRFIDStatus''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Collect the status of the RFID device (see help for the explaination of the status byte). | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT | |||
| 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 | ===GetRFIDTypeID=== | ||
{| 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" | '''GetRFIDTypeID''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Collects the 3 bytes required to determine which kind of MIFARE device is present. Stores the result into the local buffer 0 - 2 and returns the response of the module. | ||
|- | |- | ||
|- | |- | ||
| 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 270: | Line 189: | ||
{| class="wikitable | ===GetRFIDUID=== | ||
{| 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" | '''GetRFIDUID''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Collects the UID from a RFID device. Stores the result into the UID buffer and returns the response of the module. | ||
|- | |- | ||
|- | |- | ||
| 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 324: | Line 203: | ||
{| class="wikitable | ===IncrementRFIDValue=== | ||
{| 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" | '''IncrementRFIDValue''' | ||
|- | |- | ||
| colspan="2" | Perfoms a 32-bit | | colspan="2" | Perfoms a 32-bit increment on the number held in location page or block. | ||
|- | |- | ||
|- | |- | ||
| Line 352: | Line 232: | ||
{| 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" | Configures the RFID device by presetting the Osc type and Mode via the Flowcode component properties. | |||
|- | |- | ||
|- | |- | ||
| 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 383: | Line 246: | ||
{| class="wikitable | ===ReadRFIDBlock=== | ||
{| 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" | '''ReadRFIDBlock''' | ||
|- | |- | ||
| colspan="2" | Reads a block of information from the RFID device. | | colspan="2" | Reads a block of information from the RFID device. | ||
| Line 406: | Line 270: | ||
{| class="wikitable | ===ReadRFIDBuffer=== | ||
{| 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" | '''ReadRFIDBuffer''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Reads a byte of data from the incoming buffer. | ||
|- | |- | ||
|- | |- | ||
| Line 522: | Line 282: | ||
| width="90%" | Address | | width="90%" | Address | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | The address of the buffer 0 - 15 | ||
|- | |- | ||
| 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 534: | Line 289: | ||
{| class="wikitable | ===ReadRFIDUID=== | ||
{| 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" | '''ReadRFIDUID''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Reads a byte of data from the UID buffer. | ||
|- | |- | ||
|- | |- | ||
| Line 545: | Line 301: | ||
| width="90%" | Address | | width="90%" | Address | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | The address of the buffer 0 - 7 | ||
|- | |- | ||
| 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 626: | Line 308: | ||
{| class="wikitable | ===StoreRFIDKey=== | ||
{| 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" | '''StoreRFIDKey''' | ||
|- | |- | ||
| colspan="2" | Stores a 6 byte key for use with MIFARE type devices that require authorisation. | | colspan="2" | Stores a 6 byte key for use with MIFARE type devices that require authorisation. | ||
| Line 674: | Line 357: | ||
{| class="wikitable | ===TransferRFIDValue=== | ||
{| 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" | '''TransferRFIDValue''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Perfoms a 32-bit block data transfer on the number held in location page or block. | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Src | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Page / Block | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Dst | ||
|- | |- | ||
| colspan="2" | Page / Block | |||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Key_Type | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Needed for MIFARE Commands | ||
|- | |- | ||
| 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 728: | Line 386: | ||
{| class="wikitable | ===WriteRFIDBlock=== | ||
{| 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" | '''WriteRFIDBlock''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Writes a block of information to the RFID device. | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Address | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Remote RFID Block Address. | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | Key_Type | | width="90%" | Key_Type | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| 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 756: | Line 410: | ||
{| class="wikitable | ===WriteRFIDBuffer=== | ||
{| 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" | '''WriteRFIDBuffer''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Writes a byte of data to the outgoing buffer. | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | width="90%" | Address | ||
|- | |- | ||
| colspan="2" | The address of the buffer 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%" | Data | ||
|- | |- | ||
| colspan="2" | The | | colspan="2" | The data to be stored in the buffer location 0 - 255. | ||
|- | |- | ||
| 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 | ===WriteRFIDModule=== | ||
{| 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" | '''WriteRFIDModule''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Stores a byte of data to the internal EEPROM of the RFID module at the address specified. | ||
|- | |- | ||
|- | |- | ||
| Line 801: | Line 449: | ||
|- | |- | ||
| 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" | | ||
| Line 808: | Line 456: | ||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
==Property reference== | ==Property reference== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Properties''' | ||
|- | |- | ||
|- | |- | ||
| Line 838: | Line 471: | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| 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" | Connections | ||
|- | |- | ||
|- | |- | ||
| Line 872: | Line 505: | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| 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 |
RFID (EB052, RWD-MICODE) component
Low level routines for controlling a RF Solutions RFID interface Allows communications between Mifare, ICode and HiTag type RFID tags. Also available in the form of the EB052 RFID E-block.
Component Source Code
Please click here to download the component source project: FC_Comp_Source_RFID.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_RFID.fcfx
Detailed description
No detailed description exists yet for this component
Examples
Reading the status
The status of the RFID module is read using the "GetRFIDStatus" macro which returns a byte which is then displayed using the PORTB pins.
RFID Status
Status byte breakdown for Mifare.
Status byte breakdown for ICode.
Status byte breakdown for HiTag.
Status byte breakdown for EM Marin.
Reading and Writing Data
Example which talks to a ICode type card and allows the data to be read and written via a keypad.
RFID Read/Write
Macro compatibility
Not all the macros can be used with all card types, here is a list of RFID transponder types and the macros that are compatible.
Macro reference
DecrementRFIDValue
| DecrementRFIDValue | |
| Perfoms a 32-bit decrement on the number held in location page or block. | |
| Src | |
| Page / Block | |
| Dst | |
| Page / Block | |
| Key_Type | |
| Needed for MIFARE Commands | |
| Return | |
FormatRFIDValue
| FormatRFIDValue | |
| Initialises the internal buffer of the Microcontroller so that it is ready to perform a Increment, Decrement or Transfer command. | |
| Return | |
GetRFIDStatus
| GetRFIDStatus | |
| Collect the status of the RFID device (see help for the explaination of the status byte). | |
| Return | |
GetRFIDTypeID
| GetRFIDTypeID | |
| Collects the 3 bytes required to determine which kind of MIFARE device is present. Stores the result into the local buffer 0 - 2 and returns the response of the module. | |
| Return | |
GetRFIDUID
| GetRFIDUID | |
| Collects the UID from a RFID device. Stores the result into the UID buffer and returns the response of the module. | |
| Return | |
IncrementRFIDValue
| IncrementRFIDValue | |
| Perfoms a 32-bit increment on the number held in location page or block. | |
| Src | |
| Page / Block | |
| Dst | |
| Page / Block | |
| Key_Type | |
| Needed for MIFARE Commands | |
| Return | |
Initialise
| Initialise | |
| Configures the RFID device by presetting the Osc type and Mode via the Flowcode component properties. | |
| Return | |
ReadRFIDBlock
| ReadRFIDBlock | |
| Reads a block of information from the RFID device. | |
| Address | |
| Key_Type | |
| Return | |
ReadRFIDBuffer
| ReadRFIDBuffer | |
| Reads a byte of data from the incoming buffer. | |
| Address | |
| The address of the buffer 0 - 15 | |
| Return | |
ReadRFIDUID
| ReadRFIDUID | |
| Reads a byte of data from the UID buffer. | |
| Address | |
| The address of the buffer 0 - 7 | |
| Return | |
StoreRFIDKey
TransferRFIDValue
WriteRFIDBlock
| WriteRFIDBlock | |
| Writes a block of information to the RFID device. | |
| Address | |
| Remote RFID Block Address. | |
| Key_Type | |
| Return | |
WriteRFIDBuffer
| WriteRFIDBuffer | |
| Writes a byte of data to the outgoing buffer. | |
| Address | |
| The address of the buffer 0 - 15 | |
| Data | |
| The data to be stored in the buffer location 0 - 255. | |
| Return | |
WriteRFIDModule
| WriteRFIDModule | |
| Stores a byte of data to the internal EEPROM of the RFID module at the address specified. | |
| Address | |
| Data | |
| Return | |




