Jump to content

Component: RFID (BL0197) (E-blocks 2): Difference between revisions

From Flowcode Help
No edit summary
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder""
 
(6 intermediate revisions by 2 users not shown)
Line 17: Line 17:
==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_temp/EBlocks2_RFID_BL0197.fcfx FC_Comp_Source_temp/EBlocks2_RFID_BL0197.fcfx]
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_EBlocks2_RFID_BL0197.fcfx FC_Comp_Source_EBlocks2_RFID_BL0197.fcfx]


Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_temp/EBlocks2_RFID_BL0197.fcfx FC_Comp_Source_temp/EBlocks2_RFID_BL0197.fcfx]
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_EBlocks2_RFID_BL0197.fcfx FC_Comp_Source_EBlocks2_RFID_BL0197.fcfx]


==Detailed description==
==Detailed description==
Line 49: Line 49:


''<span style="color:red;">No additional examples</span>''
''<span style="color:red;">No additional examples</span>''




Line 62: Line 64:


===DecrementRFIDValue===
===DecrementRFIDValue===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DecrementRFIDValue'''
| width="90%" class="mtx-class-macrohead" | '''DecrementRFIDValue'''
|-
|-
| colspan="2" | Perfoms a 32-bit decrement on the number held in location page or block.&nbsp;
| colspan="2" | Perfoms a 32-bit decrement on the number held in location page or block.&nbsp;
Line 91: Line 93:


===FormatRFIDValue===
===FormatRFIDValue===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''FormatRFIDValue'''
| 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.&nbsp;
| colspan="2" | Initialises the internal buffer of the Microcontroller so that it is ready to perform a Increment, Decrement or Transfer command.&nbsp;
Line 105: Line 107:


===GetRFIDStatus===
===GetRFIDStatus===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetRFIDStatus'''
| width="90%" class="mtx-class-macrohead" | '''GetRFIDStatus'''
|-
|-
| colspan="2" | Collect the status of the RFID device (see help for the explaination of the status byte).&nbsp;
| colspan="2" | Collect the status of the RFID device (see help for the explaination of the status byte).&nbsp;
Line 119: Line 121:


===GetRFIDTypeID===
===GetRFIDTypeID===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetRFIDTypeID'''
| width="90%" class="mtx-class-macrohead" | '''GetRFIDTypeID'''
|-
|-
| 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.&nbsp;
| 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.&nbsp;
Line 133: Line 135:


===GetRFIDUID===
===GetRFIDUID===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetRFIDUID'''
| width="90%" class="mtx-class-macrohead" | '''GetRFIDUID'''
|-
|-
| colspan="2" | Collects the UID from a RFID device. Stores the result into the UID buffer and returns the response of the module.&nbsp;
| colspan="2" | Collects the UID from a RFID device. Stores the result into the UID buffer and returns the response of the module.&nbsp;
Line 147: Line 149:


===IncrementRFIDValue===
===IncrementRFIDValue===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''IncrementRFIDValue'''
| width="90%" class="mtx-class-macrohead" | '''IncrementRFIDValue'''
|-
|-
| colspan="2" | Perfoms a 32-bit increment on the number held in location page or block.&nbsp;
| colspan="2" | Perfoms a 32-bit increment on the number held in location page or block.&nbsp;
Line 176: Line 178:


===Initialise===
===Initialise===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
| 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.&nbsp;
| colspan="2" | Configures the RFID device by presetting the Osc type and Mode via the Flowcode component properties.&nbsp;
Line 190: Line 192:


===IsTagPresent===
===IsTagPresent===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''IsTagPresent'''
| width="90%" class="mtx-class-macrohead" | '''IsTagPresent'''
|-
|-
| colspan="2" | Checks to see if a card is present. Returns 0 if no tag is present. Returns 1 if a valid tag is present.&nbsp;
| colspan="2" | Checks to see if a card is present. Returns 0 if no tag is present. Returns 1 if a valid tag is present.&nbsp;
Line 204: Line 206:


===ReadRFIDBlock===
===ReadRFIDBlock===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadRFIDBlock'''
| width="90%" class="mtx-class-macrohead" | '''ReadRFIDBlock'''
|-
|-
| colspan="2" | Reads a block of information from the RFID device.&nbsp;
| colspan="2" | Reads a block of information from the RFID device.&nbsp;
Line 228: Line 230:


===ReadRFIDBuffer===
===ReadRFIDBuffer===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadRFIDBuffer'''
| width="90%" class="mtx-class-macrohead" | '''ReadRFIDBuffer'''
|-
|-
| colspan="2" | Reads a byte of data from the incoming buffer.&nbsp;
| colspan="2" | Reads a byte of data from the incoming buffer.&nbsp;
Line 247: Line 249:


===ReadRFIDUID===
===ReadRFIDUID===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadRFIDUID'''
| width="90%" class="mtx-class-macrohead" | '''ReadRFIDUID'''
|-
|-
| colspan="2" | Reads a byte of data from the UID buffer.&nbsp;
| colspan="2" | Reads a byte of data from the UID buffer.&nbsp;
Line 266: Line 268:


===SetBeep===
===SetBeep===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetBeep'''
| width="90%" class="mtx-class-macrohead" | '''SetBeep'''
|-
|-
| colspan="2" | Allows the buzzer output to be configured&nbsp;
| colspan="2" | Allows the buzzer output to be configured&nbsp;
Line 285: Line 287:


===SetCardType===
===SetCardType===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetCardType'''
| width="90%" class="mtx-class-macrohead" | '''SetCardType'''
|-
|-
| colspan="2" | Allows the RFID tag type to be configured&nbsp;
| colspan="2" | Allows the RFID tag type to be configured&nbsp;
Line 304: Line 306:


===StoreRFIDKey===
===StoreRFIDKey===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''StoreRFIDKey'''
| width="90%" class="mtx-class-macrohead" | '''StoreRFIDKey'''
|-
|-
| colspan="2" | Stores a 6 byte key for use with MIFARE type devices that require authorisation.&nbsp;
| colspan="2" | Stores a 6 byte key for use with MIFARE type devices that require authorisation.&nbsp;
Line 353: Line 355:


===TransferRFIDValue===
===TransferRFIDValue===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''TransferRFIDValue'''
| width="90%" class="mtx-class-macrohead" | '''TransferRFIDValue'''
|-
|-
| colspan="2" | Perfoms a 32-bit block data transfer on the number held in location page or block.&nbsp;
| colspan="2" | Perfoms a 32-bit block data transfer on the number held in location page or block.&nbsp;
Line 382: Line 384:


===WriteRFIDBlock===
===WriteRFIDBlock===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteRFIDBlock'''
| width="90%" class="mtx-class-macrohead" | '''WriteRFIDBlock'''
|-
|-
| colspan="2" | Writes a block of information to the RFID device.&nbsp;
| colspan="2" | Writes a block of information to the RFID device.&nbsp;
Line 406: Line 408:


===WriteRFIDBuffer===
===WriteRFIDBuffer===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteRFIDBuffer'''
| width="90%" class="mtx-class-macrohead" | '''WriteRFIDBuffer'''
|-
|-
| colspan="2" | Writes a byte of data to the outgoing buffer.&nbsp;
| colspan="2" | Writes a byte of data to the outgoing buffer.&nbsp;
Line 430: Line 432:


===WriteRFIDModule===
===WriteRFIDModule===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteRFIDModule'''
| width="90%" class="mtx-class-macrohead" | '''WriteRFIDModule'''
|-
|-
| colspan="2" | Stores a byte of data to the internal EEPROM of the RFID module at the address specified.&nbsp;
| colspan="2" | Stores a byte of data to the internal EEPROM of the RFID module at the address specified.&nbsp;
Line 455: Line 457:
==Property reference==
==Property reference==


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
| width="90%" class="mtx-class-macrohead" | '''Properties'''  
|-
|-
|-
|-
Line 471: Line 473:
| colspan="2" | Amount of time to activate the buzzer when detecting a new RFID tag.&nbsp;
| colspan="2" | Amount of time to activate the buzzer when detecting a new RFID tag.&nbsp;
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Connections
| width="90%" class="mtx-class-propfolder" | Connections
|-
|-
|-
|-
Line 510: Line 512:
| colspan="2" | &nbsp;
| colspan="2" | &nbsp;
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation
| width="90%" class="mtx-class-propfolder" | Simulation
|-
|-
|-
|-

Latest revision as of 14:37, 13 July 2026

Author Matrix Ltd.
Version 2.0
Category E-blocks 2


RFID (BL0197) component

Low level routines for controlling a BL0197 RFID E-block 2 board. Complete with macros to control the tag type and buzzer parameters.

Component Source Code

Please click here to download the component source project: FC_Comp_Source_EBlocks2_RFID_BL0197.fcfx

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

Detailed description

No detailed description exists yet for this component

Examples

No additional examples







Macro reference

DecrementRFIDValue

DecrementRFIDValue
Perfoms a 32-bit decrement on the number held in location page or block. 
- BYTE Src
Page / Block 
- BYTE Dst
Page / Block 
- BYTE Key_Type
Needed for MIFARE Commands 
- BYTE Return


FormatRFIDValue

FormatRFIDValue
Initialises the internal buffer of the Microcontroller so that it is ready to perform a Increment, Decrement or Transfer command. 
- VOID Return


GetRFIDStatus

GetRFIDStatus
Collect the status of the RFID device (see help for the explaination of the status byte). 
- UINT 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. 
- BYTE Return


GetRFIDUID

GetRFIDUID
Collects the UID from a RFID device. Stores the result into the UID buffer and returns the response of the module. 
- BYTE Return


IncrementRFIDValue

IncrementRFIDValue
Perfoms a 32-bit increment on the number held in location page or block. 
- BYTE Src
Page / Block 
- BYTE Dst
Page / Block 
- BYTE Key_Type
Needed for MIFARE Commands 
- BYTE Return


Initialise

Initialise
Configures the RFID device by presetting the Osc type and Mode via the Flowcode component properties. 
- BYTE Return


IsTagPresent

IsTagPresent
Checks to see if a card is present. Returns 0 if no tag is present. Returns 1 if a valid tag is present. 
- BOOL Return


ReadRFIDBlock

ReadRFIDBlock
Reads a block of information from the RFID device. 
- BYTE Address
 
- BYTE Key_Type
 
- BYTE Return


ReadRFIDBuffer

ReadRFIDBuffer
Reads a byte of data from the incoming buffer. 
- BYTE Address
The address of the buffer 0 - 15 
- BYTE Return


ReadRFIDUID

ReadRFIDUID
Reads a byte of data from the UID buffer. 
- BYTE Address
The address of the buffer 0 - 7 
- BYTE Return


SetBeep

SetBeep
Allows the buzzer output to be configured 
- BYTE BeepDelay
0 = Off, 1 = 40mS, 2 = 80mS, 3 = 120mS etc. 
- BYTE Return


SetCardType

SetCardType
Allows the RFID tag type to be configured 
- BYTE TagType
0 = MIFARE, 1 = ICODE, 2 = ISO14443B 
- BYTE Return


StoreRFIDKey

StoreRFIDKey
Stores a 6 byte key for use with MIFARE type devices that require authorisation. 
- BYTE Key
Key Location 0 - 31 
- BYTE D0
Least significant byte of key 
- BYTE D1
 
- BYTE D2
 
- BYTE D3
 
- BYTE D4
 
- BYTE D5
Most significant byte of key 
- BYTE Return


TransferRFIDValue

TransferRFIDValue
Perfoms a 32-bit block data transfer on the number held in location page or block. 
- BYTE Src
Page / Block 
- BYTE Dst
Page / Block 
- BYTE Key_Type
Needed for MIFARE Commands 
- BYTE Return


WriteRFIDBlock

WriteRFIDBlock
Writes a block of information to the RFID device. 
- BYTE Address
Remote RFID Block Address. 
- BYTE Key_Type
 
- BYTE Return


WriteRFIDBuffer

WriteRFIDBuffer
Writes a byte of data to the outgoing buffer. 
- BYTE Address
The address of the buffer 0 - 15 
- BYTE Data
The data to be stored in the buffer location 0 - 255. 
- VOID Return


WriteRFIDModule

WriteRFIDModule
Stores a byte of data to the internal EEPROM of the RFID module at the address specified. 
- BYTE Address
 
- BYTE Data
 
- BYTE Return


Property reference

Properties
Card_Type
 
Beep Delay
Amount of time to activate the buzzer when detecting a new RFID tag. 
Connections
Channel
UART Channel selector Software channels are bit banged using generic I/O pins but are not as reliable as hardware channels. Hardware channels use the selected peripheral on-board the target microcontroller. 
Baud Options
Baud rate option selector 
Baud Rate
 
TX
Pin to be used for Transmit data 
RX
Pin to be used for Receive data 
Card Detect (LED)
 
CTS
 
Simulation
Label
 
Scope Traces
Selects if the scope traces are automatically added to the data recorder window or not. Simulation - draws an approximation of the UART data onto the scope trace. ICT - sets up the scope trace for incoming data and adds UART packet decoding at the correct BAUD. 
Console Data
Selects if the console data is automatically generated or not 
Console Columns
Number of characters that can be displayed on a single line of the console. 
Data Source
Simulation data source used to allow the component to connect to various remote devices Nothing - Simulation data is ignored COM port - Routes the communication data to and from a physical or virtual COM port Injector - Routes the communication data via a data injector component on the Panel.