ST Expansion SW Team / RFAL

Dependents:   mbed-os-nfc05a1

Embed: (wiki syntax)

« Back to documentation index

rfal_rf.cpp File Reference

rfal_rf.cpp File Reference

RF Abstraction Layer (RFAL) More...

Go to the source code of this file.

Enumerations

enum  t_rfalFeliCaCmd {
  FELICA_CMD_POLLING = 0x00, FELICA_CMD_POLLING_RES = 0x01, FELICA_CMD_REQUEST_SERVICE = 0x02, FELICA_CMD_REQUEST_RESPONSE = 0x04,
  FELICA_CMD_READ_WITHOUT_ENCRYPTION = 0x06, FELICA_CMD_WRITE_WITHOUT_ENCRYPTION = 0x08, FELICA_CMD_REQUEST_SYSTEM_CODE = 0x0c, FELICA_CMD_AUTHENTICATION1 = 0x10,
  FELICA_CMD_AUTHENTICATION2 = 0x12, FELICA_CMD_READ = 0x14, FELICA_CMD_WRITE = 0x16
}

Functions

ReturnCode rfalInitialize (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)
 RFAL Initialize.
ReturnCode rfalCalibrate (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)
 RFAL Calibrate.
void rfalSetUpperLayerCallback (rfalUpperLayerCallback pFunc)
 RFAL Set System Callback.
void rfalSetPreTxRxCallback (rfalPreTxRxCallback pFunc)
 RFAL Set Pre Tx Callback.
void rfalSetPostTxRxCallback (rfalPostTxRxCallback pFunc)
 RFAL Set Post Tx Callback.
ReturnCode rfalDeinitialize (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)
 RFAL Deinitialize.
void rfalSetObsvMode (uint8_t txMode, uint8_t rxMode)
 Set Observation Mode.
void rfalGetObsvMode (uint8_t *txMode, uint8_t *rxMode)
 Get Observation Mode.
void rfalDisableObsvMode (void)
 Disable Observation Mode.
ReturnCode rfalSetMode (rfalMode mode, rfalBitRate txBR, rfalBitRate rxBR, 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)
 RFAL Set Mode.
rfalMode rfalGetMode (void)
 RFAL Get Mode.
ReturnCode rfalSetBitRate (rfalBitRate txBR, rfalBitRate rxBR, 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)
 RFAL Set Bit Rate.
ReturnCode rfalGetBitRate (rfalBitRate *txBR, rfalBitRate *rxBR)
 RFAL Get Bit Rate.
ReturnCode rfalSetModulatedRFO (uint8_t rfo, 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)
 RFAL Set Modulated RFO.
uint8_t rfalGetModulatedRFO (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)
 RFAL Get Modulated RFO.
ReturnCode rfalMeasureRF (uint8_t *result, 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)
 RFAL Measure RF Amplitude.
void rfalSetErrorHandling (rfalEHandling eHandling)
 Set Error Handling Mode.
rfalEHandling rfalGetErrorHandling (void)
 Get Error Handling Mode.
void rfalSetFDTPoll (uint32_t FDTPoll)
 RFAL Set FDT Poll.
uint32_t rfalGetFDTPoll (void)
 RFAL Set FDT Poll.
void rfalSetFDTListen (uint32_t FDTListen)
 RFAL Set FDT Listen.
uint32_t rfalGetFDTListen (void)
 RFAL Set FDT Listen.
void rfalSetGT (uint32_t GT)
 RFAL Set GT.
uint32_t rfalGetGT (void)
 RFAL Get GT.
bool rfalIsGTExpired (void)
 RFAL Is GT expired.
ReturnCode rfalFieldOnAndStartGT (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)
 RFAL Turn Field On and Start GT.
ReturnCode rfalFieldOff (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)
 RFAL Turn Field Off.
ReturnCode rfalStartTransceive (rfalTransceiveContext *ctx, 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)
 RFAL Set transceive context.
ReturnCode rfalTransceiveBlockingTx (uint8_t *txBuf, uint16_t txBufLen, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *actLen, uint32_t flags, uint32_t fwt, 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)
 Transceive Blocking Tx.
ReturnCode rfalTransceiveBlockingRx (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)
 Transceive Blocking Rx.
ReturnCode rfalTransceiveBlockingTxRx (uint8_t *txBuf, uint16_t txBufLen, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *actLen, uint32_t flags, uint32_t fwt, 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)
 Transceive Blocking.
rfalTransceiveState rfalGetTransceiveState (void)
 Get Transceive State.
ReturnCode rfalGetTransceiveStatus (void)
 Get Transceive Status.
void rfalWorker (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)
 RFAL Worker.
ReturnCode rfalISO14443ATransceiveShortFrame (rfal14443AShortFrameCmd txCmd, uint8_t *rxBuf, uint8_t rxBufLen, uint16_t *rxRcvdLen, uint32_t fwt, 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)
 Transceives an ISO14443A ShortFrame.
ReturnCode rfalISO14443ATransceiveAnticollisionFrame (uint8_t *buf, uint8_t *bytesToSend, uint8_t *bitsToSend, uint16_t *rxLength, uint32_t fwt, 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)
 Sends an ISO14443A Anticollision Frame.
ReturnCode rfalISO15693TransceiveAnticollisionFrame (uint8_t *txBuf, uint8_t txBufLen, uint8_t *rxBuf, uint8_t rxBufLen, uint16_t *actLen, 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)
 Sends an ISO15693 Anticollision Frame.
ReturnCode rfalISO15693TransceiveAnticollisionEOF (uint8_t *rxBuf, uint8_t rxBufLen, uint16_t *actLen, 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)
 Sends an ISO15693 Anticollision EOF.
ReturnCode rfalFeliCaPoll (rfalFeliCaPollSlots slots, uint16_t sysCode, uint8_t reqCode, rfalFeliCaPollRes *pollResList, uint8_t pollResListSize, uint8_t *devicesDetected, uint8_t *collisionsDetected, 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)
 FeliCa Poll.
bool rfalIsExtFieldOn (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)
 Is external Field On.
ReturnCode rfalListenStart (uint32_t lmMask, rfalLmConfPA *confA, rfalLmConfPB *confB, rfalLmConfPF *confF, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rxLen, 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)
 Listen Mode start.
ReturnCode rfalListenStop (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)
 Listen Mode Stop.
ReturnCode rfalListenSleepStart (rfalLmState sleepSt, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rxLen)
 Listen Mode start Sleeping.
rfalLmState rfalListenGetState (bool *dataFlag, rfalBitRate *lastBR)
 Listen Mode get state.
ReturnCode rfalListenSetState (rfalLmState newSt, 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)
 Listen Mode set state.
ReturnCode rfalWakeUpModeStart (void *config, ST25R3911 *mST25, SPI *mspiChannel, DigitalOut *gpio_cs, InterruptIn *IRQ, DigitalOut *fieldLED_01, DigitalOut *fieldLED_02, DigitalOut *fieldLED_03, DigitalOut *fieldLED_04, DigitalOut *fieldLED_05, DigitalOut *fieldLED_06)
 Wake-Up Mode Start.
bool rfalWakeUpModeHasWoke (ST25R3911 *mST25, SPI *mspiChannel, DigitalOut *gpio_cs, InterruptIn *IRQ, DigitalOut *fieldLED_01, DigitalOut *fieldLED_02, DigitalOut *fieldLED_03, DigitalOut *fieldLED_04, DigitalOut *fieldLED_05, DigitalOut *fieldLED_06)
 Wake-Up Has Woke.
ReturnCode rfalWakeUpModeStop (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)
 Wake-Up Mode Stop.
ReturnCode rfalChipWriteReg (uint16_t reg, uint8_t *values, uint8_t len, 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)
 Writes a register on the RF Chip.
ReturnCode rfalChipReadReg (uint16_t reg, uint8_t *values, uint8_t len, 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)
 Reads a register on the RF Chip.
ReturnCode rfalChipExecCmd (uint16_t cmd, 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)
 Execute command on the RF Chip.
ReturnCode rfalChipChangeRegBits (uint16_t reg, uint8_t valueMask, uint8_t value, 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)
 Change a register on the RF Chip.
ReturnCode rfalChipChangeTestRegBits (uint16_t reg, uint8_t valueMask, uint8_t value, 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)
 Change a Test register on the RF Chip.

Variables

static rfal gRFAL

Detailed Description

RF Abstraction Layer (RFAL)

Author:
Gustavo Patricio

RFAL implementation for ST25R3911

Definition in file rfal_rf.cpp.


Enumeration Type Documentation

Felica's command set

Enumerator:
FELICA_CMD_POLLING 

Felica Poll/REQC command (aka SENSF_REQ) to identify a card

FELICA_CMD_POLLING_RES 

Felica Poll/REQC command (aka SENSF_RES) response

FELICA_CMD_REQUEST_SERVICE 

verify the existence of Area and Service

FELICA_CMD_REQUEST_RESPONSE 

verify the existence of a card

FELICA_CMD_READ_WITHOUT_ENCRYPTION 

read Block Data from a Service that requires no authentication

FELICA_CMD_WRITE_WITHOUT_ENCRYPTION 

write Block Data to a Service that requires no authentication

FELICA_CMD_REQUEST_SYSTEM_CODE 

acquire the System Code registered to a card

FELICA_CMD_AUTHENTICATION1 

authenticate a card

FELICA_CMD_AUTHENTICATION2 

allow a card to authenticate a Reader/Writer

FELICA_CMD_READ 

read Block Data from a Service that requires authentication

FELICA_CMD_WRITE 

write Block Data to a Service that requires authentication

Definition at line 196 of file rfal_rf.cpp.


Variable Documentation

rfal gRFAL [static]

RFAL module instance

Definition at line 356 of file rfal_rf.cpp.