ST Expansion SW Team / RFAL

Dependents:   mbed-os-nfc05a1

Embed: (wiki syntax)

« Back to documentation index

rfal_nfcv.h File Reference

rfal_nfcv.h File Reference

Implementation of NFC-V Poller (ISO15693) device. More...

Go to the source code of this file.

Data Structures

struct  rfalNfcvInventoryRes
struct  rfalNfcvListenDevice

Enumerations

enum  {
  RFAL_NFCV_REQ_FLAG_DEFAULT = 0x02, RFAL_NFCV_REQ_FLAG_SUB_CARRIER = 0x01, RFAL_NFCV_REQ_FLAG_DATA_RATE = 0x02, RFAL_NFCV_REQ_FLAG_INVENTORY = 0x04,
  RFAL_NFCV_REQ_FLAG_PROTOCOL_EXT = 0x08, RFAL_NFCV_REQ_FLAG_SELECT = 0x10, RFAL_NFCV_REQ_FLAG_ADDRESS = 0x20, RFAL_NFCV_REQ_FLAG_OPTION = 0x40,
  RFAL_NFCV_REQ_FLAG_RFU = 0x80, RFAL_NFCV_REQ_FLAG_AFI = 0x10, RFAL_NFCV_REQ_FLAG_NB_SLOTS = 0x20
}
enum  {
  RFAL_NFCV_RES_FLAG_ERROR = 0x01, RFAL_NFCV_RES_FLAG_RFU1 = 0x02, RFAL_NFCV_RES_FLAG_RFU2 = 0x04, RFAL_NFCV_RES_FLAG_EXTENSION = 0x08,
  RFAL_NFCV_RES_FLAG_RFU3 = 0x10, RFAL_NFCV_RES_FLAG_RFU4 = 0x20, RFAL_NFCV_RES_FLAG_RFU5 = 0x40, RFAL_NFCV_RES_FLAG_RFU6 = 0x80
}
enum  {
  RFAL_NFCV_ERROR_CMD_NOT_SUPPORTED = 0x01, RFAL_NFCV_ERROR_CMD_NOT_RECOGNIZED = 0x02, RFAL_NFCV_ERROR_OPTION_NOT_SUPPORTED = 0x03, RFAL_NFCV_ERROR_UNKNOWN = 0x0F,
  RFAL_NFCV_ERROR_BLOCK_NOT_AVALIABLE = 0x10, RFAL_NFCV_ERROR_BLOCK_ALREDY_LOCKED = 0x11, RFAL_NFCV_ERROR_BLOCK_LOCKED = 0x12, RFAL_NFCV_ERROR_WRITE_FAILED = 0x13,
  RFAL_NFCV_ERROR_BLOCK_FAILED = 0x14
}
enum  {
  RFAL_NFCF_CMD_INVENTORY = 0x01, RFAL_NFCF_CMD_SLPV = 0x02, RFAL_NFCF_CMD_READ_SINGLE_BLOCK = 0x20, RFAL_NFCF_CMD_WRITE_SINGLE_BLOCK = 0x21,
  RFAL_NFCF_CMD_LOCK_BLOCK = 0x22, RFAL_NFCF_CMD_READ_MULTIPLE_BLOCKS = 0x23, RFAL_NFCF_CMD_WRITE_MULTIPLE_BLOCKS = 0x24, RFAL_NFCF_CMD_SELECT = 0x25,
  RFAL_NFCF_CMD_RESET_TO_READY = 0x26, RFAL_NFCF_CMD_GET_SYS_INFO = 0x2B, RFAL_NFCF_CMD_EXTENDED_GET_SYS_INFO = 0x2B
}
enum  rfalNfcvNumSlots { RFAL_NFCV_NUM_SLOTS_1 = 0x20, RFAL_NFCV_NUM_SLOTS_16 = 0x00 }

Functions

ReturnCode rfalNfcvPollerInitialize (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 NFC-V Poller mode.
ReturnCode rfalNfcvPollerCheckPresence (rfalNfcvInventoryRes *invRes, 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)
 NFC-V Poller Check Presence.
ReturnCode rfalNfcvPollerInventory (rfalNfcvNumSlots nSlots, uint8_t maskLen, uint8_t *maskVal, rfalNfcvInventoryRes *invRes, uint16_t *rcvdLen, 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)
 NFC-F Poller Poll.
ReturnCode rfalNfcvPollerCollisionResolution (uint8_t devLimit, rfalNfcvListenDevice *nfcvDevList, 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)
 NFC-V Poller Full Collision Resolution.
ReturnCode rfalNfvPollerSleep (uint8_t flags, uint8_t *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)
 NFC-V Poller Sleep.
ReturnCode rfalNfvPollerSelect (uint8_t flags, uint8_t *uid)
 NFC-V Poller Select.
ReturnCode rfalNfvPollerReadSingleBlock (uint8_t flags, uint8_t *uid, uint8_t blockNum, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
 NFC-V Poller Read Single Block.
ReturnCode rfalNfvPollerWriteSingleBlock (uint8_t flags, uint8_t *uid, uint8_t blockNum, uint8_t *wrData, uint8_t blockLen)
 NFC-V Poller Write Single Block.
ReturnCode rfalNfvPollerReadMultipleBlocks (uint8_t flags, uint8_t *uid, uint8_t firstBlockNum, uint8_t numOfBlocks, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen, 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)
 NFC-V Poller Read Multiple Blocks.

Detailed Description

Implementation of NFC-V Poller (ISO15693) device.

Author:
Gustavo Patricio

The definitions and helpers methods provided by this module are aligned with NFC-V Digital 2.0 (Candidate)

Definition in file rfal_nfcv.h.