ST Expansion SW Team / RFAL

Dependents:   mbed-os-nfc05a1

Embed: (wiki syntax)

« Back to documentation index

ST25TB

RFAL ST25TB Module. More...

Data Structures

struct  rfalSt25tbListenDevice

Typedefs

typedef uint8_t rfalSt25tbUID [RFAL_ST25TB_UID_LEN]
typedef uint8_t rfalSt25tbBlock [RFAL_ST25TB_BLOCK_LEN]

Functions

ReturnCode rfalSt25tbPollerInitialize (SPI *mspiChannel, ST25R3911 *mST25, DigitalOut *gpio_cs, InterruptIn *IRQ, DigitalOut *fieldLED_01, DigitalOut *fieldLED_02, DigitalOut *fieldLED_03, DigitalOut *fieldLED_04, DigitalOut *fieldLED_05, DigitalOut *fieldLED_06)
 Initialize ST25TB Poller mode.
ReturnCode rfalSt25tbPollerCheckPresence (uint8_t *chipId, SPI *mspiChannel, ST25R3911 *mST25, DigitalOut *gpio_cs, InterruptIn *IRQ, DigitalOut *fieldLED_01, DigitalOut *fieldLED_02, DigitalOut *fieldLED_03, DigitalOut *fieldLED_04, DigitalOut *fieldLED_05, DigitalOut *fieldLED_06)
 ST25TB Poller Check Presence.
ReturnCode rfalSt25tbPollerCollisionResolution (uint8_t devLimit, rfalSt25tbListenDevice *st25tbDevList, uint8_t *devCnt, SPI *mspiChannel, ST25R3911 *mST25, DigitalOut *gpio_cs, InterruptIn *IRQ, DigitalOut *fieldLED_01, DigitalOut *fieldLED_02, DigitalOut *fieldLED_03, DigitalOut *fieldLED_04, DigitalOut *fieldLED_05, DigitalOut *fieldLED_06)
 ST25TB Poller Collision Resolution.
ReturnCode rfalSt25tbPollerInitiate (uint8_t *chipId, SPI *mspiChannel, ST25R3911 *mST25, DigitalOut *gpio_cs, InterruptIn *IRQ, DigitalOut *fieldLED_01, DigitalOut *fieldLED_02, DigitalOut *fieldLED_03, DigitalOut *fieldLED_04, DigitalOut *fieldLED_05, DigitalOut *fieldLED_06)
 ST25TB Poller Initiate.
ReturnCode rfalSt25tbPollerPcall (uint8_t *chipId)
 ST25TB Poller Pcall.
ReturnCode rfalSt25tbPollerSlotMarker (uint8_t slotNum, uint8_t *chipIdRes, SPI *mspiChannel, ST25R3911 *mST25, DigitalOut *gpio_cs, InterruptIn *IRQ, DigitalOut *fieldLED_01, DigitalOut *fieldLED_02, DigitalOut *fieldLED_03, DigitalOut *fieldLED_04, DigitalOut *fieldLED_05, DigitalOut *fieldLED_06)
 ST25TB Poller Slot Marker.
ReturnCode rfalSt25tbPollerSelect (uint8_t chipId, SPI *mspiChannel, ST25R3911 *mST25, DigitalOut *gpio_cs, InterruptIn *IRQ, DigitalOut *fieldLED_01, DigitalOut *fieldLED_02, DigitalOut *fieldLED_03, DigitalOut *fieldLED_04, DigitalOut *fieldLED_05, DigitalOut *fieldLED_06)
 ST25TB Poller Select.
ReturnCode rfalSt25tbPollerGetUID (rfalSt25tbUID *UID, SPI *mspiChannel, ST25R3911 *mST25, DigitalOut *gpio_cs, InterruptIn *IRQ, DigitalOut *fieldLED_01, DigitalOut *fieldLED_02, DigitalOut *fieldLED_03, DigitalOut *fieldLED_04, DigitalOut *fieldLED_05, DigitalOut *fieldLED_06)
 ST25TB Get UID.
ReturnCode rfalSt25tbPollerReadBlock (uint8_t blockAddress, rfalSt25tbBlock *blockData, SPI *mspiChannel, ST25R3911 *mST25, DigitalOut *gpio_cs, InterruptIn *IRQ, DigitalOut *fieldLED_01, DigitalOut *fieldLED_02, DigitalOut *fieldLED_03, DigitalOut *fieldLED_04, DigitalOut *fieldLED_05, DigitalOut *fieldLED_06)
 ST25TB Poller Read Block.
ReturnCode rfalSt25tbPollerWriteBlock (uint8_t blockAddress, rfalSt25tbBlock *blockData, SPI *mspiChannel, ST25R3911 *mST25, DigitalOut *gpio_cs, InterruptIn *IRQ, DigitalOut *fieldLED_01, DigitalOut *fieldLED_02, DigitalOut *fieldLED_03, DigitalOut *fieldLED_04, DigitalOut *fieldLED_05, DigitalOut *fieldLED_06)
 ST25TB Poller Write Block.
ReturnCode rfalSt25tbPollerCompletion (SPI *mspiChannel, ST25R3911 *mST25, DigitalOut *gpio_cs, InterruptIn *IRQ, DigitalOut *fieldLED_01, DigitalOut *fieldLED_02, DigitalOut *fieldLED_03, DigitalOut *fieldLED_04, DigitalOut *fieldLED_05, DigitalOut *fieldLED_06)
 ST25TB Poller Completion.
ReturnCode rfalSt25tbPollerResetToInventory (SPI *mspiChannel, ST25R3911 *mST25, DigitalOut *gpio_cs, InterruptIn *IRQ, DigitalOut *fieldLED_01, DigitalOut *fieldLED_02, DigitalOut *fieldLED_03, DigitalOut *fieldLED_04, DigitalOut *fieldLED_05, DigitalOut *fieldLED_06)
 ST25TB Poller Reset to Inventory.

Detailed Description

RFAL ST25TB Module.


Typedef Documentation

typedef uint8_t rfalSt25tbBlock[RFAL_ST25TB_BLOCK_LEN]

ST25TB Block type

Definition at line 88 of file rfal_st25tb.h.

typedef uint8_t rfalSt25tbUID[RFAL_ST25TB_UID_LEN]

ST25TB UID type

Definition at line 87 of file rfal_st25tb.h.


Function Documentation

ReturnCode rfalSt25tbPollerCheckPresence ( uint8_t *  chipId,
SPI *  mspiChannel,
ST25R3911 *  mST25,
DigitalOut *  gpio_cs,
InterruptIn *  IRQ,
DigitalOut *  fieldLED_01,
DigitalOut *  fieldLED_02,
DigitalOut *  fieldLED_03,
DigitalOut *  fieldLED_04,
DigitalOut *  fieldLED_05,
DigitalOut *  fieldLED_06 
)

ST25TB Poller Check Presence.

This method checks if a ST25TB Listen device (PICC) is present on the field by sending an Initiate command

Parameters:
[out]chipId: if successfully retrieved, the device's chip ID
Returns:
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_TIMEOUT : Timeout error, no listener device detected
ERR_RF_COLLISION : Collision detected one or more device in the field
ERR_PROTO : Protocol error detected
ERR_NONE : No error

Definition at line 164 of file rfal_st25tb.cpp.

ReturnCode rfalSt25tbPollerCollisionResolution ( uint8_t  devLimit,
rfalSt25tbListenDevice st25tbDevList,
uint8_t *  devCnt,
SPI *  mspiChannel,
ST25R3911 *  mST25,
DigitalOut *  gpio_cs,
InterruptIn *  IRQ,
DigitalOut *  fieldLED_01,
DigitalOut *  fieldLED_02,
DigitalOut *  fieldLED_03,
DigitalOut *  fieldLED_04,
DigitalOut *  fieldLED_05,
DigitalOut *  fieldLED_06 
)

ST25TB Poller Collision Resolution.

This method performs ST25TB Collision resolution, selects the each device, retrieves its UID and then deselects. In case only one device is identified the ST25TB device is left in select state.

Parameters:
[in]devLimit: device limit value, and size st25tbDevList
[out]st25tbDevList: ST35TB listener device info
[out]devCnt: Devices found counter
Returns:
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_TIMEOUT : Timeout error, no listener device detected
ERR_RF_COLLISION : Collision detected one or more device in the field
ERR_PROTO : Protocol error detected
ERR_NONE : No error

Definition at line 324 of file rfal_st25tb.cpp.

ReturnCode rfalSt25tbPollerCompletion ( SPI *  mspiChannel,
ST25R3911 *  mST25,
DigitalOut *  gpio_cs,
InterruptIn *  IRQ,
DigitalOut *  fieldLED_01,
DigitalOut *  fieldLED_02,
DigitalOut *  fieldLED_03,
DigitalOut *  fieldLED_04,
DigitalOut *  fieldLED_05,
DigitalOut *  fieldLED_06 
)

ST25TB Poller Completion.

This method sends a completion command to the ST25TB. After the completion the card no longer will reply to any command.

Returns:
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_TIMEOUT : Timeout error, no listener device detected
ERR_PROTO : Protocol error detected, invalid SENSB_RES received
ERR_NONE : No error

Definition at line 492 of file rfal_st25tb.cpp.

ReturnCode rfalSt25tbPollerGetUID ( rfalSt25tbUID UID,
SPI *  mspiChannel,
ST25R3911 *  mST25,
DigitalOut *  gpio_cs,
InterruptIn *  IRQ,
DigitalOut *  fieldLED_01,
DigitalOut *  fieldLED_02,
DigitalOut *  fieldLED_03,
DigitalOut *  fieldLED_04,
DigitalOut *  fieldLED_05,
DigitalOut *  fieldLED_06 
)

ST25TB Get UID.

This method sends a Get_UID command

If a single device responds the chip UID will be retrieved

Parameters:
[out]UID: UID of the found device
Returns:
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_TIMEOUT : Timeout error, no listener device detected
ERR_PROTO : Protocol error detected
ERR_NONE : No error

Definition at line 300 of file rfal_st25tb.cpp.

ReturnCode rfalSt25tbPollerInitialize ( SPI *  mspiChannel,
ST25R3911 *  mST25,
DigitalOut *  gpio_cs,
InterruptIn *  IRQ,
DigitalOut *  fieldLED_01,
DigitalOut *  fieldLED_02,
DigitalOut *  fieldLED_03,
DigitalOut *  fieldLED_04,
DigitalOut *  fieldLED_05,
DigitalOut *  fieldLED_06 
)

Initialize ST25TB Poller mode.

This methods configures RFAL RF layer to perform as a ST25TB Poller/RW including all default timings

Returns:
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_NONE : No error

Definition at line 157 of file rfal_st25tb.cpp.

ReturnCode rfalSt25tbPollerInitiate ( uint8_t *  chipId,
SPI *  mspiChannel,
ST25R3911 *  mST25,
DigitalOut *  gpio_cs,
InterruptIn *  IRQ,
DigitalOut *  fieldLED_01,
DigitalOut *  fieldLED_02,
DigitalOut *  fieldLED_03,
DigitalOut *  fieldLED_04,
DigitalOut *  fieldLED_05,
DigitalOut *  fieldLED_06 
)

ST25TB Poller Initiate.

This method sends an Initiate command

If a single device responds the chip ID will be retrieved

Parameters:
[out]chipId: chip ID of the device
Returns:
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_TIMEOUT : Timeout error, no listener device detected
ERR_PROTO : Protocol error detected
ERR_NONE : No error

Definition at line 191 of file rfal_st25tb.cpp.

ReturnCode rfalSt25tbPollerPcall ( uint8_t *  chipId )

ST25TB Poller Pcall.

This method sends a Pcall command If successful the device's chip ID will be retrieved

Parameters:
[out]chipId: Chip ID of the device
Returns:
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_TIMEOUT : Timeout error, no listener device detected
ERR_PROTO : Protocol error detected
ERR_NONE : No error
ReturnCode rfalSt25tbPollerReadBlock ( uint8_t  blockAddress,
rfalSt25tbBlock blockData,
SPI *  mspiChannel,
ST25R3911 *  mST25,
DigitalOut *  gpio_cs,
InterruptIn *  IRQ,
DigitalOut *  fieldLED_01,
DigitalOut *  fieldLED_02,
DigitalOut *  fieldLED_03,
DigitalOut *  fieldLED_04,
DigitalOut *  fieldLED_05,
DigitalOut *  fieldLED_06 
)

ST25TB Poller Read Block.

This method reads a block of the ST25TB

Parameters:
[in]blockAddress: address of the block to be read
[out]blockData: location to place the data read from block
Returns:
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_TIMEOUT : Timeout error, no listener device detected
ERR_PROTO : Protocol error detected
ERR_NONE : No error

Definition at line 426 of file rfal_st25tb.cpp.

ReturnCode rfalSt25tbPollerResetToInventory ( SPI *  mspiChannel,
ST25R3911 *  mST25,
DigitalOut *  gpio_cs,
InterruptIn *  IRQ,
DigitalOut *  fieldLED_01,
DigitalOut *  fieldLED_02,
DigitalOut *  fieldLED_03,
DigitalOut *  fieldLED_04,
DigitalOut *  fieldLED_05,
DigitalOut *  fieldLED_06 
)

ST25TB Poller Reset to Inventory.

This method sends a Reset to Inventory command to the ST25TB.

Returns:
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_TIMEOUT : Timeout error, no listener device detected
ERR_PROTO : Protocol error detected, invalid SENSB_RES received
ERR_NONE : No error

Definition at line 505 of file rfal_st25tb.cpp.

ReturnCode rfalSt25tbPollerSelect ( uint8_t  chipId,
SPI *  mspiChannel,
ST25R3911 *  mST25,
DigitalOut *  gpio_cs,
InterruptIn *  IRQ,
DigitalOut *  fieldLED_01,
DigitalOut *  fieldLED_02,
DigitalOut *  fieldLED_03,
DigitalOut *  fieldLED_04,
DigitalOut *  fieldLED_05,
DigitalOut *  fieldLED_06 
)

ST25TB Poller Select.

This method sends a ST25TB Select command with the given chip ID.

If the device is already in Selected state and receives an incorrect chip ID, it goes into Deselected state

Parameters:
[in]chipId: chip ID of the device to be selected
Returns:
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_TIMEOUT : Timeout error, no listener device detected
ERR_PROTO : Protocol error detected
ERR_NONE : No error

Definition at line 275 of file rfal_st25tb.cpp.

ReturnCode rfalSt25tbPollerSlotMarker ( uint8_t  slotNum,
uint8_t *  chipIdRes,
SPI *  mspiChannel,
ST25R3911 *  mST25,
DigitalOut *  gpio_cs,
InterruptIn *  IRQ,
DigitalOut *  fieldLED_01,
DigitalOut *  fieldLED_02,
DigitalOut *  fieldLED_03,
DigitalOut *  fieldLED_04,
DigitalOut *  fieldLED_05,
DigitalOut *  fieldLED_06 
)

ST25TB Poller Slot Marker.

This method sends a Slot Marker

If a single device responds the chip ID will be retrieved

Parameters:
[in]slotNum: Slot Number
[out]chipIdRes: Chip ID of the device
Returns:
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_TIMEOUT : Timeout error, no listener device detected
ERR_PROTO : Protocol error detected
ERR_NONE : No error

Definition at line 246 of file rfal_st25tb.cpp.

ReturnCode rfalSt25tbPollerWriteBlock ( uint8_t  blockAddress,
rfalSt25tbBlock blockData,
SPI *  mspiChannel,
ST25R3911 *  mST25,
DigitalOut *  gpio_cs,
InterruptIn *  IRQ,
DigitalOut *  fieldLED_01,
DigitalOut *  fieldLED_02,
DigitalOut *  fieldLED_03,
DigitalOut *  fieldLED_04,
DigitalOut *  fieldLED_05,
DigitalOut *  fieldLED_06 
)

ST25TB Poller Write Block.

This method writes a block of the ST25TB

Parameters:
[in]blockAddress: address of the block to be written
[in]blockData: data to be written on the block
Returns:
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_TIMEOUT : Timeout error, no listener device detected
ERR_PROTO : Protocol error detected
ERR_NONE : No error

Definition at line 451 of file rfal_st25tb.cpp.