RFAL: RFAL (RF Abstraction Layer)

RFAL
  • Main Page
  • Modules
  • Data Structures
  • Files
  • Examples
RFAL (RF Abstraction Layer)

RFAL (RF Abstraction Layer) provides several functionalities required to perform RF/NFC communications.
The RFAL encapsulates the different RF ICs (ST25R3911, ST25R3916, ST25R95 and future ST25R devices) into a common and easy to use interface.

RFAL is MISRA C 2012 compliant (Motor Industry Software Reliability Association). Detailed MISRA Compliance report are available on documentation folder.

The technologies currently supported by RFAL are:

  • NFC-A \ ISO14443A (T1T, T2T, T4TA)
  • NFC-B \ ISO14443B (T4TB)
  • NFC-F \ FeliCa (T3T)
  • NFC-V \ ISO15693 (T5T)
  • P2P \ ISO18092 (NFCIP1, Passive-Active P2P)
  • ST25TB (ISO14443-2 Type B with Proprietary Protocol)
  • PicoPass \ iClass
  • B' \ Calypso
  • CTS \ CTM

The protocols provided by RFAL are:

  • ISO-DEP (ISO14443-4 Data Link Layer, T=CL)
  • NFC-DEP (ISO18092 Data Exchange Protocol)

Internally the RFAL is divided into two sub layers:

  • RF HL - RF Higher Layer
  • RF HAL - RF Hardware Abstraction Layer
  • RF AL - RF Abstraction Layer
RFAL
RF HL |  | RFAL NFC
RF AL | Protocols | ISO DEP |  |  |  | NFC DEP
 | Technologies | NFC-A | NFC-B | NFC-F | NFC-V | T1T | T2T | T4T | ST25TB
RF HAL |  | RF
 |  | RF Configs
 |  | ST25R3911 |  | ST25R3916 |  |  | ST25R95 *
* Future devices added to the ST25R family

Modules inside RF HAL are chip dependent, they implement the RF IC driver, config tables and the way to handle the HW specifically to perform the same functionalities.
The interface for the caller is a shared RF header file which provides the same interface for upper layers (for all chips).

Above, the RF AL is also composed by another two different sub layers:

  • Technologies - Technology modules which implement all its specifics, framing, timings, etc.
  • Protocols - Protocol implementation with the all framing, timings, error handling, etc

Then on top of these, there will be the application layer that will make use of the RFAL functionalities, for example: NFC Forum Activities (NFCC), EMVco, DISCO/NUCLEO demo, etc.
The RFAL NFC module provides an interface to perform the common activities as Poller/Listener device.

Access to the lowest functionalities of the ICs shall be granted by the RF module. Caller can make direct use of any of the RF, Technology or Protocol layer in a non hardware specific way.

Device support

A summary of supported modes per each device can be found bellow.
Further details are also available on each device's rfal_features.h file.

 |  | ST25R95 | ST25R3911 | ST253916
RW | NFC-A | x | x | x
 | NFC-B | x | x | x
 | NFC-F | x | x | x
 | NFC-V | x | x | x
CE | NFC-A | - | - | x
 | NFC-F | - | - | x
P2P |  | - | x | x
AP2P | Initiator | - | x | x
 | Target | - | x | x

Along this documentation the device names used also apply to the following part numbers:

  • ST25R3911: ST25R3911B, ST25R3912, ST25R3913, ST25R3914, ST25R3915
  • ST25R95: CR95HF, ST95HF

Setting up RFAL

In order to set up and configure the RFAL a few settings need to be defined by the user.
These settings must be provided on a file named platform.h which every RFAL modules rely on (this file can be found with every ST25R391x demo).
On platform.h user must provide:

  • Pin definitions

    • ST25R_SS_PIN / ST25R_SS_PORT

      Pin and Port definitions used for SPI Chip Select (CS) / Slave Select (SS) (mandatory)
      The SPI CS must be controlled by SW, not automatically handled by the SPI peripheral.
      If HAL driver uses single definition to address GPIOs PORT and PIN only one definition must be defined, and then used on GPIO macros

    • ST25R_INT_PIN / ST25R_INT_PORT

      Pin and Port definitions used for ST25R IRQ line (mandatory)
      The state of this GPIO is checked on the ISR.
      If HAL driver uses single definition to address GPIOs PORT and PIN only one definition must be defined, and then used on GPIO macros

    • PLATFORM_LED_RX_PIN / PLATFORM_LED_RX_PORT

      Pin and Port definitions used for Reception LED (optional)
      If defined LED will drive this GPIO high during a reception. If optional LED featre is not be used remove this definitions
      If HAL driver uses single definition to address GPIOs PORT and PIN only one definition must be defined, and then used on LED macros

    • PLATFORM_LED_FIELD_PIN / PLATFORM_LED_FIELD_PORT

      Pin and Port definitions used for Field LED (optional)
      If defined RFAL will drive this LED high when the field is turned On. This optional feature can be disabled by removing this definitions
      If HAL driver uses single definition to address GPIOs PORT and PIN only one definition must be defined, and then used on LED macros

  • Interfaces to the user specific platform hardware driver (MCU HAL)
    A few interfaces for the HW drivers must be provided:

    • platformProtectST25RComm()

      Protects the unique access to ST25R communication channel - IRQ disable on single thread environment (MCU) ; Mutex lock on a multi thread environment (mandatory)

    • platformUnprotectST25RComm()

      Unprotects the unique access to ST25R communication channel - IRQ enable on a single thread environment (MCU) ; Mutex unlock on a multi thread environment (mandatory)

    • platformProtectST25RIrqStatus()

      Protects the unique access to IRQ status var - IRQ disable on single thread environment (MCU) ; Mutex lock on a multi thread environment (optional)

    • platformUnprotectST25RIrqStatus()

      Unprotects the IRQ status var - IRQ enable on a single thread environment (MCU) ; Mutex unlock on a multi thread environment (optional)

    • platformProtectWorker()

      Protects \ locks the single execution of the RFAL worker (optional)
      If not required, this macro shall be left empty.

    • platformUnprotectWorker()

      Unprotects \ unlocks the unique execution of the RFAL worker (optional)
      If not required, this macro shall be left empty.

    • platformIrqST25RPinInitialize()

      Initializes the ST25R IRQ pin as input / external interrupt (optional)
      Upon initializing, RFAL will call this macro to configure the IRQ pin.
      If already configured by the user, this macro shall be left empty.

    • platformIrqST25RSetCallback( cb )

      Sets the ST25R ISR (optional)
      Upon initializing, RFAL will call this macro to set the callback (cb) of the IRQ pin.
      If the interrupt is already configured by the user and st25r391xIsr() being called upon an IRQ, this macro shall be left empty.

    • platformLedsInitialize()

      Configures LEDs as outputs. (optional)
      Upon initializing, RFAL will call this macro to initialize the required pins as outputs.
      If the LEDs not used or already configured by the, this macro shall be left empty.

    • platformLedOff( port, pin )

      Turns LED Off (optional)
      If the LEDs are not used, this macro shall be left empty.

    • platformLedOn( port, pin )

      Turns LED On (optional)
      If the LEDs are not used, this macro shall be left empty.

    • platformGpioSet( port, pin )

      Sets GPIO to logical high state (mandatory)

    • platformGpioClear( port, pin )

      Sets GPIO to logical low state (mandatory)

    • platformGpioToogle( port, pin )

      Toogles GPIO logical state (mandatory)

    • platformGpioIsHigh( port, pin )

      Checks if the state of a GPIO is in logical high state (mandatory)

    • platformGpioIsLow( port, pin )

      Checks if the state of a GPIO is in logical low state (mandatory)

    • platformTimerCreate( t )

      Creates a timer that shall expire in the given time (t) expressed in milliseconds (mandatory)
      This shall calculate a timer/tick/reference to a timeout that will be expired after the time defined. It will return this timer/tick/reference expressed as a unsigned 32 bit variable.

    • platformTimerIsExpired( timer )

      Checks if the timer previously created is expired (mandatory)
      This shall receive the timer/tick/reference returned by platformTimerCreate() and return true if expired.

    • platformTimerDestroy( timer )

      Stops and releases the given timer if previously created. (optional)
      If not required, this macro shall be left empty.

    • platformDelay( t )

      Delays/Blocks the MCU for the given time (t) in milliseconds (mandatory)

    • platformGetSysTick()

      Returns the current tick counter in millisecods (optional)
      If not required, this macro shall be left empty.

    • platformAssert()

      Asserts whether the given expression is true. Logging, error handle or trap otherwise. (optional)
      If not required, this macro shall be left empty.

    • platformErrorHandle()

      Global error handler or trap (optional)
      If not required, this macro shall be left empty.

    • platformSpiSelect()

      SPI SS \ CS: Chip|Slave Select (mandatory)

    • platformSpiDeselect()

      SPI SS \ CS: Chip|Slave Deselect (mandatory)

    • platformSpiTxRx( txBuf, rxBuf, len )

      SPI Transceive (mandatory)
      This shall transmit/receive from/to the given buffers for the given amount of bytes (len).
      The SPI Bus shall be clocked for the given number of bytes (len).
      If transmission buffer (txBuff) equals NULL, only reception shall be done, leading to zeros on the MOSI line, and the MISO bytes into rxBuff
      If reception buffer (rxBuff) equals NULL, only transmission shall be done, leading to transmission on the MOSI line, and data from MISO being ignored / not placed into the rxBuff

    • platformLog( ... )

      Logs the given message (optional)

  • RFAL modules configuration
    Individual RFAL modules can be enabled or disabled according to the system specific needs.
    Details can be found on the following section.

RFAL Configuration

In order to enable or disable specific features user defined switches are available. The resources required by the RFAL vary according to the features that shall be supported.
The feature switches avaiable are:

• RFAL_FEATURE_NFCA | RFAL support for NFC-A (ISO14443A)
• RFAL_FEATURE_NFCB | RFAL support for NFC-B (ISO14443B)
• RFAL_FEATURE_NFCF | RFAL support for NFC-F (FeliCa)
• RFAL_FEATURE_NFCV | RFAL support for NFC-V (ISO15693)
• RFAL_FEATURE_T1T | RFAL support for T1T (Topaz)
• RFAL_FEATURE_T2T | RFAL support for T2T (MIFARE Ultralight)
• RFAL_FEATURE_T4T | RFAL support for T4T
• RFAL_FEATURE_ST25TB | RFAL support for ST25TB
• RFAL_FEATURE_ST25xV | RFAL support for ST25TV/ST25DV
• RFAL_FEATURE_ISO_DEP | RFAL support for ISO-DEP (ISO14443-4)
• RFAL_FEATURE_ISO_DEP_POLL | RFAL support for Poller mode (PCD) ISO-DEP (ISO14443-4)
• RFAL_FEATURE_ISO_DEP_LISTEN | RFAL support for Listen mode (PICC) ISO-DEP (ISO14443-4)
• RFAL_FEATURE_NFC_DEP | RFAL support for NFC-DEP (NFCIP1/P2P)
• RFAL_FEATURE_LISTEN_MODE | RFAL support for Listen Mode
• RFAL_FEATURE_WAKEUP_MODE | RFAL support for the Wake-Up mode

It is also possible to further tailor the memory resources required by configuring the max blocks to be supported with the following options:

• RFAL_FEATURE_ISO_DEP_IBLOCK_MAX_LEN | ISO-DEP I-Block max length. Please use values as defined by rfalIsoDepFSx.
• RFAL_FEATURE_NFC_DEP_BLOCK_MAX_LEN | NFC-DEP Block/Payload length. Allowed values: 64, 128, 192, 254
• RFAL_FEATURE_NFC_RF_BUF_LEN | RF buffer length used by RFAL NFC layer.
• RFAL_FEATURE_ISO_DEP_APDU_MAX_LEN | ISO-DEP APDU (Application Protocol Data Unit) max length. An APDU is composed by one or several chained ISO-DEP Blocks.
• RFAL_FEATURE_NFC_DEP_PDU_MAX_LEN | NFC-DEP PDU (Protocol Data Unit) maximum length. A PDU is composed by one or several chained NFC-DEP blocks.

Apart from the mandatory feature switches defined on platform.h, there are certain switches that influence particular behaviours.
Those are:

  • ST25R_COM_SINGLETXRX - Uses a single transceive operation over the serial interface (SPI/I2C). (Available for the ST25R3911 and ST25R3916)
    It requires an additional buffer to compute the full command wich will then be used for a unique serial operation reducing its duration.

  • RFAL_COLRES_AGC - Reduces bit collision recognition capabilities. (Available for the ST25R3911)
    Helpfull with certain devices using noisy Active Load Modulation (e.g. Samsung Galaxy S8-US (SM-G950U)) which can be interpreted as two cards colliding: one weak and one strong.

  • ST25R_SELFTEST - Enables ST25R-Host communication selftest during initialization.
    Helpfull to diagnose porting issues.

  • ST25R_SELFTEST_TIMER - Enable timer selftest during initialization.
    Helpfull to diagnose porting issues.

An example platform.h for a STM32 project can be found here.

Analog Config

The Analog Config module allows to define a set configurations that will be applied at certain moments of the execution depending on the mode and protocol selected.
Each set of configurations is applied in a defined order of execution depending on the RFAL APIs used.
Further details can be found here.

The RFAL comes with a default Analog Config table for every supported device.
In case a customized user defined table is required, it can be easily deployed side by side to the RFAL package.
To do so the RFAL_ANALOG_CONFIG_CUSTOM preprocessor definition must be added together with the following variables:

  • rfalAnalogConfigCustomSettings - the Analog Config table following the same RFAL format with the custom configurations
  • rfalAnalogConfigCustomSettingsLength - the size in bytes of the rfalAnalogConfigCustomSettings table

Resources

Detailed analysis of compiled RFAL modules:

   text	   data	    bss	    dec	    hex	filename
    764	      8	   1024	   1796	    704	rfal_analogConfig.o
    818	     11	      0	    829	    33d	rfal_cd.o
     54	      0	      0	     54	     36	rfal_crc.o
     26	      0	      0	     26	     1a	rfal_dpo.o
   1004	     12	      0	   1016	    3f8	rfal_iso15693_2.o
   5908	      0	    188	   6096	   17d0	rfal_isoDep.o
   4150	      1	   2180	   6331	   18bb	rfal_nfc.o
   1774	      0	     56	   1830	    726	rfal_nfca.o
    986	      2	      0	    988	    3dc	rfal_nfcb.o
   4884	      0	    176	   5060	   13c4	rfal_nfcDep.o
   1150	      0	    322	   1472	    5c0	rfal_nfcf.o
   2098	      0	      0	   2098	    832	rfal_nfcv.o
    892	      0	      0	    892	    37c	rfal_st25tb.o
   1346	      0	      0	   1346	    542	rfal_st25xv.o
    302	      0	      0	    302	    12e	rfal_t1t.o
    298	      0	      0	    298	    12a	rfal_t2t.o
    672	      0	      0	    672	    2a0	rfal_t4t.o
  27126	     34	   3946	  31106	   7982	(TOTALS)

  ---- ST25R3911B ----
   text	   data	    bss	    dec	    hex	filename
   7648	      0	   1020	   8668	   21dc	rfal_rfst25r3911.o
   1536	      4	      0	   1540	    604	st25r3911.o
   1562	      0	     97	   1659	    67b	st25r3911_com.o
    756	      0	     20	    776	    308	st25r3911_interrupt.o
  11502	      4	   1137	  12643	   3163	(TOTALS)

  ---- ST25R3916 ----
   text	   data	    bss	    dec	    hex	filename
   9816	      0	   1028	  10844	   2a5c	rfal_rfst25r3916.o
   1648	      4	      0	   1652	    674	st25r3916.o
    748	      0	      0	    748	    2ec	st25r3916_aat.o
   1140	      2	    513	   1655	    677	st25r3916_com.o
    634	      0	     16	    650	    28a	st25r3916_irq.o
    258	      0	      0	    258	    102	st25r3916_led.o
  14244	      6	   1557	  15807	   3dbf	(TOTALS)

  ---- ST25R95 ----
   text	   data	    bss	    dec	    hex	filename
   3412	      0	    444	   3856	    f10	rfal_rfst25r95.o
    258	      0	      0	    258	    102	st25r95.o
   1082	    162	      0	   1244	    4dc	st25r95_com.o
    542	     21	      0	    563	    233	st25r95_com_ce.o
   1576	     17	     28	   1621	    655	st25r95_com_spi.o
   6870	    200	    472	   7542	   1d76	(TOTALS)

Examples

A RFAL usage example as a Poller device is provided here: exampleRfalPoller.c
On this example different devices are detected, activated and data is exchanged implementing a presence check mechanism.
Once removed or upon error, the device is deactivated and the discovery loop restarts.

Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Modules

  • Data Structures
  • Files
  • Examples
Modules
Here is a list of all modules:
[detail level 1234]
\ RFAL |
o RFAL-HAL | RFAL Hardware Abstraction Layer
| o AnalogConfig | RFAL Analog Config Module
| o Chip | RFAL RF Chip Module
| o DPO | RFAL Dynamic Power Module
| o RF | RFAL RF Abstraction Layer
| o ST25R3911 | RFAL ST25R3911 Driver
| | o ST25R3911_Driver | RFAL ST25R3911 Driver
| | o ST25R3911_Com | RFAL ST25R3911 Communication
| | \ ST25R3911_Interrupt | RFAL ST25R3911 Interrupt
| o ST25R3916 | RFAL ST25R3916 Driver
| | o ST25R3916_Driver | RFAL ST25R3916 Driver
| | o ST25R3916_COM | RFAL ST25R3916 Communications
| | o ST25R3916_IRQ | RFAL ST25R3916 IRQ
| | \ ST25R3916_LED | RFAL ST25R3916 LED
| \ ST25R95 | RFAL ST25R95 Driver
| o ST25R95_Driver | RFAL ST25R95 Driver
| \ ST25R95_Com | RFAL ST25R95 Communication
o RFAL-AL | RFAL Abstraction Layer
| o ISO-DEP | RFAL ISO-DEP Module
| o NFC-A | RFAL NFC-A Module
| o NFC-B | RFAL NFC-B Module
| o NFC-DEP | RFAL NFC-DEP Module
| o NFC-F | RFAL NFC-F Module
| o NFC-V | RFAL NFC-V Module
| o ST25TB | RFAL ST25TB Module
| o ST25xV | RFAL ST25xV Module
| o T1T | RFAL T1T Module
| o T2T | RFAL T2T Module
| \ T4T | RFAL T4T Module
\ RFAL-HL | RFAL Higher Layer
\ NFC | RFAL NFC Device
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: RFAL

Modules
RFAL
Collaboration diagram for RFAL:

Modules

RFAL-HAL
RFAL Hardware Abstraction Layer.
RFAL-AL
RFAL Abstraction Layer.
RFAL-HL
RFAL Higher Layer.

Detailed Description

This driver provides basic abstraction for communication with the ST25R3911. It uses the SPI driver for interfacing with the ST25R3911.

API:

  • Read Register: st25r3911ReadRegister
  • Modify Register: st25r3911ModifyRegister
  • Write Register: st25r3911WriteRegister
  • Write Multiple Registers: st25r3911WriteMultipleRegisters
  • Load ST25R3911 FIFO with data: st25r3911WriteFifo
  • Read from ST25R3911 FIFO: st25r3911ReadFifo
  • Execute direct command: st25r3911ExecuteCommand

This driver provides basic abstraction for communication with the ST25R95. It uses the SPI driver for interfacing with the ST25R95.

API:

Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: RFAL-HAL

Modules
RFAL-HAL
RFAL

RFAL Hardware Abstraction Layer. More...

Collaboration diagram for RFAL-HAL:

Modules

AnalogConfig
RFAL Analog Config Module.
Chip
RFAL RF Chip Module.
DPO
RFAL Dynamic Power Module.
RF
RFAL RF Abstraction Layer.
ST25R3911
RFAL ST25R3911 Driver.
ST25R3916
RFAL ST25R3916 Driver.
ST25R95
RFAL ST25R95 Driver.

Detailed Description

Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: AnalogConfig

Data Structures | Macros | Typedefs | Functions
AnalogConfig
RFAL-HAL

RFAL Analog Config Module. More...

Collaboration diagram for AnalogConfig:

Data Structures

struct | rfalAnalogConfigRegAddrMaskVal
struct | rfalAnalogConfig

Macros

#define | RFAL_ANALOG_CONFIG_LUT_SIZE (87U)
#define | RFAL_ANALOG_CONFIG_LUT_NOT_FOUND (0xFFU)
#define | RFAL_ANALOG_CONFIG_TBL_SIZE (1024U)
#define | RFAL_ANALOG_CONFIG_POLL_LISTEN_MODE_MASK (0x8000U)
#define | RFAL_ANALOG_CONFIG_TECH_MASK (0x7F00U)
#define | RFAL_ANALOG_CONFIG_BITRATE_MASK (0x00F0U)
#define | RFAL_ANALOG_CONFIG_DIRECTION_MASK (0x000FU)
#define | RFAL_ANALOG_CONFIG_CHIP_SPECIFIC_MASK (0x00FFU)
#define | RFAL_ANALOG_CONFIG_POLL_LISTEN_MODE_SHIFT (15U)
#define | RFAL_ANALOG_CONFIG_TECH_SHIFT (8U)
#define | RFAL_ANALOG_CONFIG_BITRATE_SHIFT (4U)
#define | RFAL_ANALOG_CONFIG_DIRECTION_SHIFT (0U)
#define | RFAL_ANALOG_CONFIG_POLL (0x0000U)
#define | RFAL_ANALOG_CONFIG_LISTEN (0x8000U)
#define | RFAL_ANALOG_CONFIG_TECH_CHIP (0x0000U)
#define | RFAL_ANALOG_CONFIG_TECH_NFCA (0x0100U)
#define | RFAL_ANALOG_CONFIG_TECH_NFCB (0x0200U)
#define | RFAL_ANALOG_CONFIG_TECH_NFCF (0x0400U)
#define | RFAL_ANALOG_CONFIG_TECH_AP2P (0x0800U)
#define | RFAL_ANALOG_CONFIG_TECH_NFCV (0x1000U)
#define | RFAL_ANALOG_CONFIG_TECH_RFU (0x2000U)
#define | RFAL_ANALOG_CONFIG_BITRATE_COMMON (0x0000U)
#define | RFAL_ANALOG_CONFIG_BITRATE_106 (0x0010U)
#define | RFAL_ANALOG_CONFIG_BITRATE_212 (0x0020U)
#define | RFAL_ANALOG_CONFIG_BITRATE_424 (0x0030U)
#define | RFAL_ANALOG_CONFIG_BITRATE_848 (0x0040U)
#define | RFAL_ANALOG_CONFIG_BITRATE_1695 (0x0050U)
#define | RFAL_ANALOG_CONFIG_BITRATE_3390 (0x0060U)
#define | RFAL_ANALOG_CONFIG_BITRATE_6780 (0x0070U)
#define | RFAL_ANALOG_CONFIG_BITRATE_1OF4 (0x00C0U)
#define | RFAL_ANALOG_CONFIG_BITRATE_1OF256 (0x00D0U)
#define | RFAL_ANALOG_CONFIG_NO_DIRECTION (0x0000U)
#define | RFAL_ANALOG_CONFIG_TX (0x0001U)
#define | RFAL_ANALOG_CONFIG_RX (0x0002U)
#define | RFAL_ANALOG_CONFIG_ANTICOL (0x0003U)
#define | RFAL_ANALOG_CONFIG_DPO (0x0004U)
#define | RFAL_ANALOG_CONFIG_CHIP_INIT (0x0000U)
#define | RFAL_ANALOG_CONFIG_CHIP_DEINIT (0x0001U)
#define | RFAL_ANALOG_CONFIG_CHIP_FIELD_ON (0x0002U)
#define | RFAL_ANALOG_CONFIG_CHIP_FIELD_OFF (0x0003U)
#define | RFAL_ANALOG_CONFIG_CHIP_WAKEUP_ON (0x0004U)
#define | RFAL_ANALOG_CONFIG_CHIP_WAKEUP_OFF (0x0005U)
#define | RFAL_ANALOG_CONFIG_CHIP_LISTEN_ON (0x0006U)
#define | RFAL_ANALOG_CONFIG_CHIP_LISTEN_OFF (0x0007U)
#define | RFAL_ANALOG_CONFIG_CHIP_POLL_COMMON (0x0008U)
#define | RFAL_ANALOG_CONFIG_CHIP_LISTEN_COMMON (0x0009U)
#define | RFAL_ANALOG_CONFIG_CHIP_LOWPOWER_ON (0x000AU)
#define | RFAL_ANALOG_CONFIG_CHIP_LOWPOWER_OFF (0x000BU)
#define | RFAL_ANALOG_CONFIG_UPDATE_LAST (0x00U)
#define | RFAL_ANALOG_CONFIG_UPDATE_MORE (0x01U)
#define | RFAL_ANALOG_CONFIG_ID_GET_POLL_LISTEN(id) (RFAL_ANALOG_CONFIG_POLL_LISTEN_MODE_MASK & (id))
#define | RFAL_ANALOG_CONFIG_ID_GET_TECH(id) (RFAL_ANALOG_CONFIG_TECH_MASK & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_CHIP(id) (RFAL_ANALOG_CONFIG_TECH_MASK & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_NFCA(id) (RFAL_ANALOG_CONFIG_TECH_NFCA & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_NFCB(id) (RFAL_ANALOG_CONFIG_TECH_NFCB & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_NFCF(id) (RFAL_ANALOG_CONFIG_TECH_NFCF & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_AP2P(id) (RFAL_ANALOG_CONFIG_TECH_AP2P & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_NFCV(id) (RFAL_ANALOG_CONFIG_TECH_NFCV & (id))
#define | RFAL_ANALOG_CONFIG_ID_GET_BITRATE(id) (RFAL_ANALOG_CONFIG_BITRATE_MASK & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_COMMON(id) (RFAL_ANALOG_CONFIG_BITRATE_MASK & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_106(id) (RFAL_ANALOG_CONFIG_BITRATE_106 & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_212(id) (RFAL_ANALOG_CONFIG_BITRATE_212 & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_424(id) (RFAL_ANALOG_CONFIG_BITRATE_424 & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_848(id) (RFAL_ANALOG_CONFIG_BITRATE_848 & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_1695(id) (RFAL_ANALOG_CONFIG_BITRATE_1695 & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_3390(id) (RFAL_ANALOG_CONFIG_BITRATE_3390 & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_6780(id) (RFAL_ANALOG_CONFIG_BITRATE_6780 & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_1OF4(id) (RFAL_ANALOG_CONFIG_BITRATE_1OF4 & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_1OF256(id) (RFAL_ANALOG_CONFIG_BITRATE_1OF256 & (id))
#define | RFAL_ANALOG_CONFIG_ID_GET_DIRECTION(id) (RFAL_ANALOG_CONFIG_DIRECTION_MASK & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_TX(id) (RFAL_ANALOG_CONFIG_TX & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_RX(id) (RFAL_ANALOG_CONFIG_RX & (id))
#define | RFAL_ANALOG_CONFIG_CONFIG_NUM(x) (sizeof(x)/sizeof((x)[0]))
#define | RFAL_ANALOG_CONFIG_ID_SET(mode, tech, br, direction)

Typedefs

typedef uint8_t | rfalAnalogConfigMode
typedef uint8_t | rfalAnalogConfigTech
typedef uint8_t | rfalAnalogConfigBitrate
typedef uint8_t | rfalAnalogConfigDirection
typedef uint8_t | rfalAnalogConfigRegAddr [2]
typedef uint8_t | rfalAnalogConfigRegMask
typedef uint8_t | rfalAnalogConfigRegVal
typedef uint16_t | rfalAnalogConfigId
typedef uint16_t | rfalAnalogConfigOffset
typedef uint8_t | rfalAnalogConfigNum

Functions

void | rfalAnalogConfigInitialize (void)
Initialize the Analog Configuration. More...
bool | rfalAnalogConfigIsReady (void)
Indicate if the current Analog Configuration Table is complete and ready to be used. More...
ReturnCode | rfalAnalogConfigListWriteRaw (const uint8_t *configTbl, uint16_t configTblSize)
Write the whole Analog Configuration table in raw format. More...
ReturnCode | rfalAnalogConfigListWrite (uint8_t more, const rfalAnalogConfig *config)
Write the Analog Configuration table with new analog settings. More...
ReturnCode | rfalAnalogConfigListReadRaw (uint8_t *tblBuf, uint16_t tblBufLen, uint16_t *configTblSize)
Read the whole Analog Configuration table in raw format. More...
ReturnCode | rfalAnalogConfigListRead (rfalAnalogConfigOffset *configOffset, uint8_t *more, rfalAnalogConfig *config, rfalAnalogConfigNum numConfig)
Read the Analog Configuration table. More...
ReturnCode | rfalSetAnalogConfig (rfalAnalogConfigId configId)
Set the Analog settings of indicated Configuration ID. More...
uint16_t | rfalAnalogConfigGenModeID (rfalMode md, rfalBitRate br, uint16_t dir)
Generates Analog Config mode ID. More...

Detailed Description

Macro Definition Documentation

#define RFAL_ANALOG_CONFIG_ANTICOL (0x0003U)

Anticollision setting in Analog Configuration ID

#define RFAL_ANALOG_CONFIG_BITRATE_106 (0x0010U)

106kbits/s settings in Analog Configuration ID

#define RFAL_ANALOG_CONFIG_BITRATE_1695 (0x0050U)

1695kbits/s settings in Analog Configuration ID

#define RFAL_ANALOG_CONFIG_BITRATE_1OF256 (0x00D0U)

1 out of 256 for NFC-V setting in Analog Configuration ID

#define RFAL_ANALOG_CONFIG_BITRATE_1OF4 (0x00C0U)

1 out of 4 for NFC-V setting in Analog Configuration ID

#define RFAL_ANALOG_CONFIG_BITRATE_212 (0x0020U)

212kbits/s settings in Analog Configuration ID

#define RFAL_ANALOG_CONFIG_BITRATE_3390 (0x0060U)

3390kbits/s settings in Analog Configuration ID

#define RFAL_ANALOG_CONFIG_BITRATE_424 (0x0030U)

424kbits/s settings in Analog Configuration ID

#define RFAL_ANALOG_CONFIG_BITRATE_6780 (0x0070U)

6780kbits/s settings in Analog Configuration ID

#define RFAL_ANALOG_CONFIG_BITRATE_848 (0x0040U)

848kbits/s settings in Analog Configuration ID

#define RFAL_ANALOG_CONFIG_BITRATE_COMMON (0x0000U)

Common settings for all bit rates in Analog Configuration ID

#define RFAL_ANALOG_CONFIG_BITRATE_MASK (0x00F0U)

Mask bits for Bit rate in Analog Configuration ID

#define RFAL_ANALOG_CONFIG_BITRATE_SHIFT (4U)

Shift value for Technology in Analog Configuration ID

#define RFAL_ANALOG_CONFIG_CHIP_DEINIT (0x0001U)

Chip-Specific event: Deinitialize

#define RFAL_ANALOG_CONFIG_CHIP_FIELD_OFF (0x0003U)

Chip-Specific event: Field Off

#define RFAL_ANALOG_CONFIG_CHIP_FIELD_ON (0x0002U)

Chip-Specific event: Field On

#define RFAL_ANALOG_CONFIG_CHIP_INIT (0x0000U)

Chip-Specific event: Startup;Reset;Initialize

#define RFAL_ANALOG_CONFIG_CHIP_LISTEN_COMMON (0x0009U)

Chip-Specific event: Listen common

#define RFAL_ANALOG_CONFIG_CHIP_LISTEN_OFF (0x0007U)

Chip-Specific event: Listen Off

#define RFAL_ANALOG_CONFIG_CHIP_LISTEN_ON (0x0006U)

Chip-Specific event: Listen On

#define RFAL_ANALOG_CONFIG_CHIP_LOWPOWER_OFF (0x000BU)

Chip-Specific event: Low Power Off

#define RFAL_ANALOG_CONFIG_CHIP_LOWPOWER_ON (0x000AU)

Chip-Specific event: Low Power On

#define RFAL_ANALOG_CONFIG_CHIP_POLL_COMMON (0x0008U)

Chip-Specific event: Poll common

#define RFAL_ANALOG_CONFIG_CHIP_SPECIFIC_MASK (0x00FFU)

Mask bits for Chip Specific Technology

#define RFAL_ANALOG_CONFIG_CHIP_WAKEUP_OFF (0x0005U)

Chip-Specific event: Wake-up Off

#define RFAL_ANALOG_CONFIG_CHIP_WAKEUP_ON (0x0004U)

Chip-Specific event: Wake-up On

#define RFAL_ANALOG_CONFIG_CONFIG_NUM ( x ) (sizeof(x)/sizeof((x)[0]))

Get Analog Config number

#define RFAL_ANALOG_CONFIG_DIRECTION_MASK (0x000FU)

Mask bits for Direction in Analog Configuration ID

#define RFAL_ANALOG_CONFIG_DIRECTION_SHIFT (0U)

Shift value for Direction in Analog Configuration ID

#define RFAL_ANALOG_CONFIG_DPO (0x0004U)

DPO setting in Analog Configuration ID

#define RFAL_ANALOG_CONFIG_ID_GET_BITRATE ( id ) (RFAL_ANALOG_CONFIG_BITRATE_MASK & (id))

Get Bitrate of Configuration ID

#define RFAL_ANALOG_CONFIG_ID_GET_DIRECTION ( id ) (RFAL_ANALOG_CONFIG_DIRECTION_MASK & (id))

Get Direction of Configuration ID

#define RFAL_ANALOG_CONFIG_ID_GET_POLL_LISTEN ( id ) (RFAL_ANALOG_CONFIG_POLL_LISTEN_MODE_MASK & (id))

Check if id indicates Listen mode

#define RFAL_ANALOG_CONFIG_ID_GET_TECH ( id ) (RFAL_ANALOG_CONFIG_TECH_MASK & (id))

Get the technology of Configuration ID

#define RFAL_ANALOG_CONFIG_ID_IS_106 ( id ) (RFAL_ANALOG_CONFIG_BITRATE_106 & (id))

Check if ID indicates 106kbits/s

#define RFAL_ANALOG_CONFIG_ID_IS_1695 ( id ) (RFAL_ANALOG_CONFIG_BITRATE_1695 & (id))

Check if ID indicates 1695kbits/s

#define RFAL_ANALOG_CONFIG_ID_IS_1OF256 ( id ) (RFAL_ANALOG_CONFIG_BITRATE_1OF256 & (id))

Check if ID indicates 1 out of 256 bitrate

#define RFAL_ANALOG_CONFIG_ID_IS_1OF4 ( id ) (RFAL_ANALOG_CONFIG_BITRATE_1OF4 & (id))

Check if ID indicates 1 out of 4 bitrate

#define RFAL_ANALOG_CONFIG_ID_IS_212 ( id ) (RFAL_ANALOG_CONFIG_BITRATE_212 & (id))

Check if ID indicates 212kbits/s

#define RFAL_ANALOG_CONFIG_ID_IS_3390 ( id ) (RFAL_ANALOG_CONFIG_BITRATE_3390 & (id))

Check if ID indicates 3390kbits/s

#define RFAL_ANALOG_CONFIG_ID_IS_424 ( id ) (RFAL_ANALOG_CONFIG_BITRATE_424 & (id))

Check if ID indicates 424kbits/s

#define RFAL_ANALOG_CONFIG_ID_IS_6780 ( id ) (RFAL_ANALOG_CONFIG_BITRATE_6780 & (id))

Check if ID indicates 6780kbits/s

#define RFAL_ANALOG_CONFIG_ID_IS_848 ( id ) (RFAL_ANALOG_CONFIG_BITRATE_848 & (id))

Check if ID indicates 848kbits/s

#define RFAL_ANALOG_CONFIG_ID_IS_AP2P ( id ) (RFAL_ANALOG_CONFIG_TECH_AP2P & (id))

Check if ID indicates AP2P

#define RFAL_ANALOG_CONFIG_ID_IS_CHIP ( id ) (RFAL_ANALOG_CONFIG_TECH_MASK & (id))

Check if ID indicates Chip-specific

#define RFAL_ANALOG_CONFIG_ID_IS_COMMON ( id ) (RFAL_ANALOG_CONFIG_BITRATE_MASK & (id))

Check if ID indicates common bitrate

#define RFAL_ANALOG_CONFIG_ID_IS_NFCA ( id ) (RFAL_ANALOG_CONFIG_TECH_NFCA & (id))

Check if ID indicates NFC-A

#define RFAL_ANALOG_CONFIG_ID_IS_NFCB ( id ) (RFAL_ANALOG_CONFIG_TECH_NFCB & (id))

Check if ID indicates NFC-B

#define RFAL_ANALOG_CONFIG_ID_IS_NFCF ( id ) (RFAL_ANALOG_CONFIG_TECH_NFCF & (id))

Check if ID indicates NFC-F

#define RFAL_ANALOG_CONFIG_ID_IS_NFCV ( id ) (RFAL_ANALOG_CONFIG_TECH_NFCV & (id))

Check if ID indicates NFC-V

#define RFAL_ANALOG_CONFIG_ID_IS_RX ( id ) (RFAL_ANALOG_CONFIG_RX & (id))

Check if id indicates RX

#define RFAL_ANALOG_CONFIG_ID_IS_TX ( id ) (RFAL_ANALOG_CONFIG_TX & (id))

Check if id indicates TX

#define RFAL_ANALOG_CONFIG_ID_SET | ( | mode,
 |  | tech,
 |  | br,
 |  | direction
 | ) |
Value:
( RFAL_ANALOG_CONFIG_ID_GET_POLL_LISTEN(mode) \
| RFAL_ANALOG_CONFIG_ID_GET_TECH(tech) \
| RFAL_ANALOG_CONFIG_ID_GET_BITRATE(br) \
| RFAL_ANALOG_CONFIG_ID_GET_DIRECTION(direction) \
)
RFAL_ANALOG_CONFIG_ID_GET_TECH
#define RFAL_ANALOG_CONFIG_ID_GET_TECH(id)
Definition: rfal_analogConfig.h:136
RFAL_ANALOG_CONFIG_ID_GET_DIRECTION
#define RFAL_ANALOG_CONFIG_ID_GET_DIRECTION(id)
Definition: rfal_analogConfig.h:156
RFAL_ANALOG_CONFIG_ID_GET_POLL_LISTEN
#define RFAL_ANALOG_CONFIG_ID_GET_POLL_LISTEN(id)
Definition: rfal_analogConfig.h:134
RFAL_ANALOG_CONFIG_ID_GET_BITRATE
#define RFAL_ANALOG_CONFIG_ID_GET_BITRATE(id)
Definition: rfal_analogConfig.h:144

Set Analog Config ID value by: Mode, Technology, Bitrate and Direction

#define RFAL_ANALOG_CONFIG_LISTEN (0x8000U)

Listen Mode bit setting in Analog Configuration ID

#define RFAL_ANALOG_CONFIG_LUT_NOT_FOUND (0xFFU)

Index value indicating no Configuration IDs found

#define RFAL_ANALOG_CONFIG_LUT_SIZE (87U)

Maximum number of Configuration IDs in the Loop Up Table

#define RFAL_ANALOG_CONFIG_NO_DIRECTION (0x0000U)

No direction setting in Analog Conf ID (Chip Specific only)

#define RFAL_ANALOG_CONFIG_POLL (0x0000U)

Poll Mode bit setting in Analog Configuration ID

#define RFAL_ANALOG_CONFIG_POLL_LISTEN_MODE_MASK (0x8000U)

Mask bit of Poll Mode in Analog Configuration ID

#define RFAL_ANALOG_CONFIG_POLL_LISTEN_MODE_SHIFT (15U)

Shift value of Poll Mode in Analog Configuration ID

#define RFAL_ANALOG_CONFIG_RX (0x0002U)

Reception bit setting in Analog Configuration ID

#define RFAL_ANALOG_CONFIG_TBL_SIZE (1024U)

Maximum number of Register-Mask-Value in the Setting List

#define RFAL_ANALOG_CONFIG_TECH_AP2P (0x0800U)

AP2P Technology bits setting in Analog Configuration ID

#define RFAL_ANALOG_CONFIG_TECH_CHIP (0x0000U)

Chip-Specific bit setting in Analog Configuration ID

#define RFAL_ANALOG_CONFIG_TECH_MASK (0x7F00U)

Mask bits for Technology in Analog Configuration ID

#define RFAL_ANALOG_CONFIG_TECH_NFCA (0x0100U)

NFC-A Technology bits setting in Analog Configuration ID

#define RFAL_ANALOG_CONFIG_TECH_NFCB (0x0200U)

NFC-B Technology bits setting in Analog Configuration ID

#define RFAL_ANALOG_CONFIG_TECH_NFCF (0x0400U)

NFC-F Technology bits setting in Analog Configuration ID

#define RFAL_ANALOG_CONFIG_TECH_NFCV (0x1000U)

NFC-V Technology bits setting in Analog Configuration ID

#define RFAL_ANALOG_CONFIG_TECH_RFU (0x2000U)

RFU for Technology bits

#define RFAL_ANALOG_CONFIG_TECH_SHIFT (8U)

Shift value for Technology in Analog Configuration ID

#define RFAL_ANALOG_CONFIG_TX (0x0001U)

Transmission bit setting in Analog Configuration ID

#define RFAL_ANALOG_CONFIG_UPDATE_LAST (0x00U)

Value indicating Last configuration set during update

#define RFAL_ANALOG_CONFIG_UPDATE_MORE (0x01U)

Value indicating More configuration set coming during update

Typedef Documentation

typedef uint8_t rfalAnalogConfigBitrate

Bitrate of Configuration

typedef uint8_t rfalAnalogConfigDirection

Transmit/Receive direction of Configuration

typedef uint16_t rfalAnalogConfigId

Analog Configuration ID

typedef uint8_t rfalAnalogConfigMode

Polling or Listening Mode of Configuration

typedef uint8_t rfalAnalogConfigNum

Number of Analog settings for the respective Configuration ID

typedef uint16_t rfalAnalogConfigOffset

Analog Configuration offset address in the table

typedef uint8_t rfalAnalogConfigRegAddr[2]

Register Address to ST Chip

typedef uint8_t rfalAnalogConfigRegMask

Register Mask Value

typedef uint8_t rfalAnalogConfigRegVal

Register Value

typedef uint8_t rfalAnalogConfigTech

Technology of Configuration

Function Documentation

uint16_t rfalAnalogConfigGenModeID | ( | rfalMode | md,
 |  | rfalBitRate | br,
 |  | uint16_t | dir
 | ) |  |

Converts RFAL mode and bitrate into Analog Config Mode ID.

Update the chip with indicated analog settings of indicated Configuration ID.

Parameters
[in] | md | RFAL mode format
[in] | br | RFAL bit rate format
[in] | dir | Analog Config communication direction
Returns
Analog Config Mode ID
void rfalAnalogConfigInitialize ( void )

Reset the Analog Configuration LUT pointer to reference to default settings.

Examples:
exampleRfalPoller.c.
bool rfalAnalogConfigIsReady ( void )
Returns
true if current Analog Configuration Table is complete and ready to be used.
false if current Analog Configuration Table is incomplete
ReturnCode rfalAnalogConfigListRead | ( | rfalAnalogConfigOffset * | configOffset,
 |  | uint8_t * | more,
 |  | rfalAnalogConfig * | config,
 |  | rfalAnalogConfigNum | numConfig
 | ) |  |

Read the Analog Configuration Table

Parameters
[in] | configOffset | offset to the next Configuration ID in the List Table to be read.
[out] | more | 0x00 indicates it is last Configuration ID settings; 0x01 indicates more Configuration ID setting(s) are coming.
[out] | config | configuration id, number of configuration sets and register-mask-value sets
[in] | numConfig | the remaining configuration settings space available;
Returns
ERR_NOMEM : if number of Configuration for respective Configuration ID is greater the the remaining configuration setting space available
ERR_NONE : if read is successful
ReturnCode rfalAnalogConfigListReadRaw | ( | uint8_t * | tblBuf,
 |  | uint16_t | tblBufLen,
 |  | uint16_t * | configTblSize
 | ) |  |

Reads the whole Analog Configuration Table in raw format

Parameters
[out] | tblBuf | location to the buffer to place the Config Table
[in] | tblBufLen | length of the buffer to place the Config Table
[out] | configTblSize | Config Table size
Returns
ERR_PARAM : if configTbl or configTblSize is invalid
ERR_NOMEM : if configTblSize is not enough for the whole table
ERR_NONE : if read is successful
ReturnCode rfalAnalogConfigListWrite | ( | uint8_t | more,
 |  | const rfalAnalogConfig * | config
 | ) |  |

Writes the Analog Configuration and Look Up Table with the new list of register-mask-value and Configuration ID respectively.

NOTE: Function does not check for the validity of the Register Address.

Parameters
[in] | more | 0x00 indicates it is last Configuration ID settings; 0x01 indicates more Configuration ID setting(s) are coming.
[in] | *config | reference to the configuration list of current Configuraiton ID.
Returns
ERR_PARAM : if Configuration ID or parameter is invalid
ERR_NOMEM : if LUT is full
ERR_REQUEST : if the update Configuration Id is disabled
ERR_NONE : if setting is updated
ReturnCode rfalAnalogConfigListWriteRaw | ( | const uint8_t * | configTbl,
 |  | uint16_t | configTblSize
 | ) |  |

Writes the Analog Configuration and Look Up Table with the given raw table

NOTE: Function does not check the validity of the given Table contents

Parameters
[in] | configTbl | location of config Table to be loaded
[in] | configTblSize | size of the config Table to be loaded
Returns
ERR_NONE : if setting is updated
ERR_PARAM : if configTbl is invalid
ERR_NOMEM : if the given Table is bigger exceeds the max size
ERR_REQUEST : if the update Configuration Id is disabled
ReturnCode rfalSetAnalogConfig ( rfalAnalogConfigId configId )

Update the chip with indicated analog settings of indicated Configuration ID.

Parameters
[in] configId configuration ID
Returns
ERR_PARAM if Configuration ID is invalid
ERR_INTERNAL if error updating setting to chip
ERR_NONE if new settings is applied to chip
Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: rfalAnalogConfigRegAddrMaskVal Struct Reference

  • Data Structure Index
  • Data Fields
Data Fields
rfalAnalogConfigRegAddrMaskVal Struct Reference
AnalogConfig

#include <rfal_analogConfig.h>

Data Fields

rfalAnalogConfigRegAddr addr
rfalAnalogConfigRegMask mask
rfalAnalogConfigRegVal val

Detailed Description

Struct that contain the Register-Mask-Value set. Make sure that the whole structure size is even and unaligned!

Field Documentation

rfalAnalogConfigRegAddr rfalAnalogConfigRegAddrMaskVal::addr

Register Address

rfalAnalogConfigRegMask rfalAnalogConfigRegAddrMaskVal::mask

Register Mask Value

rfalAnalogConfigRegVal rfalAnalogConfigRegAddrMaskVal::val

Register Value

The documentation for this struct was generated from the following file:
  • rfal_analogConfig.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalAnalogConfig Struct Reference

Data Fields
rfalAnalogConfig Struct Reference
AnalogConfig

#include <rfal_analogConfig.h>

Collaboration diagram for rfalAnalogConfig:
[legend]

Data Fields

uint8_t id [sizeof(rfalAnalogConfigId)]
rfalAnalogConfigNum num
rfalAnalogConfigRegAddrMaskVal regSet []

Detailed Description

Struct that represents the Analog Configs

Field Documentation

uint8_t rfalAnalogConfig::id[sizeof(rfalAnalogConfigId)]

Configuration ID

rfalAnalogConfigNum rfalAnalogConfig::num

Number of Config Sets to follow

rfalAnalogConfigRegAddrMaskVal rfalAnalogConfig::regSet[]

Register-Mask-Value sets

The documentation for this struct was generated from the following file:
  • rfal_analogConfig.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: Chip

Functions
Chip
RFAL-HAL

RFAL RF Chip Module. More...

Collaboration diagram for Chip:

Functions

ReturnCode | rfalChipWriteReg (uint16_t reg, const uint8_t *values, uint8_t len)
Writes a register on the RF Chip. More...
ReturnCode | rfalChipReadReg (uint16_t reg, uint8_t *values, uint8_t len)
Reads a register on the RF Chip. More...
ReturnCode | rfalChipChangeRegBits (uint16_t reg, uint8_t valueMask, uint8_t value)
Change a register on the RF Chip. More...
ReturnCode | rfalChipWriteTestReg (uint16_t reg, uint8_t value)
Writes a Test register on the RF Chip. More...
ReturnCode | rfalChipReadTestReg (uint16_t reg, uint8_t *value)
Reads a Test register on the RF Chip. More...
ReturnCode | rfalChipChangeTestRegBits (uint16_t reg, uint8_t valueMask, uint8_t value)
Change a Test register on the RF Chip. More...
ReturnCode | rfalChipExecCmd (uint16_t cmd)
Execute command on the RF Chip. More...
ReturnCode | rfalChipSetRFO (uint8_t rfo)
Set RFO. More...
ReturnCode | rfalChipGetRFO (uint8_t *result)
Get RFO. More...
ReturnCode | rfalChipMeasureAmplitude (uint8_t *result)
Measure Amplitude. More...
ReturnCode | rfalChipMeasurePhase (uint8_t *result)
Measure Phase. More...
ReturnCode | rfalChipMeasureCapacitance (uint8_t *result)
Measure Capacitance. More...
ReturnCode | rfalChipMeasurePowerSupply (uint8_t param, uint8_t *result)
Measure Power Supply. More...

Detailed Description

Function Documentation

ReturnCode rfalChipChangeRegBits | ( | uint16_t | reg,
 |  | uint8_t | valueMask,
 |  | uint8_t | value
 | ) |  |

Change the value of the register bits on the RF Chip Test set in the valueMask.

Parameters
[in] | reg | register address to be modified
[in] | valueMask | mask value of the register bits to be changed
[in] | value | register value to be set
Returns
ERR_PARAM : Invalid register or bad request
ERR_NOTSUPP : Feature not supported
ERR_OK : Change done with no error
ReturnCode rfalChipChangeTestRegBits | ( | uint16_t | reg,
 |  | uint8_t | valueMask,
 |  | uint8_t | value
 | ) |  |

Change the value of the register bits on the RF Chip Test set in the valueMask.

Parameters
[in] | reg | test register address to be modified
[in] | valueMask | mask value of the register bits to be changed
[in] | value | register value to be set
Returns
ERR_PARAM : Invalid register or bad request
ERR_NOTSUPP : Feature not supported
ERR_OK : Change done with no error
ReturnCode rfalChipExecCmd ( uint16_t cmd )

Checks if the given command is valid and if so, executes it on the RF Chip

Parameters
[in] cmd direct command to be executed
Returns
ERR_PARAM : Invalid command or bad request
ERR_NOTSUPP : Feature not supported
ERR_NONE : Direct command executed with no error
ReturnCode rfalChipGetRFO ( uint8_t * result )

Gets the RFO value used used when the field is on (unmodulated/active)

Parameters
[out] result : the current RFO value
Returns
ERR_IO : Internal error
ERR_NOTSUPP : Feature not supported
ERR_NONE : No error
ReturnCode rfalChipMeasureAmplitude ( uint8_t * result )

Measures the RF Amplitude

Parameters
[out] result : result of RF measurement
Returns
ERR_IO : Internal error
ERR_NOTSUPP : Feature not supported
ERR_NONE : No error
ReturnCode rfalChipMeasureCapacitance ( uint8_t * result )

Measures the Capacitance

Parameters
[out] result : result of Capacitance measurement
Returns
ERR_IO : Internal error
ERR_NOTSUPP : Feature not supported
ERR_NONE : No error
ReturnCode rfalChipMeasurePhase ( uint8_t * result )

Measures the Phase

Parameters
[out] result : result of Phase measurement
Returns
ERR_IO : Internal error
ERR_NOTSUPP : Feature not supported
ERR_NONE : No error
ReturnCode rfalChipMeasurePowerSupply | ( | uint8_t | param,
 |  | uint8_t * | result
 | ) |  |

Measures the Power Supply

Parameters
[in] | param | : measurement parameter (chip specific)
[out] | result | : result of the measurement
Returns
ERR_IO : Internal error
ERR_NOTSUPP : Feature not supported
ERR_NONE : No error
ReturnCode rfalChipReadReg | ( | uint16_t | reg,
 |  | uint8_t * | values,
 |  | uint8_t | len
 | ) |  |

Checks if the given register is valid and if so, reads the value(s) of the RF Chip register(s)

Parameters
[in] | reg | register address to be read, or the first if len > 1
[out] | values | pointer where the register(s) read content will be placed
[in] | len | number of consecutive registers to be read
Returns
ERR_PARAM : Invalid register or bad request
ERR_NOTSUPP : Feature not supported
ERR_NONE : Read done with no error
ReturnCode rfalChipReadTestReg | ( | uint16_t | reg,
 |  | uint8_t * | value
 | ) |  |

Reads the value of the RF Chip Test register

Parameters
[in] | reg | register address to be read
[out] | value | pointer where the register content will be placed
Returns
ERR_PARAM :Invalid register or bad request
ERR_NOTSUPP : Feature not supported
ERR_NONE : Read done with no error
ReturnCode rfalChipSetRFO ( uint8_t rfo )

Sets the RFO value to be used when the field is on (unmodulated/active)

Parameters
[in] rfo : the RFO value to be used
Returns
ERR_IO : Internal error
ERR_NOTSUPP : Feature not supported
ERR_NONE : No error
ReturnCode rfalChipWriteReg | ( | uint16_t | reg,
 |  | const uint8_t * | values,
 |  | uint8_t | len
 | ) |  |

Checks if the given register is valid and if so, writes the value(s) on the RF Chip register

Parameters
[in] | reg | register address to be written, or the first if len > 1
[in] | values | pointer with content to be written on the register(s)
[in] | len | number of consecutive registers to be written
Returns
ERR_PARAM : Invalid register or bad request
ERR_NOTSUPP : Feature not supported
ERR_NONE : Write done with no error
ReturnCode rfalChipWriteTestReg | ( | uint16_t | reg,
 |  | uint8_t | value
 | ) |  |

Writes the value on the RF Chip Test register

Parameters
[in] | reg | register address to be written
[in] | value | value to be written on the register
Returns
ERR_PARAM : Invalid register or bad request
ERR_NOTSUPP : Feature not supported
ERR_NONE : Write done with no error
Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: DPO

Data Structures | Macros | Typedefs | Functions
DPO
RFAL-HAL

RFAL Dynamic Power Module. More...

Collaboration diagram for DPO:

Data Structures

struct rfalDpoEntry

Macros

#define | RFAL_DPO_TABLE_SIZE_MAX 15U
#define | RFAL_DPO_TABLE_PARAMETER 3U

Typedefs

typedef ReturnCode(* rfalDpoMeasureFunc )(uint8_t *)

Functions

void | rfalDpoInitialize (void)
Initialize dynamic power table. More...
void | rfalDpoSetMeasureCallback (rfalDpoMeasureFunc dpoMeasureFunc)
Set the measurement methode. More...
ReturnCode | rfalDpoTableWrite (rfalDpoEntry *powerTbl, uint8_t powerTblEntries)
Write dynamic power table. More...
ReturnCode | rfalDpoTableRead (rfalDpoEntry *tblBuf, uint8_t tblBufEntries, uint8_t *tableEntries)
Dynamic power table Read. More...
ReturnCode | rfalDpoAdjust (void)
Dynamic power adjust. More...
rfalDpoEntry * | rfalDpoGetCurrentTableEntry (void)
Get Current Dynamic power table entry. More...
void | rfalDpoSetEnabled (bool enable)
Dynamic power set enabled state. More...
bool | rfalDpoIsEnabled (void)
Get the Dynamic power enabled state. More...

Detailed Description

Macro Definition Documentation

#define RFAL_DPO_TABLE_PARAMETER 3U

DPO table Parameter length

#define RFAL_DPO_TABLE_SIZE_MAX 15U

Max DPO table size

Typedef Documentation

typedef ReturnCode(* rfalDpoMeasureFunc)(uint8_t *)

Function pointer to methode doing the reference measurement

Function Documentation

ReturnCode rfalDpoAdjust ( void )

It measures the current output and adjusts the power accordingly to the dynamic power table

Returns
ERR_NONE : No error
ERR_PARAM : if configTbl is invalid or parameters are invalid
ERR_WRONG_STATE : if the current state is valid for DPO Adjustment
rfalDpoEntry* rfalDpoGetCurrentTableEntry ( void )

Return current used DPO power table entry settings

Returns
ERR_NONE : Current DpoEntry. This includes d_res, inc and dec
void rfalDpoInitialize ( void )

This function sets the internal dynamic power table to the default values stored in rfal_DpoTbl.h

bool rfalDpoIsEnabled ( void )

Get state of the Dynamic power adjustment

Returns
true : enabled
false : disabled
void rfalDpoSetEnabled ( bool enable )
Parameters
[in] enable new active state

Set state to enable or disable the Dynamic power adjustment

void rfalDpoSetMeasureCallback ( rfalDpoMeasureFunc dpoMeasureFunc )

This function sets the measurement method used for reference measurement. Based on the measurement the power will then be adjusted

Parameters
[in] dpoMeasureFunc callback of measurement function
ReturnCode rfalDpoTableRead | ( | rfalDpoEntry * | tblBuf,
 |  | uint8_t | tblBufEntries,
 |  | uint8_t * | tableEntries
 | ) |  |

Read the dynamic power table

Parameters
[out] | tblBuf | location to the rfalDpoEntry[] to place the Table
[in] | tblBufEntries | number of entries available in tblBuf to place the power Table
[out] | tableEntries | returned number of entries actually written into tblBuf
Returns
ERR_NONE : No error
ERR_PARAM : if configTbl is invalid or parameters are invalid
ReturnCode rfalDpoTableWrite | ( | rfalDpoEntry * | powerTbl,
 |  | uint8_t | powerTblEntries
 | ) |  |

Load the dynamic power table

Parameters
[in] | powerTbl | location of power Table to be loaded
[in] | powerTblEntries | number of entries of the power Table to be loaded
Returns
ERR_NONE : No error
ERR_PARAM : if configTbl is invalid
ERR_NOMEM : if the given Table is bigger exceeds the max size
Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: rfalDpoEntry Struct Reference

Data Fields
rfalDpoEntry Struct Reference
DPO

#include <rfal_dpo.h>

Data Fields

uint8_t | rfoRes
uint8_t | inc
uint8_t | dec

Detailed Description

DPO table entry struct

Field Documentation

uint8_t rfalDpoEntry::dec

Threshold for decrementing the output power

uint8_t rfalDpoEntry::inc

Threshold for incrementing the output power

uint8_t rfalDpoEntry::rfoRes

Setting for the resistance level of the RFO

The documentation for this struct was generated from the following file:
  • rfal_dpo.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: RF

Data Structures | Macros | Typedefs | Enumerations | Functions
RF
RFAL-HAL

RFAL RF Abstraction Layer. More...

Collaboration diagram for RF:

Data Structures

struct | rfalTransceiveContext
struct | rfalLmConfPA
struct | rfalLmConfPB
struct | rfalLmConfPF
struct | rfalWakeUpConfig

Macros

#define | RFAL_VERSION (uint32_t)0x020102U
#define | RFAL_FWT_NONE 0xFFFFFFFFU
#define | RFAL_GT_NONE RFAL_TIMING_NONE
#define | RFAL_TIMING_NONE 0x00U
#define | RFAL_1FC_IN_4096FC (uint32_t)4096U
#define | RFAL_1FC_IN_512FC (uint32_t)512U
#define | RFAL_1FC_IN_64FC (uint32_t)64U
#define | RFAL_1FC_IN_8FC (uint32_t)8U
#define | RFAL_US_IN_MS (uint32_t)1000U
#define | RFAL_1MS_IN_1FC (uint32_t)13560U
#define | RFAL_BITS_IN_BYTE (uint16_t)8U
#define | RFAL_CRC_LEN 2U
#define | RFAL_TXRX_FLAGS_DEFAULT ( (uint32_t)RFAL_TXRX_FLAGS_CRC_TX_AUTO | (uint32_t)RFAL_TXRX_FLAGS_CRC_RX_REMV | (uint32_t)RFAL_TXRX_FLAGS_NFCIP1_OFF | (uint32_t)RFAL_TXRX_FLAGS_AGC_ON | (uint32_t)RFAL_TXRX_FLAGS_PAR_RX_REMV | (uint32_t)RFAL_TXRX_FLAGS_PAR_TX_AUTO | (uint32_t)RFAL_TXRX_FLAGS_NFCV_FLAG_AUTO)
#define | RFAL_LM_MASK_NFCA ((uint32_t)1U<<(uint8_t)RFAL_MODE_LISTEN_NFCA)
#define | RFAL_LM_MASK_NFCB ((uint32_t)1U<<(uint8_t)RFAL_MODE_LISTEN_NFCB)
#define | RFAL_LM_MASK_NFCF ((uint32_t)1U<<(uint8_t)RFAL_MODE_LISTEN_NFCF)
#define | RFAL_LM_MASK_ACTIVE_P2P ((uint32_t)1U<<(uint8_t)RFAL_MODE_LISTEN_ACTIVE_P2P)
#define | RFAL_LM_SENS_RES_LEN 2U
#define | RFAL_LM_SENSB_RES_LEN 13U
#define | RFAL_LM_SENSF_RES_LEN 19U
#define | RFAL_LM_SENSF_SC_LEN 2U
#define | RFAL_NFCID3_LEN 10U
#define | RFAL_NFCID2_LEN 8U
#define | RFAL_NFCID1_TRIPLE_LEN 10U
#define | RFAL_NFCID1_DOUBLE_LEN 7U
#define | RFAL_NFCID1_SIMPLE_LEN 4U
#define | rfalGetMaxBrRW() ( ((RFAL_SUPPORT_BR_RW_6780) ? RFAL_BR_6780 : ((RFAL_SUPPORT_BR_RW_3390) ? RFAL_BR_3390 : ((RFAL_SUPPORT_BR_RW_1695) ? RFAL_BR_1695 : ((RFAL_SUPPORT_BR_RW_848) ? RFAL_BR_848 : ((RFAL_SUPPORT_BR_RW_424) ? RFAL_BR_424 : ((RFAL_SUPPORT_BR_RW_212) ? RFAL_BR_212 : RFAL_BR_106 ) ) ) ) ) ) )
#define | rfalGetMaxBrAP2P() ( ((RFAL_SUPPORT_BR_AP2P_848) ? RFAL_BR_848 : ((RFAL_SUPPORT_BR_AP2P_424) ? RFAL_BR_424 : ((RFAL_SUPPORT_BR_AP2P_212) ? RFAL_BR_212 : RFAL_BR_106 ) ) ) )
#define | rfalGetMaxBrCEA() ( ((RFAL_SUPPORT_BR_CE_A_848) ? RFAL_BR_848 : ((RFAL_SUPPORT_BR_CE_A_424) ? RFAL_BR_424 : ((RFAL_SUPPORT_BR_CE_A_212) ? RFAL_BR_212 : RFAL_BR_106 ) ) ) )
#define | rfalGetMaxBrCEB() ( ((RFAL_SUPPORT_BR_CE_B_848) ? RFAL_BR_848 : ((RFAL_SUPPORT_BR_CE_B_424) ? RFAL_BR_424 : ((RFAL_SUPPORT_BR_CE_B_212) ? RFAL_BR_212 : RFAL_BR_106 ) ) ) )
#define | rfalGetMaxBrCEF() ( ((RFAL_SUPPORT_BR_CE_F_424) ? RFAL_BR_424 : RFAL_BR_212 ) )
#define | rfalIsModeActiveComm(md) ( ((md) == RFAL_MODE_POLL_ACTIVE_P2P) || ((md) == RFAL_MODE_LISTEN_ACTIVE_P2P) )
#define | rfalIsModePassiveComm(md) ( !rfalIsModeActiveComm(md) )
#define | rfalIsModePassiveListen(md) ( ((md) == RFAL_MODE_LISTEN_NFCA) || ((md) == RFAL_MODE_LISTEN_NFCB) || ((md) == RFAL_MODE_LISTEN_NFCF) )
#define | rfalIsModePassivePoll(md) ( rfalIsModePassiveComm(md) && !rfalIsModePassiveListen(md) )
#define | rfalConv1fcTo8fc(t) (uint32_t)( (uint32_t)(t) / RFAL_1FC_IN_8FC )
#define | rfalConv8fcTo1fc(t) (uint32_t)( (uint32_t)(t) * RFAL_1FC_IN_8FC )
#define | rfalConv1fcTo64fc(t) (uint32_t)( (uint32_t)(t) / RFAL_1FC_IN_64FC )
#define | rfalConv64fcTo1fc(t) (uint32_t)( (uint32_t)(t) * RFAL_1FC_IN_64FC )
#define | rfalConv1fcTo512fc(t) (uint32_t)( (uint32_t)(t) / RFAL_1FC_IN_512FC )
#define | rfalConv512fcTo1fc(t) (uint32_t)( (uint32_t)(t) * RFAL_1FC_IN_512FC )
#define | rfalConv1fcTo4096fc(t) (uint32_t)( (uint32_t)(t) / RFAL_1FC_IN_4096FC )
#define | rfalConv4096fcTo1fc(t) (uint32_t)( (uint32_t)(t) * RFAL_1FC_IN_4096FC )
#define | rfalConv1fcToMs(t) (uint32_t)( (uint32_t)(t) / RFAL_1MS_IN_1FC )
#define | rfalConvMsTo1fc(t) (uint32_t)( (uint32_t)(t) * RFAL_1MS_IN_1FC )
#define | rfalConv1fcToUs(t) (uint32_t)( ((uint32_t)(t) * RFAL_US_IN_MS) / RFAL_1MS_IN_1FC)
#define | rfalConvUsTo1fc(t) (uint32_t)( ((uint32_t)(t) * RFAL_1MS_IN_1FC) / RFAL_US_IN_MS)
#define | rfalConv64fcToMs(t) (uint32_t)( (uint32_t)(t) / (RFAL_1MS_IN_1FC / RFAL_1FC_IN_64FC) )
#define | rfalConvMsTo64fc(t) (uint32_t)( (uint32_t)(t) * (RFAL_1MS_IN_1FC / RFAL_1FC_IN_64FC) )
#define | rfalConvBitsToBytes(n) (uint16_t)( ((uint16_t)(n)+(RFAL_BITS_IN_BYTE-1U)) / (RFAL_BITS_IN_BYTE) )
#define | rfalConvBytesToBits(n) (uint32_t)( (uint32_t)(n) * (RFAL_BITS_IN_BYTE) )
#define | rfalCreateByteTxRxContext(ctx, tB, tBL, rB, rBL, rdL, t)
#define | rfalCreateByteFlagsTxRxContext(ctx, tB, tBL, rB, rBL, rdL, fl, t)
#define | rfalLogE(...) platformLog(__VA_ARGS__)
#define | rfalLogW(...) platformLog(__VA_ARGS__)
#define | rfalLogI(...) platformLog(__VA_ARGS__)
#define | rfalLogD(...) platformLog(__VA_ARGS__)
#define | RFAL_GT_NFCA rfalConvMsTo1fc(5U)
#define | RFAL_GT_NFCB rfalConvMsTo1fc(5U)
#define | RFAL_GT_NFCF rfalConvMsTo1fc(20U)
#define | RFAL_GT_NFCV rfalConvMsTo1fc(5U)
#define | RFAL_GT_PICOPASS rfalConvMsTo1fc(1U)
#define | RFAL_GT_AP2P rfalConvMsTo1fc(5U)
#define | RFAL_GT_AP2P_ADJUSTED rfalConvMsTo1fc(5U+25U)
#define | RFAL_FDT_LISTEN_NFCA_POLLER 1172U
#define | RFAL_FDT_LISTEN_NFCB_POLLER 1008U
#define | RFAL_FDT_LISTEN_NFCF_POLLER 2672U
#define | RFAL_FDT_LISTEN_NFCV_POLLER 4310U
#define | RFAL_FDT_LISTEN_PICOPASS_POLLER 3400U
#define | RFAL_FDT_LISTEN_AP2P_POLLER 64U
#define | RFAL_FDT_LISTEN_NFCA_LISTENER 1172U
#define | RFAL_FDT_LISTEN_NFCB_LISTENER 1024U
#define | RFAL_FDT_LISTEN_NFCF_LISTENER 2688U
#define | RFAL_FDT_LISTEN_AP2P_LISTENER 64U
#define | RFAL_FDT_POLL_NFCA_POLLER 6780U
#define | RFAL_FDT_POLL_NFCA_T1T_POLLER 384U
#define | RFAL_FDT_POLL_NFCB_POLLER 6780U
#define | RFAL_FDT_POLL_NFCF_POLLER 6800U
#define | RFAL_FDT_POLL_NFCV_POLLER 4192U
#define | RFAL_FDT_POLL_PICOPASS_POLLER 1790U
#define | RFAL_FDT_POLL_AP2P_POLLER 0U
#define | RFAL_FELICA_LEN_LEN 1U
#define | RFAL_FELICA_POLL_REQ_LEN (RFAL_FELICA_LEN_LEN + 1U + 2U + 1U + 1U)
#define | RFAL_FELICA_POLL_RES_LEN (RFAL_FELICA_LEN_LEN + 1U + 8U + 8U + 2U)
#define | RFAL_FELICA_POLL_MAX_SLOTS 16U
#define | RFAL_WUM_REFERENCE_AUTO 0xFFU

Typedefs

typedef void(* | rfalUpperLayerCallback )(void)
typedef void(* | rfalPreTxRxCallback )(void)
typedef void(* | rfalPostTxRxCallback )(void)
typedef uint8_t | rfalFeliCaPollRes [RFAL_FELICA_POLL_RES_LEN]

Enumerations

enum rfalMode {
RFAL_MODE_NONE = 0, RFAL_MODE_POLL_NFCA = 1, RFAL_MODE_POLL_NFCA_T1T = 2, RFAL_MODE_POLL_NFCB = 3,
RFAL_MODE_POLL_B_PRIME = 4, RFAL_MODE_POLL_B_CTS = 5, RFAL_MODE_POLL_NFCF = 6, RFAL_MODE_POLL_NFCV = 7,
RFAL_MODE_POLL_PICOPASS = 8, RFAL_MODE_POLL_ACTIVE_P2P = 9, RFAL_MODE_LISTEN_NFCA = 10, RFAL_MODE_LISTEN_NFCB = 11,
RFAL_MODE_LISTEN_NFCF = 12, RFAL_MODE_LISTEN_ACTIVE_P2P = 13
}
enum rfalBitRate {
RFAL_BR_106 = 0, RFAL_BR_212 = 1, RFAL_BR_424 = 2, RFAL_BR_848 = 3,
RFAL_BR_1695 = 4, RFAL_BR_3390 = 5, RFAL_BR_6780 = 6, RFAL_BR_13560 = 7,
RFAL_BR_52p97 = 0xEB, RFAL_BR_26p48 = 0xEC, RFAL_BR_1p66 = 0xED, RFAL_BR_KEEP = 0xFF
}
enum | rfalComplianceMode { RFAL_COMPLIANCE_MODE_NFC, RFAL_COMPLIANCE_MODE_EMV, RFAL_COMPLIANCE_MODE_ISO }
enum rfalState {
RFAL_STATE_IDLE = 0, RFAL_STATE_INIT = 1, RFAL_STATE_MODE_SET = 2, RFAL_STATE_TXRX = 3,
RFAL_STATE_LM = 4, RFAL_STATE_WUM = 5
}
enum rfalTransceiveState {
RFAL_TXRX_STATE_IDLE = 0, RFAL_TXRX_STATE_INIT = 1, RFAL_TXRX_STATE_START = 2, RFAL_TXRX_STATE_TX_IDLE = 11,
RFAL_TXRX_STATE_TX_WAIT_GT = 12, RFAL_TXRX_STATE_TX_WAIT_FDT = 13, RFAL_TXRX_STATE_TX_TRANSMIT = 14, RFAL_TXRX_STATE_TX_WAIT_WL = 15,
RFAL_TXRX_STATE_TX_RELOAD_FIFO = 16, RFAL_TXRX_STATE_TX_WAIT_TXE = 17, RFAL_TXRX_STATE_TX_DONE = 18, RFAL_TXRX_STATE_TX_FAIL = 19,
RFAL_TXRX_STATE_RX_IDLE = 81, RFAL_TXRX_STATE_RX_WAIT_EON = 82, RFAL_TXRX_STATE_RX_WAIT_RXS = 83, RFAL_TXRX_STATE_RX_WAIT_RXE = 84,
RFAL_TXRX_STATE_RX_READ_FIFO = 85, RFAL_TXRX_STATE_RX_ERR_CHECK = 86, RFAL_TXRX_STATE_RX_READ_DATA = 87, RFAL_TXRX_STATE_RX_WAIT_EOF = 88,
RFAL_TXRX_STATE_RX_DONE = 89, RFAL_TXRX_STATE_RX_FAIL = 90
}
enum {
RFAL_TXRX_FLAGS_CRC_TX_AUTO = (0U<<0), RFAL_TXRX_FLAGS_CRC_TX_MANUAL = (1U<<0), RFAL_TXRX_FLAGS_CRC_RX_KEEP = (1U<<1), RFAL_TXRX_FLAGS_CRC_RX_REMV = (0U<<1),
RFAL_TXRX_FLAGS_NFCIP1_ON = (1U<<2), RFAL_TXRX_FLAGS_NFCIP1_OFF = (0U<<2), RFAL_TXRX_FLAGS_AGC_OFF = (1U<<3), RFAL_TXRX_FLAGS_AGC_ON = (0U<<3),
RFAL_TXRX_FLAGS_PAR_RX_KEEP = (1U<<4), RFAL_TXRX_FLAGS_PAR_RX_REMV = (0U<<0), RFAL_TXRX_FLAGS_PAR_TX_NONE = (1U<<5), RFAL_TXRX_FLAGS_PAR_TX_AUTO = (0U<<5),
RFAL_TXRX_FLAGS_NFCV_FLAG_MANUAL = (1U<<6), RFAL_TXRX_FLAGS_NFCV_FLAG_AUTO = (0U<<6)
}
enum | rfalEHandling { RFAL_ERRORHANDLING_NONE = 0, RFAL_ERRORHANDLING_NFC = 1, RFAL_ERRORHANDLING_EMVCO = 2 }
enum | rfal14443AShortFrameCmd { RFAL_14443A_SHORTFRAME_CMD_WUPA = 0x52, RFAL_14443A_SHORTFRAME_CMD_REQA = 0x26 }
enum | { RFAL_FELICA_POLL_RC_NO_REQUEST = 0x00, RFAL_FELICA_POLL_RC_SYSTEM_CODE = 0x01, RFAL_FELICA_POLL_RC_COM_PERFORMANCE = 0x02 }
enum rfalFeliCaPollSlots {
RFAL_FELICA_1_SLOT = 0, RFAL_FELICA_2_SLOTS = 1, RFAL_FELICA_4_SLOTS = 3, RFAL_FELICA_8_SLOTS = 7,
RFAL_FELICA_16_SLOTS = 15
}
enum | rfalLmNfcidLen { RFAL_LM_NFCID_LEN_04 = 4, RFAL_LM_NFCID_LEN_07 = 7, RFAL_LM_NFCID_LEN_10 = 10 }
enum rfalLmState {
RFAL_LM_STATE_NOT_INIT = 0x00, RFAL_LM_STATE_POWER_OFF = 0x01, RFAL_LM_STATE_IDLE = 0x02, RFAL_LM_STATE_READY_A = 0x03,
RFAL_LM_STATE_READY_B = 0x04, RFAL_LM_STATE_READY_F = 0x05, RFAL_LM_STATE_ACTIVE_A = 0x06, RFAL_LM_STATE_CARDEMU_4A = 0x07,
RFAL_LM_STATE_CARDEMU_4B = 0x08, RFAL_LM_STATE_CARDEMU_3 = 0x09, RFAL_LM_STATE_TARGET_A = 0x0A, RFAL_LM_STATE_TARGET_F = 0x0B,
RFAL_LM_STATE_SLEEP_A = 0x0C, RFAL_LM_STATE_SLEEP_B = 0x0D, RFAL_LM_STATE_READY_Ax = 0x0E, RFAL_LM_STATE_ACTIVE_Ax = 0x0F,
RFAL_LM_STATE_SLEEP_AF = 0x10
}
enum | rfalWumState { RFAL_WUM_STATE_NOT_INIT = 0x00, RFAL_WUM_STATE_ENABLED = 0x01, RFAL_WUM_STATE_ENABLED_WOKE = 0x02 }
enum rfalWumPeriod {
RFAL_WUM_PERIOD_10MS = 0x00, RFAL_WUM_PERIOD_20MS = 0x01, RFAL_WUM_PERIOD_30MS = 0x02, RFAL_WUM_PERIOD_40MS = 0x03,
RFAL_WUM_PERIOD_50MS = 0x04, RFAL_WUM_PERIOD_60MS = 0x05, RFAL_WUM_PERIOD_70MS = 0x06, RFAL_WUM_PERIOD_80MS = 0x07,
RFAL_WUM_PERIOD_100MS = 0x10, RFAL_WUM_PERIOD_200MS = 0x11, RFAL_WUM_PERIOD_300MS = 0x12, RFAL_WUM_PERIOD_400MS = 0x13,
RFAL_WUM_PERIOD_500MS = 0x14, RFAL_WUM_PERIOD_600MS = 0x15, RFAL_WUM_PERIOD_700MS = 0x16, RFAL_WUM_PERIOD_800MS = 0x17
}
enum | rfalWumAAWeight { RFAL_WUM_AA_WEIGHT_4 = 0x00, RFAL_WUM_AA_WEIGHT_8 = 0x01, RFAL_WUM_AA_WEIGHT_16 = 0x02, RFAL_WUM_AA_WEIGHT_32 = 0x03 }

Functions

ReturnCode | rfalInitialize (void)
RFAL Initialize. More...
ReturnCode | rfalCalibrate (void)
RFAL Calibrate. More...
ReturnCode | rfalAdjustRegulators (uint16_t *result)
RFAL Adjust Regulators. More...
void | rfalSetUpperLayerCallback (rfalUpperLayerCallback pFunc)
RFAL Set System Callback. More...
void | rfalSetPreTxRxCallback (rfalPreTxRxCallback pFunc)
RFAL Set Pre Tx Callback. More...
void | rfalSetPostTxRxCallback (rfalPostTxRxCallback pFunc)
RFAL Set Post Tx Callback. More...
ReturnCode | rfalDeinitialize (void)
RFAL Deinitialize. More...
ReturnCode | rfalSetMode (rfalMode mode, rfalBitRate txBR, rfalBitRate rxBR)
RFAL Set Mode. More...
rfalMode | rfalGetMode (void)
RFAL Get Mode. More...
ReturnCode | rfalSetBitRate (rfalBitRate txBR, rfalBitRate rxBR)
RFAL Set Bit Rate. More...
ReturnCode | rfalGetBitRate (rfalBitRate *txBR, rfalBitRate *rxBR)
RFAL Get Bit Rate. More...
void | rfalSetErrorHandling (rfalEHandling eHandling)
Set Error Handling Mode. More...
rfalEHandling | rfalGetErrorHandling (void)
Get Error Handling Mode. More...
void | rfalSetObsvMode (uint8_t txMode, uint8_t rxMode)
Set Observation Mode. More...
void | rfalGetObsvMode (uint8_t *txMode, uint8_t *rxMode)
Get Observation Mode. More...
void | rfalDisableObsvMode (void)
Disable Observation Mode. More...
void | rfalSetFDTPoll (uint32_t FDTPoll)
RFAL Set FDT Poll. More...
uint32_t | rfalGetFDTPoll (void)
RFAL Set FDT Poll. More...
void | rfalSetFDTListen (uint32_t FDTListen)
RFAL Set FDT Listen. More...
uint32_t | rfalGetFDTListen (void)
RFAL Set FDT Listen. More...
uint32_t | rfalGetGT (void)
RFAL Get GT. More...
void | rfalSetGT (uint32_t GT)
RFAL Set GT. More...
bool | rfalIsGTExpired (void)
RFAL Is GT expired. More...
ReturnCode | rfalFieldOnAndStartGT (void)
RFAL Turn Field On and Start GT. More...
ReturnCode | rfalFieldOff (void)
RFAL Turn Field Off. More...
ReturnCode | rfalStartTransceive (const rfalTransceiveContext *ctx)
RFAL Set transceive context. More...
rfalTransceiveState | rfalGetTransceiveState (void)
Get Transceive State. More...
ReturnCode | rfalGetTransceiveStatus (void)
Get Transceive Status. More...
bool | rfalIsTransceiveInTx (void)
Is Transceive in Tx. More...
bool | rfalIsTransceiveInRx (void)
Is Transceive in Rx. More...
ReturnCode | rfalGetTransceiveRSSI (uint16_t *rssi)
Get Transceive RSSI. More...
void | rfalWorker (void)
RFAL Worker. More...
ReturnCode | rfalISO14443ATransceiveShortFrame (rfal14443AShortFrameCmd txCmd, uint8_t *rxBuf, uint8_t rxBufLen, uint16_t *rxRcvdLen, uint32_t fwt)
Transceives an ISO14443A ShortFrame. More...
ReturnCode | rfalISO14443ATransceiveAnticollisionFrame (uint8_t *buf, uint8_t *bytesToSend, uint8_t *bitsToSend, uint16_t *rxLength, uint32_t fwt)
Sends an ISO14443A Anticollision Frame. More...
ReturnCode | rfalFeliCaPoll (rfalFeliCaPollSlots slots, uint16_t sysCode, uint8_t reqCode, rfalFeliCaPollRes *pollResList, uint8_t pollResListSize, uint8_t *devicesDetected, uint8_t *collisionsDetected)
FeliCa Poll. More...
ReturnCode | rfalISO15693TransceiveAnticollisionFrame (uint8_t *txBuf, uint8_t txBufLen, uint8_t *rxBuf, uint8_t rxBufLen, uint16_t *actLen)
Sends an ISO15693 Anticollision Frame. More...
ReturnCode | rfalISO15693TransceiveEOFAnticollision (uint8_t *rxBuf, uint8_t rxBufLen, uint16_t *actLen)
Sends an ISO15693 Anticollision EOF. More...
ReturnCode | rfalISO15693TransceiveEOF (uint8_t *rxBuf, uint8_t rxBufLen, uint16_t *actLen)
Sends an ISO15693 EOF. More...
ReturnCode | rfalTransceiveBlockingTx (uint8_t *txBuf, uint16_t txBufLen, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *actLen, uint32_t flags, uint32_t fwt)
Transceive Blocking Tx. More...
ReturnCode | rfalTransceiveBlockingRx (void)
Transceive Blocking Rx. More...
ReturnCode | rfalTransceiveBlockingTxRx (uint8_t *txBuf, uint16_t txBufLen, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *actLen, uint32_t flags, uint32_t fwt)
Transceive Blocking. More...
bool | rfalIsExtFieldOn (void)
Is external Field On. More...
ReturnCode | rfalListenStart (uint32_t lmMask, const rfalLmConfPA *confA, const rfalLmConfPB *confB, const rfalLmConfPF *confF, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rxLen)
Listen Mode start. More...
ReturnCode | rfalListenSleepStart (rfalLmState sleepSt, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rxLen)
Listen Mode start Sleeping.
ReturnCode | rfalListenStop (void)
Listen Mode Stop. More...
rfalLmState | rfalListenGetState (bool *dataFlag, rfalBitRate *lastBR)
Listen Mode get state. More...
ReturnCode | rfalListenSetState (rfalLmState newSt)
Listen Mode set state. More...
ReturnCode | rfalWakeUpModeStart (const rfalWakeUpConfig *config)
Wake-Up Mode Start. More...
bool | rfalWakeUpModeHasWoke (void)
Wake-Up Has Woke. More...
ReturnCode | rfalWakeUpModeStop (void)
Wake-Up Mode Stop. More...
ReturnCode | rfalLowPowerModeStart (void)
Low Power Mode Start. More...
ReturnCode | rfalLowPowerModeStop (void)
Low Power Mode Stop. More...

Detailed Description

Macro Definition Documentation

#define RFAL_1FC_IN_4096FC (uint32_t)4096U

Number of 1/fc cycles in one 4096/fc

#define RFAL_1FC_IN_512FC (uint32_t)512U

Number of 1/fc cycles in one 512/fc

#define RFAL_1FC_IN_64FC (uint32_t)64U

Number of 1/fc cycles in one 64/fc

#define RFAL_1FC_IN_8FC (uint32_t)8U

Number of 1/fc cycles in one 8/fc

#define RFAL_1MS_IN_1FC (uint32_t)13560U

Number of 1/fc cycles in 1ms

#define RFAL_BITS_IN_BYTE (uint16_t)8U

Number of bits in one byte

#define RFAL_CRC_LEN 2U

RF CRC LEN

#define RFAL_FDT_LISTEN_AP2P_LISTENER 64U

FDT AP2P No actual FDTListen exists as fields switch and collision avoidance

#define RFAL_FDT_LISTEN_AP2P_POLLER 64U

FDT AP2P No actual FDTListen is required as fields switch and collision avoidance

#define RFAL_FDT_LISTEN_NFCA_LISTENER 1172U

FDTA,LISTEN,MIN Digital 1.1 6.10

#define RFAL_FDT_LISTEN_NFCA_POLLER 1172U

FDTA,LISTEN,MIN (n=9) Last bit: Logic "1" - tnn,min/2 Digital 1.1 6.10 ; EMV CCP Spec Book D v2.01 4.8.1.3

#define RFAL_FDT_LISTEN_NFCB_LISTENER 1024U

TR0B,MIN Digital 1.1 7.1.3 & A.3 ; EMV CCP Spec Book D v2.01 4.8.1.3 & Table A.5

#define RFAL_FDT_LISTEN_NFCB_POLLER 1008U

TR0B,MIN Digital 1.1 7.1.3 & A.3 ; EMV CCP Spec Book D v2.01 4.8.1.3 & Table A.5

#define RFAL_FDT_LISTEN_NFCF_LISTENER 2688U

TR0F,LISTEN,MIN Digital 2.1 8.7.1.1 & B.4

#define RFAL_FDT_LISTEN_NFCF_POLLER 2672U

TR0F,LISTEN,MIN Digital 1.1 8.7.1.1 & A.4

#define RFAL_FDT_LISTEN_NFCV_POLLER 4310U

FDTV,LISTEN,MIN t1 min Digital 2.1 B.5 ; ISO15693-3 2009 9.1

#define RFAL_FDT_LISTEN_PICOPASS_POLLER 3400U

ISO15693 t1 min - observed adjustment

#define RFAL_FDT_POLL_AP2P_POLLER 0U

FDT AP2P No actual FDTPoll exists as fields switch and collision avoidance

#define RFAL_FDT_POLL_NFCA_POLLER 6780U

FDTA,POLL,MIN Digital 1.1 6.10.3.1 & A.2

#define RFAL_FDT_POLL_NFCA_T1T_POLLER 384U

RRDDT1T,MIN,B1 Digital 1.1 10.7.1 & A.5

#define RFAL_FDT_POLL_NFCB_POLLER 6780U

FDTB,POLL,MIN = TR2B,MIN,DEFAULT Digital 1.1 7.9.3 & A.3 ; EMVCo 3.0 FDTB,PCD,MIN Table A.5

#define RFAL_FDT_POLL_NFCF_POLLER 6800U

FDTF,POLL,MIN Digital 2.1 8.7.3 & B.4

#define RFAL_FDT_POLL_NFCV_POLLER 4192U

FDTV,POLL Digital 2.1 9.7.3.1 & B.5

#define RFAL_FDT_POLL_PICOPASS_POLLER 1790U

FDT Max

#define RFAL_FELICA_LEN_LEN 1U

FeliCa LEN byte length

#define RFAL_FELICA_POLL_MAX_SLOTS 16U

Maximum number of slots (TSN) on FeliCa Poll

#define RFAL_FELICA_POLL_REQ_LEN (RFAL_FELICA_LEN_LEN + 1U + 2U + 1U + 1U)

FeliCa Poll Request length (LEN + CMD + SC + RC + TSN)

#define RFAL_FELICA_POLL_RES_LEN (RFAL_FELICA_LEN_LEN + 1U + 8U + 8U + 2U)

Maximum FeliCa Poll Response length (LEN + CMD + NFCID2 + PAD + RD)

#define RFAL_FWT_NONE 0xFFFFFFFFU

Disabled FWT: Wait forever for a response

#define RFAL_GT_AP2P rfalConvMsTo1fc(5U)

TIRFG Ecma 340 11.1.1

#define RFAL_GT_AP2P_ADJUSTED rfalConvMsTo1fc(5U+25U)

Adjusted GT for greater interoperability (Sony XPERIA P, Nokia N9, Huawei P2)

#define RFAL_GT_NFCA rfalConvMsTo1fc(5U)

GTA Digital 2.0 6.10.4.1 & B.2

#define RFAL_GT_NFCB rfalConvMsTo1fc(5U)

GTB Digital 2.0 7.9.4.1 & B.3

#define RFAL_GT_NFCF rfalConvMsTo1fc(20U)

GTF Digital 2.0 8.7.4.1 & B.4

#define RFAL_GT_NFCV rfalConvMsTo1fc(5U)

GTV Digital 2.0 9.7.5.1 & B.5

#define RFAL_GT_NONE RFAL_TIMING_NONE

Disabled GT: No GT will be applied after Field On

#define RFAL_GT_PICOPASS rfalConvMsTo1fc(1U)

GT Picopass

#define RFAL_LM_MASK_ACTIVE_P2P ((uint32_t)1U<<(uint8_t)RFAL_MODE_LISTEN_ACTIVE_P2P)

Bitmask for Listen Mode enabling AP2P

#define RFAL_LM_MASK_NFCA ((uint32_t)1U<<(uint8_t)RFAL_MODE_LISTEN_NFCA)

Bitmask for Listen Mode enabling NFCA

#define RFAL_LM_MASK_NFCB ((uint32_t)1U<<(uint8_t)RFAL_MODE_LISTEN_NFCB)

Bitmask for Listen Mode enabling NFCB

#define RFAL_LM_MASK_NFCF ((uint32_t)1U<<(uint8_t)RFAL_MODE_LISTEN_NFCF)

Bitmask for Listen Mode enabling NFCF

#define RFAL_LM_SENS_RES_LEN 2U

NFC-A SENS_RES (ATQA) length

#define RFAL_LM_SENSB_RES_LEN 13U

NFC-B SENSB_RES (ATQB) length

#define RFAL_LM_SENSF_RES_LEN 19U

NFC-F SENSF_RES length

#define RFAL_LM_SENSF_SC_LEN 2U

NFC-F System Code length

#define RFAL_NFCID1_DOUBLE_LEN 7U

NFCID1 length

#define RFAL_NFCID1_SIMPLE_LEN 4U

NFCID1 length

#define RFAL_NFCID1_TRIPLE_LEN 10U

NFCID1 length

#define RFAL_NFCID2_LEN 8U

NFCID2 length

#define RFAL_NFCID3_LEN 10U

NFCID3 length

#define RFAL_TIMING_NONE 0x00U

Timing disabled | Don't apply

#define RFAL_TXRX_FLAGS_DEFAULT ( (uint32_t)RFAL_TXRX_FLAGS_CRC_TX_AUTO | (uint32_t)RFAL_TXRX_FLAGS_CRC_RX_REMV | (uint32_t)RFAL_TXRX_FLAGS_NFCIP1_OFF | (uint32_t)RFAL_TXRX_FLAGS_AGC_ON | (uint32_t)RFAL_TXRX_FLAGS_PAR_RX_REMV | (uint32_t)RFAL_TXRX_FLAGS_PAR_TX_AUTO | (uint32_t)RFAL_TXRX_FLAGS_NFCV_FLAG_AUTO)

Default TxRx flags: Tx CRC automatic, Rx CRC removed, NFCIP1 mode off, AGC On, Tx Parity automatic, Rx Parity removed

Examples:
exampleRfalPoller.c.
#define RFAL_US_IN_MS (uint32_t)1000U

Number of us in one ms

#define RFAL_VERSION (uint32_t)0x020102U

RFAL Current Version: v2.1.2

#define RFAL_WUM_REFERENCE_AUTO 0xFFU

Indicates new reference is set by the driver

#define rfalConv1fcTo4096fc ( t ) (uint32_t)( (uint32_t)(t) / RFAL_1FC_IN_4096FC )

Converts the given t from 1/fc to 4096/fc

#define rfalConv1fcTo512fc ( t ) (uint32_t)( (uint32_t)(t) / RFAL_1FC_IN_512FC )

Converts the given t from 1/fc to 512/fc

#define rfalConv1fcTo64fc ( t ) (uint32_t)( (uint32_t)(t) / RFAL_1FC_IN_64FC )

Converts the given t from 1/fc to 64/fc

#define rfalConv1fcTo8fc ( t ) (uint32_t)( (uint32_t)(t) / RFAL_1FC_IN_8FC )

Converts the given t from 1/fc to 8/fc

#define rfalConv1fcToMs ( t ) (uint32_t)( (uint32_t)(t) / RFAL_1MS_IN_1FC )

Converts the given t from 1/fc to ms

#define rfalConv1fcToUs ( t ) (uint32_t)( ((uint32_t)(t) * RFAL_US_IN_MS) / RFAL_1MS_IN_1FC)

Converts the given t from 1/fc to us

#define rfalConv4096fcTo1fc ( t ) (uint32_t)( (uint32_t)(t) * RFAL_1FC_IN_4096FC )

Converts the given t from 4096/fc to 1/fc

#define rfalConv512fcTo1fc ( t ) (uint32_t)( (uint32_t)(t) * RFAL_1FC_IN_512FC )

Converts the given t from 512/fc to 1/fc

#define rfalConv64fcTo1fc ( t ) (uint32_t)( (uint32_t)(t) * RFAL_1FC_IN_64FC )

Converts the given t from 64/fc to 1/fc

#define rfalConv64fcToMs ( t ) (uint32_t)( (uint32_t)(t) / (RFAL_1MS_IN_1FC / RFAL_1FC_IN_64FC) )

Converts the given t from 64/fc to ms

#define rfalConv8fcTo1fc ( t ) (uint32_t)( (uint32_t)(t) * RFAL_1FC_IN_8FC )

Converts the given t from 8/fc to 1/fc

#define rfalConvBitsToBytes ( n ) (uint16_t)( ((uint16_t)(n)+(RFAL_BITS_IN_BYTE-1U)) / (RFAL_BITS_IN_BYTE) )

Converts the given n from bits to bytes

#define rfalConvBytesToBits ( n ) (uint32_t)( (uint32_t)(n) * (RFAL_BITS_IN_BYTE) )

Converts the given n from bytes to bits

#define rfalConvMsTo1fc ( t ) (uint32_t)( (uint32_t)(t) * RFAL_1MS_IN_1FC )

Converts the given t from ms to 1/fc

Examples:
exampleRfalPoller.c.
#define rfalConvMsTo64fc ( t ) (uint32_t)( (uint32_t)(t) * (RFAL_1MS_IN_1FC / RFAL_1FC_IN_64FC) )

Converts the given t from ms to 64/fc

#define rfalConvUsTo1fc ( t ) (uint32_t)( ((uint32_t)(t) * RFAL_1MS_IN_1FC) / RFAL_US_IN_MS)

Converts the given t from us to 1/fc

#define rfalCreateByteFlagsTxRxContext | ( | ctx,
 |  | tB,
 |  | tBL,
 |  | rB,
 |  | rBL,
 |  | rdL,
 |  | fl,
 |  | t
 | ) |
Value:
(ctx).txBuf = (uint8_t*)(tB); \
(ctx).txBufLen = (uint16_t)rfalConvBytesToBits(tBL); \
(ctx).rxBuf = (uint8_t*)(rB); \
(ctx).rxBufLen = (uint16_t)rfalConvBytesToBits(rBL); \
(ctx).rxRcvdLen = (uint16_t*)(rdL); \
(ctx).flags = (uint32_t)(fl); \
(ctx).fwt = (uint32_t)(t);
rfalConvBytesToBits
#define rfalConvBytesToBits(n)
Definition: rfal_rf.h:183

Computes a Transceive context ctx using lengths in bytes with the given flags and arguments ctx : Transceive context to be assigned tB : txBuf the pointer to the buffer to be sent tBL : txBuf length in bytes rB : rxBuf the pointer to the buffer to place the received frame rBL : rxBuf length in bytes rBL : rxBuf length in bytes t : FWT to be used on this transceive in 1/fc

Examples:
exampleRfalPoller.c.
#define rfalCreateByteTxRxContext | ( | ctx,
 |  | tB,
 |  | tBL,
 |  | rB,
 |  | rBL,
 |  | rdL,
 |  | t
 | ) |
Value:
(ctx).txBuf = (uint8_t*)(tB); \
(ctx).txBufLen = (uint16_t)rfalConvBytesToBits(tBL); \
(ctx).rxBuf = (uint8_t*)(rB); \
(ctx).rxBufLen = (uint16_t)rfalConvBytesToBits(rBL); \
(ctx).rxRcvdLen = (uint16_t*)(rdL); \
(ctx).flags = (uint32_t)RFAL_TXRX_FLAGS_DEFAULT; \
(ctx).fwt = (uint32_t)(t);
rfalConvBytesToBits
#define rfalConvBytesToBits(n)
Definition: rfal_rf.h:183
RFAL_TXRX_FLAGS_DEFAULT
#define RFAL_TXRX_FLAGS_DEFAULT
Definition: rfal_rf.h:112

Computes a Transceive context ctx with default flags and the lengths in bytes with the given arguments ctx : Transceive context to be assigned tB : txBuf the pointer to the buffer to be sent tBL : txBuf length in bytes rB : rxBuf the pointer to the buffer to place the received frame rBL : rxBuf length in bytes rBL : rxBuf length in bytes t : FWT to be used on this transceive in 1/fc

#define rfalGetMaxBrAP2P ( ) ( ((RFAL_SUPPORT_BR_AP2P_848) ? RFAL_BR_848 : ((RFAL_SUPPORT_BR_AP2P_424) ? RFAL_BR_424 : ((RFAL_SUPPORT_BR_AP2P_212) ? RFAL_BR_212 : RFAL_BR_106 ) ) ) )

Returns the maximum supported bit rate for AP2P mode. Caller must check if mode is supported before, as even if mode is not supported will return the min

#define rfalGetMaxBrCEA ( ) ( ((RFAL_SUPPORT_BR_CE_A_848) ? RFAL_BR_848 : ((RFAL_SUPPORT_BR_CE_A_424) ? RFAL_BR_424 : ((RFAL_SUPPORT_BR_CE_A_212) ? RFAL_BR_212 : RFAL_BR_106 ) ) ) )

Returns the maximum supported bit rate for CE-A mode. Caller must check if mode is supported before, as even if mode is not supported will return the min

#define rfalGetMaxBrCEB ( ) ( ((RFAL_SUPPORT_BR_CE_B_848) ? RFAL_BR_848 : ((RFAL_SUPPORT_BR_CE_B_424) ? RFAL_BR_424 : ((RFAL_SUPPORT_BR_CE_B_212) ? RFAL_BR_212 : RFAL_BR_106 ) ) ) )

Returns the maximum supported bit rate for CE-B mode. Caller must check if mode is supported before, as even if mode is not supported will return the min

#define rfalGetMaxBrCEF ( ) ( ((RFAL_SUPPORT_BR_CE_F_424) ? RFAL_BR_424 : RFAL_BR_212 ) )

Returns the maximum supported bit rate for CE-F mode. Caller must check if mode is supported before, as even if mode is not supported will return the min

#define rfalGetMaxBrRW ( ) ( ((RFAL_SUPPORT_BR_RW_6780) ? RFAL_BR_6780 : ((RFAL_SUPPORT_BR_RW_3390) ? RFAL_BR_3390 : ((RFAL_SUPPORT_BR_RW_1695) ? RFAL_BR_1695 : ((RFAL_SUPPORT_BR_RW_848) ? RFAL_BR_848 : ((RFAL_SUPPORT_BR_RW_424) ? RFAL_BR_424 : ((RFAL_SUPPORT_BR_RW_212) ? RFAL_BR_212 : RFAL_BR_106 ) ) ) ) ) ) )

Returns the maximum supported bit rate for RW mode. Caller must check if mode is supported before, as even if mode is not supported will return the min

#define rfalIsModeActiveComm ( md ) ( ((md) == RFAL_MODE_POLL_ACTIVE_P2P) || ((md) == RFAL_MODE_LISTEN_ACTIVE_P2P) )

Checks if mode md is Active Communication

#define rfalIsModePassiveComm ( md ) ( !rfalIsModeActiveComm(md) )

Checks if mode md is Passive Communication

#define rfalIsModePassiveListen ( md ) ( ((md) == RFAL_MODE_LISTEN_NFCA) || ((md) == RFAL_MODE_LISTEN_NFCB) || ((md) == RFAL_MODE_LISTEN_NFCF) )

Checks if mode md is Passive Listen

#define rfalIsModePassivePoll ( md ) ( rfalIsModePassiveComm(md) && !rfalIsModePassiveListen(md) )

Checks if mode md is Passive Poll

#define rfalLogD ( ... ) platformLog(__VA_ARGS__)

Macro for the debug log method

#define rfalLogE ( ... ) platformLog(__VA_ARGS__)

Macro for the error log method

#define rfalLogI ( ... ) platformLog(__VA_ARGS__)

Macro for the info log method

#define rfalLogW ( ... ) platformLog(__VA_ARGS__)

Macro for the warning log method

Typedef Documentation

typedef uint8_t rfalFeliCaPollRes[RFAL_FELICA_POLL_RES_LEN]

NFCF Poll Response NFC Forum Digital 1.1 Table 44

typedef void(* rfalPostTxRxCallback)(void)

Callback to be executed after a Transceive

typedef void(* rfalPreTxRxCallback)(void)

Callback to be executed before a Transceive

typedef void(* rfalUpperLayerCallback)(void)

System callback to indicate an event that requires a system reRun

Enumeration Type Documentation

anonymous enum

RFAL transceive flags

Enumerator
RFAL_TXRX_FLAGS_CRC_TX_AUTO | CRC will be generated automatic upon transmission
RFAL_TXRX_FLAGS_CRC_TX_MANUAL | CRC was calculated manually, included in txBuffer
RFAL_TXRX_FLAGS_CRC_RX_KEEP | Upon Reception keep the CRC in rxBuffer (reflected on rcvd length)
RFAL_TXRX_FLAGS_CRC_RX_REMV | Enable CRC check and remove the CRC from rxBuffer
RFAL_TXRX_FLAGS_NFCIP1_ON | Enable NFCIP1 mode: Add SB(F0) and LEN bytes during Tx and skip SB(F0) byte during Rx
RFAL_TXRX_FLAGS_NFCIP1_OFF | Disable NFCIP1 mode: do not append protocol bytes while Tx nor skip while Rx
RFAL_TXRX_FLAGS_AGC_OFF | Disable Automatic Gain Control, improving multiple devices collision detection
RFAL_TXRX_FLAGS_AGC_ON | Enable Automatic Gain Control, improving single device reception
RFAL_TXRX_FLAGS_PAR_RX_KEEP | Disable Parity and CRC check and keep the Parity and CRC bits in the received buffer
RFAL_TXRX_FLAGS_PAR_RX_REMV | Enable Parity check and remove the parity bits from the received buffer
RFAL_TXRX_FLAGS_PAR_TX_NONE | Disable automatic Parity generation (ISO14443A) and use the one provided in the buffer
RFAL_TXRX_FLAGS_PAR_TX_AUTO | Enable automatic Parity generation (ISO14443A)
RFAL_TXRX_FLAGS_NFCV_FLAG_MANUAL | Disable automatic adaption of flag byte (ISO15693) according to current comm params
RFAL_TXRX_FLAGS_NFCV_FLAG_AUTO | Enable automatic adaption of flag byte (ISO115693) according to current comm params
anonymous enum

NFC-F RC (Request Code) codes NFC Forum Digital 1.1 Table 42

Enumerator
RFAL_FELICA_POLL_RC_NO_REQUEST | RC: No System Code information requested
RFAL_FELICA_POLL_RC_SYSTEM_CODE | RC: System Code information requested
RFAL_FELICA_POLL_RC_COM_PERFORMANCE | RC: Advanced protocol features supported
enum rfal14443AShortFrameCmd

RFAL ISO 14443A Short Frame Command

Enumerator
RFAL_14443A_SHORTFRAME_CMD_WUPA | ISO14443A WUPA / NFC-A ALL_REQ
RFAL_14443A_SHORTFRAME_CMD_REQA | ISO14443A REQA / NFC-A SENS_REQ
enum rfalBitRate

RFAL Bit rates

Enumerator
RFAL_BR_106 | Bit Rate 106 kbit/s (fc/128)
RFAL_BR_212 | Bit Rate 212 kbit/s (fc/64)
RFAL_BR_424 | Bit Rate 424 kbit/s (fc/32)
RFAL_BR_848 | Bit Rate 848 kbit/s (fc/16)
RFAL_BR_1695 | Bit Rate 1695 kbit/s (fc/8)
RFAL_BR_3390 | Bit Rate 3390 kbit/s (fc/4)
RFAL_BR_6780 | Bit Rate 6780 kbit/s (fc/2)
RFAL_BR_13560 | Bit Rate 13560 kbit/s (fc)
RFAL_BR_52p97 | Bit Rate 52.97 kbit/s (fc/256) Fast Mode VICC->VCD
RFAL_BR_26p48 | Bit Rate 26,48 kbit/s (fc/512) NFCV VICC->VCD & VCD->VICC 1of4
RFAL_BR_1p66 | Bit Rate 1,66 kbit/s (fc/8192) NFCV VCD->VICC 1of256
RFAL_BR_KEEP | Value indicating to keep the same previous bit rate
enum rfalComplianceMode

RFAL Compliance modes for upper modules

Enumerator
RFAL_COMPLIANCE_MODE_NFC | Perform with NFC Forum 1.1 compliance
RFAL_COMPLIANCE_MODE_EMV | Perform with EMVCo compliance
RFAL_COMPLIANCE_MODE_ISO | Perform with ISO10373 compliance
enum rfalEHandling

RFAL error handling

Enumerator
RFAL_ERRORHANDLING_NONE | No special error handling will be performed
RFAL_ERRORHANDLING_NFC | Error handling set to perform as NFC compliant device
RFAL_ERRORHANDLING_EMVCO | Error handling set to perform as EMVCo compliant device
enum rfalFeliCaPollSlots

NFC-F TSN (Time Slot Number) codes NFC Forum Digital 1.1 Table 43

Enumerator
RFAL_FELICA_1_SLOT | TSN with number of Time Slots: 1
RFAL_FELICA_2_SLOTS | TSN with number of Time Slots: 2
RFAL_FELICA_4_SLOTS | TSN with number of Time Slots: 4
RFAL_FELICA_8_SLOTS | TSN with number of Time Slots: 8
RFAL_FELICA_16_SLOTS | TSN with number of Time Slots: 16
enum rfalLmNfcidLen

RFAL Listen Mode NFCID Length

Enumerator
RFAL_LM_NFCID_LEN_04 | Listen mode indicates 4 byte NFCID
RFAL_LM_NFCID_LEN_07 | Listen mode indicates 7 byte NFCID
RFAL_LM_NFCID_LEN_10 | Listen mode indicates 10 byte NFCID
enum rfalLmState

RFAL Listen Mode States

Enumerator
RFAL_LM_STATE_NOT_INIT | Not Initialized state
RFAL_LM_STATE_POWER_OFF | Power Off state
RFAL_LM_STATE_IDLE | Idle state Activity 1.1 5.2
RFAL_LM_STATE_READY_A | Ready A state Activity 1.1 5.3 5.4 & 5.5
RFAL_LM_STATE_READY_B | Ready B state Activity 1.1 5.11 5.12
RFAL_LM_STATE_READY_F | Ready F state Activity 1.1 5.15
RFAL_LM_STATE_ACTIVE_A | Active A state Activity 1.1 5.6
RFAL_LM_STATE_CARDEMU_4A | Card Emulation 4A state Activity 1.1 5.10
RFAL_LM_STATE_CARDEMU_4B | Card Emulation 4B state Activity 1.1 5.14
RFAL_LM_STATE_CARDEMU_3 | Card Emulation 3 state Activity 1.1 5.18
RFAL_LM_STATE_TARGET_A | Target A state Activity 1.1 5.9
RFAL_LM_STATE_TARGET_F | Target F state Activity 1.1 5.17
RFAL_LM_STATE_SLEEP_A | Sleep A state Activity 1.1 5.7
RFAL_LM_STATE_SLEEP_B | Sleep B state Activity 1.1 5.13
RFAL_LM_STATE_READY_Ax | Ready A* state Activity 1.1 5.3 5.4 & 5.5
RFAL_LM_STATE_ACTIVE_Ax | Active A* state Activity 1.1 5.6
RFAL_LM_STATE_SLEEP_AF | Sleep AF state Activity 1.1 5.19
enum rfalMode

RFAL modes

Enumerator
RFAL_MODE_NONE | No mode selected/defined
RFAL_MODE_POLL_NFCA | Mode to perform as NFCA (ISO14443A) Poller (PCD)
RFAL_MODE_POLL_NFCA_T1T | Mode to perform as NFCA T1T (Topaz) Poller (PCD)
RFAL_MODE_POLL_NFCB | Mode to perform as NFCB (ISO14443B) Poller (PCD)
RFAL_MODE_POLL_B_PRIME | Mode to perform as B' Calypso (Innovatron) (PCD)
RFAL_MODE_POLL_B_CTS | Mode to perform as CTS Poller (PCD)
RFAL_MODE_POLL_NFCF | Mode to perform as NFCF (FeliCa) Poller (PCD)
RFAL_MODE_POLL_NFCV | Mode to perform as NFCV (ISO15963) Poller (PCD)
RFAL_MODE_POLL_PICOPASS | Mode to perform as PicoPass / iClass Poller (PCD)
RFAL_MODE_POLL_ACTIVE_P2P | Mode to perform as Active P2P (ISO18092) Initiator
RFAL_MODE_LISTEN_NFCA | Mode to perform as NFCA (ISO14443A) Listener (PICC)
RFAL_MODE_LISTEN_NFCB | Mode to perform as NFCA (ISO14443B) Listener (PICC)
RFAL_MODE_LISTEN_NFCF | Mode to perform as NFCA (ISO15963) Listener (PICC)
RFAL_MODE_LISTEN_ACTIVE_P2P | Mode to perform as Active P2P (ISO18092) Target
enum rfalState

RFAL main states flags

enum rfalTransceiveState

RFAL transceive states

enum rfalWumAAWeight

RFAL Wake-Up Period/Timer

Enumerator
RFAL_WUM_AA_WEIGHT_4 | Wake-Up Auto Average Weight 4
RFAL_WUM_AA_WEIGHT_8 | Wake-Up Auto Average Weight 8
RFAL_WUM_AA_WEIGHT_16 | Wake-Up Auto Average Weight 16
RFAL_WUM_AA_WEIGHT_32 | Wake-Up Auto Average Weight 32
enum rfalWumPeriod

RFAL Wake-Up Period/Timer

Enumerator
RFAL_WUM_PERIOD_10MS | Wake-Up timer 10ms
RFAL_WUM_PERIOD_20MS | Wake-Up timer 20ms
RFAL_WUM_PERIOD_30MS | Wake-Up timer 30ms
RFAL_WUM_PERIOD_40MS | Wake-Up timer 40ms
RFAL_WUM_PERIOD_50MS | Wake-Up timer 50ms
RFAL_WUM_PERIOD_60MS | Wake-Up timer 60ms
RFAL_WUM_PERIOD_70MS | Wake-Up timer 70ms
RFAL_WUM_PERIOD_80MS | Wake-Up timer 80ms
RFAL_WUM_PERIOD_100MS | Wake-Up timer 100ms
RFAL_WUM_PERIOD_200MS | Wake-Up timer 200ms
RFAL_WUM_PERIOD_300MS | Wake-Up timer 300ms
RFAL_WUM_PERIOD_400MS | Wake-Up timer 400ms
RFAL_WUM_PERIOD_500MS | Wake-Up timer 500ms
RFAL_WUM_PERIOD_600MS | Wake-Up timer 600ms
RFAL_WUM_PERIOD_700MS | Wake-Up timer 700ms
RFAL_WUM_PERIOD_800MS | Wake-Up timer 800ms
enum rfalWumState

RFAL Wake-Up Mode States

Enumerator
RFAL_WUM_STATE_NOT_INIT | Not Initialized state
RFAL_WUM_STATE_ENABLED | Wake-Up mode is enabled
RFAL_WUM_STATE_ENABLED_WOKE | Wake-Up mode enabled and has received IRQ(s)

Function Documentation

ReturnCode rfalAdjustRegulators ( uint16_t * result )

Adjusts ST25R391x regulators

Parameters
[out] result : the result of the calibrate antenna in mV NULL if result not requested
Returns
ERR_WRONG_STATE : RFAL not initialized
ERR_NONE : No error
ReturnCode rfalCalibrate ( void )

Performs necessary calibration of RF chip in case it is indicated by current register settings. E.g. antenna calibration and regulator calibration

Returns
ERR_WRONG_STATE : RFAL not initialized
ERR_NONE : No error
ReturnCode rfalDeinitialize ( void )

Deinitializes RFAL layer and the ST25R391x

Returns
ERR_NONE : No error
void rfalDisableObsvMode ( void )

Disables the ST25R391x observation mode

ReturnCode rfalFeliCaPoll | ( | rfalFeliCaPollSlots | slots,
 |  | uint16_t | sysCode,
 |  | uint8_t | reqCode,
 |  | rfalFeliCaPollRes * | pollResList,
 |  | uint8_t | pollResListSize,
 |  | uint8_t * | devicesDetected,
 |  | uint8_t * | collisionsDetected
 | ) |  |

Sends a Poll Request and collects all Poll Responses according to the given slots

Parameters
[in] | slots | : number of slots for the Poll Request
[in] | sysCode | : system code (SC) for the Poll Request
[in] | reqCode | : request code (RC) for the Poll Request
[out] | pollResList | : list of all responses
[in] | pollResListSize | : number of responses that can be placed in pollResList
[out] | devicesDetected | : number of cards found
[out] | collisionsDetected | number of collisions detected
Returns
ERR_NONE if there is no error
ERR_TIMEOUT if there is no response
ReturnCode rfalFieldOff ( void )

Turns the Field Off

Returns
ERR_NONE : Field turned Off
Examples:
exampleRfalNfca.c, and exampleRfalPoller.c.
ReturnCode rfalFieldOnAndStartGT ( void )

Turns the Field On, performing Initial Collision Avoidance

After Field On, if GT was set before, it starts the GT timer to be used on the following communications.

Returns
ERR_RF_COLLISION : External field detected
ERR_NONE : Field turned On
Examples:
exampleRfalNfca.c, and exampleRfalPoller.c.
ReturnCode rfalGetBitRate | ( | rfalBitRate * | txBR,
 |  | rfalBitRate * | rxBR
 | ) |  |

Gets the Tx and Rx current bit rates

If RFAL is not initialized or mode not set the bit rates return will be invalid RFAL_BR_KEEP

Parameters
[out] | txBR | : RFAL's current Tx Bit Rate
[out] | rxBR | : RFAL's current Rx Bit Rate
See Also
rfalSetBitRate
rfalBitRate
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_NONE : No error
rfalEHandling rfalGetErrorHandling ( void )

Gets the error handling mode currently used by the RFAL

Returns
rfalEHandling : Current error handling mode
uint32_t rfalGetFDTListen ( void )

Gets the Frame Delay Time (FDT) Listen minimum

FDT Listen is the minimum time between a Poll Frame and a Listen Frame FDTx,LISTEN,MIN - Digital 1.1 6.10.1 & 7.9.1 & 8.7.1

Returns
FDT : current FDT value in 1/fc cycles
uint32_t rfalGetFDTPoll ( void )

Gets the current Frame Delay Time (FDT)

FDT Poll is the minimum time following a Poll Frame during which no subsequent Poll Frame can be sent (without a response from the Listener in between) FDTx,PP,MIN - Digital 1.1 6.10.2 & 7.9.2 & 8.7.2

Returns
FDT : current FDT value in 1/fc cycles
uint32_t rfalGetGT ( void )

Gets the current Guard Time (GT)

GT is the minimum time when a device in Listen Mode is exposed to an unmodulated carrier

Returns
GT : Guard Time in 1/fc cycles
rfalMode rfalGetMode ( void )

Gets the mode that RFAL is set to operate

See Also
rfalMode
Returns
rfalMode : The current RFAL mode
void rfalGetObsvMode | ( | uint8_t * | txMode,
 |  | uint8_t * | rxMode
 | ) |  |

Gets ST25R391x the current configured observation modes

Parameters
[in] | txMode | : the current observation mode configured for transmission
[in] | rxMode | : the current observation mode configured for reception
ReturnCode rfalGetTransceiveRSSI ( uint16_t * rssi )

Gets the RSSI value of the last executed Transceive in mV

Parameters
[out] rssi : RSSI value
Returns
ERR_NOTSUPP : Feature not supported
ERR_PARAM : Invalid parameter
ERR_NONE : No error
rfalTransceiveState rfalGetTransceiveState ( void )

Gets current Transceive internal State

Returns
rfalTransceiveState : the current Transceive internal State
ReturnCode rfalGetTransceiveStatus ( void )

Gets current Transceive status

Returns
ERR_NONE : Transceive done with no error
ERR_BUSY : Transceive ongoing
ERR_XXXX : Error occurred
ERR_TIMEOUT : No response
ERR_FRAMING : Framing error detected
ERR_PAR : Parity error detected
ERR_CRC : CRC error detected
ERR_LINK_LOSS : Link Loss - External Field is Off
ERR_RF_COLLISION : Collision detected
ERR_IO : Internal error
Examples:
exampleRfalPoller.c.
ReturnCode rfalInitialize ( void )

Initializes RFAL layer and the ST25R391x Ensures that ST25R391x is properly connected and returns error if any problem is detected

Warning
rfalAnalogConfigInitialize() should be called before so that the Analog config table has been previously initialized.
Returns
ERR_HW_MISMATCH : Expected HW do not match or communication error
ERR_NONE : No error
Examples:
exampleRfalNfca.c, and exampleRfalPoller.c.
bool rfalIsExtFieldOn ( void )

Checks if external field (other peer/device) is on/detected

Returns
true External field is On
false No external field is detected
bool rfalIsGTExpired ( void )

Checks whether the GT timer has expired

Returns
true : GT has expired or not running
false : GT is still running
ReturnCode rfalISO14443ATransceiveAnticollisionFrame | ( | uint8_t * | buf,
 |  | uint8_t * | bytesToSend,
 |  | uint8_t * | bitsToSend,
 |  | uint16_t * | rxLength,
 |  | uint32_t | fwt
 | ) |  |

This is use to perform ISO14443A anti-collision.

Note
Anticollision is sent without CRC
Parameters
[in] | buf | : reference to ANTICOLLISION command (with known UID if any) to be sent (also out param) reception will be place on this buf after bytesToSend
[in] | bytesToSend | reference number of full bytes to be sent (including CMD byte and SEL_PAR) if a collision occurs will contain the number of clear bytes
[in] | bitsToSend | : reference to number of bits (0-7) to be sent; and received (also out param) if a collision occurs will indicate the number of clear bits (also out param)
[out] | rxLength | : reference to the return the received length
[in] | fwt | : Frame Waiting Time in 1/fc
Returns
ERR_NONE if there is no error
ReturnCode rfalISO14443ATransceiveShortFrame | ( | rfal14443AShortFrameCmd | txCmd,
 |  | uint8_t * | rxBuf,
 |  | uint8_t | rxBufLen,
 |  | uint16_t * | rxRcvdLen,
 |  | uint32_t | fwt
 | ) |  |

Sends REQA to detect if there is any PICC in the field

Parameters
[in] | txCmd | Command to be sent: 0x52 WUPA / ALL_REQ 0x26 REQA / SENS_REQ
[in] | txCmd | : type of short frame to be sent REQA or WUPA
[out] | rxBuf | : buffer to place the response
[in] | rxBufLen | : length of rxBuf
[out] | rxRcvdLen | received length
[in] | fwt | : Frame Waiting Time in 1/fc
Warning
If fwt is set to RFAL_FWT_NONE it will make endlessly for a response, which on a blocking method may not be the desired usage
Returns
ERR_NONE if there is response
ERR_TIMEOUT if there is no response
ERR_COLLISION collision has occurred
ReturnCode rfalISO15693TransceiveAnticollisionFrame | ( | uint8_t * | txBuf,
 |  | uint8_t | txBufLen,
 |  | uint8_t * | rxBuf,
 |  | uint8_t | rxBufLen,
 |  | uint16_t * | actLen
 | ) |  |

This send the Anticollision|Inventory frame (INVENTORY_REQ)

Warning
rxBuf must be able to contain the payload and CRC
Parameters
[in] | txBuf | : Buffer where outgoing message is located
[in] | txBufLen | : Length of the outgoing message in bytes
[out] | rxBuf | : Buffer where incoming message will be placed
[in] | rxBufLen | : Maximum length of the incoming message in bytes
[out] | actLen | : Actual received length in bits
Returns
ERR_NONE : Transceive done with no error
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_IO : Internal error
ReturnCode rfalISO15693TransceiveEOF | ( | uint8_t * | rxBuf,
 |  | uint8_t | rxBufLen,
 |  | uint16_t * | actLen
 | ) |  |

This is method sends an ISO15693 (EoF) used for a Write operation

Warning
rxBuf must be able to contain the payload and CRC
Parameters
[out] | rxBuf | : Buffer where incoming message will be placed
[in] | rxBufLen | : Maximum length of the incoming message in bytes
[out] | actLen | : Actual received length in bytes
Returns
ERR_NONE : Transceive done with no error
ERR_IO : Internal error
ReturnCode rfalISO15693TransceiveEOFAnticollision | ( | uint8_t * | rxBuf,
 |  | uint8_t | rxBufLen,
 |  | uint16_t * | actLen
 | ) |  |

This sends the Anticollision|Inventory EOF used as a slot marker

Warning
rxBuf must be able to contain the payload and CRC
Parameters
[out] | rxBuf | : Buffer where incoming message will be placed
[in] | rxBufLen | : Maximum length of the incoming message in bytes
[out] | actLen | : Actual received length in bits
Returns
ERR_NONE : Transceive done with no error
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_IO : Internal error
bool rfalIsTransceiveInRx ( void )

Checks if Transceive is in Reception state

Returns
true Transmission done/reception ongoing
false Not in reception state
bool rfalIsTransceiveInTx ( void )

Checks if Transceive is in Transmission state

Returns
true Transmission ongoing
false Not in transmission state
rfalLmState rfalListenGetState | ( | bool * | dataFlag,
 |  | rfalBitRate * | lastBR
 | ) |  |

Sets the new state of the Listen Mode and applies the necessary changes on the RF Chip

Parameters
[out] | dataFlag | indicates that Listen Mode has rcvd data and caller must process it. The received message is located at the rxBuf passed on rfalListenStart(). rfalListenSetState() will clear this flag if NULL output parameter will no be written/returned
[out] | lastBR | bit rate detected of the last initiator request if NULL output parameter will no be written/returned
Returns
rfalLmState RFAL_LM_STATE_NOT_INIT : LM not initialized properly Any Other : LM State
ReturnCode rfalListenSetState ( rfalLmState newSt )

Sets the new state of the Listen Mode and applies the necessary changes on the RF Chip

Parameters
[in] newSt : New state to go to
Returns
ERR_WRONG_STATE : Not initialized properly
ERR_PARAM : Invalid parameter
ERR_NONE : Done with no error
ReturnCode rfalListenStart | ( | uint32_t | lmMask,
 |  | const rfalLmConfPA * | confA,
 |  | const rfalLmConfPB * | confB,
 |  | const rfalLmConfPF * | confF,
 |  | uint8_t * | rxBuf,
 |  | uint16_t | rxBufLen,
 |  | uint16_t * | rxLen
 | ) |  |

Configures RF Chip to go into listen mode enabling the given technologies

Parameters
[in] | lmMask | mask with the enabled/disabled listen modes use: RFAL_LM_MASK_NFCA ; RFAL_LM_MASK_NFCB ; RFAL_LM_MASK_NFCF ; RFAL_LM_MASK_ACTIVE_P2P
[in] | confA | pointer to Passive A configurations (NULL if disabled)
[in] | confB | pointer to Passive B configurations (NULL if disabled)
[in] | confF | pointer to Passive F configurations (NULL if disabled)
[in] | rxBuf | buffer to place incoming data
[in] | rxBufLen | length in bits of rxBuf
[in] | rxLen | pointer to write the data length in bits placed into rxBuf
Returns
ERR_PARAM Invalid parameter
ERR_REQUEST Invalid listen mode mask
ERR_NONE Done with no error
ReturnCode rfalListenStop ( void )

Disables the listen mode on the RF Chip

Warning
the listen mode will be disabled immediately on the RFchip regardless of any ongoing operations like Transceive
Returns
ERR_NONE Done with no error
ReturnCode rfalLowPowerModeStart ( void )

Sets the RF Chip in Low Power Mode. In this mode the RF Chip is placed in Low Power Mode, similar to Wake-up mode but no operation nor period measurement is performed. Mode must be terminated by rfalLowPowerModeStop()

Returns
ERR_WRONG_STATE : Not initialized properly
ERR_PARAM : Invalid parameter
ERR_NONE : Done with no error
ReturnCode rfalLowPowerModeStop ( void )

Stops the Low Power Mode re-enabling the device

Returns
ERR_WRONG_STATE : Not initialized properly
ERR_PARAM : Invalid parameter
ERR_NONE : Done with no error
ReturnCode rfalSetBitRate | ( | rfalBitRate | txBR,
 |  | rfalBitRate | rxBR
 | ) |  |

Sets the Tx and Rx bit rates with the given values The bit rate change is applied on the RF chip remaining in the same mode previous defined with rfalSetMode()

If no mode is defined bit rates will not be applied and an error is returned

Parameters
[in] | txBR | : transmit bit rate
[in] | rxBR | : receive bit rate
See Also
rfalSetMode
rfalMode
rfalBitRate
Returns
ERR_WRONG_STATE : RFAL not initialized
ERR_PARAM : Invalid parameter
ERR_NOT_IMPLEMENTED : Mode not implemented
ERR_NONE : No error
void rfalSetErrorHandling ( rfalEHandling eHandling )

Sets the error handling mode to be used by the RFAL

Parameters
[in] eHandling : the error handling mode
void rfalSetFDTListen ( uint32_t FDTListen )

Sets the Frame Delay Time (FDT) Listen minimum to be used on the following communications.

FDT Listen is the minimum time between a Poll Frame and a Listen Frame FDTx,LISTEN,MIN - Digital 1.1 6.10.1 & 7.9.1 & 8.7.1

Parameters
[in] FDTListen : Frame Delay Time in 1/fc cycles
void rfalSetFDTPoll ( uint32_t FDTPoll )

Sets the Frame Delay Time (FDT) to be used on the following communications.

FDT Poll is the minimum time following a Poll Frame during which no subsequent Poll Frame can be sent (without a response from the Listener in between) FDTx,PP,MIN - Digital 1.1 6.10.2 & 7.9.2 & 8.7.2

Parameters
[in] FDTPoll : Frame Delay Time in 1/fc cycles
void rfalSetGT ( uint32_t GT )

Sets the Guard Time (GT) to be used on the following communications.

GT is the minimum time when a device in Listen Mode is exposed to an unmodulated carrier

Parameters
[in] GT : Guard Time in 1/fc cycles RFAL_GT_NONE if no GT should be applied
ReturnCode rfalSetMode | ( | rfalMode | mode,
 |  | rfalBitRate | txBR,
 |  | rfalBitRate | rxBR
 | ) |  |

Sets the mode that RFAL will operate on the following communications. Proper initializations will be performed on the ST25R391x

Warning
bit rate value RFAL_BR_KEEP is not allowed, only in rfalSetBitRate()
the mode will be applied immediately on the RFchip regardless of any ongoing operations like Transceive, ListenMode
Parameters
[in] | mode | : mode for the RFAL/RFchip to perform
[in] | txBR | : transmit bit rate
[in] | rxBR | : receive bit rate
See Also
rfalIsGTExpired
rfalMode
Returns
ERR_WRONG_STATE : RFAL not initialized
ERR_PARAM : Invalid parameter
ERR_NONE : No error
void rfalSetObsvMode | ( | uint8_t | txMode,
 |  | uint8_t | rxMode
 | ) |  |

Sets ST25R391x observation modes for RF debug purposes

Parameters
[in] | txMode | : the observation mode to be used during transmission
[in] | rxMode | : the observation mode to be used during reception
Warning
The Observation Mode is an advanced feature and should be set according to the documentation of the part number in use. Please refer to the corresponding Datasheet or Application Note(s)
void rfalSetPostTxRxCallback ( rfalPostTxRxCallback pFunc )

Sets a callback for the driver to call after a Transceive

Parameters
[in] pFunc : method pointer for the Post Tx callback
void rfalSetPreTxRxCallback ( rfalPreTxRxCallback pFunc )

Sets a callback for the driver to call before a Transceive

Parameters
[in] pFunc : method pointer for the Pre Tx callback
void rfalSetUpperLayerCallback ( rfalUpperLayerCallback pFunc )

Sets a callback for the driver to call when an event has occurred that may require the system to be notified

Parameters
[in] pFunc : method pointer for the upper layer callback
ReturnCode rfalStartTransceive ( const rfalTransceiveContext * ctx )

Set the context that will be used for the following Transceive Output and input buffers have to be passed and all other details prior to the Transceive itself has been started

This method only sets the context, once set rfalWorker has to be executed until is done

Parameters
[in] ctx : the context for the following Transceive
See Also
rfalWorker
rfalGetTransceiveStatus
Returns
ERR_NONE : Done with no error
ERR_WRONG_STATE : Not initialized properly
ERR_PARAM : Invalid parameter or configuration
Examples:
exampleRfalPoller.c.
ReturnCode rfalTransceiveBlockingRx ( void )

This is method executes the reception of an ongoing Transceive triggered before by rfalTransceiveBlockingTx()

Returns
ERR_NONE : Transceive done with no error
ERR_BUSY : Transceive ongoing
ERR_XXXX : Error occurred
ERR_TIMEOUT : No response
ERR_FRAMING : Framing error detected
ERR_PAR : Parity error detected
ERR_CRC : CRC error detected
ERR_LINK_LOSS : Link Loss - External Field is Off
ERR_RF_COLLISION : Collision detected
ERR_IO : Internal error
ReturnCode rfalTransceiveBlockingTx | ( | uint8_t * | txBuf,
 |  | uint16_t | txBufLen,
 |  | uint8_t * | rxBuf,
 |  | uint16_t | rxBufLen,
 |  | uint16_t * | actLen,
 |  | uint32_t | flags,
 |  | uint32_t | fwt
 | ) |  |

This is method triggers a Transceive and executes it blocking until the Tx has been completed

Parameters
[in] | txBuf | : Buffer where outgoing message is located
[in] | txBufLen | : Length of the outgoing message in bytes
[out] | rxBuf | : Buffer where incoming message will be placed
[in] | rxBufLen | : Maximum length of the incoming message in bytes
[out] | actLen | : Actual received length in bits
[in] | flags | : TransceiveFlags indication special handling
[in] | fwt | : Frame Waiting Time in 1/fc
Returns
ERR_NONE : Transceive done with no error
ERR_BUSY : Transceive ongoing
ERR_XXXX : Error occurred
ERR_LINK_LOSS : Link Loss - External Field is Off
ERR_RF_COLLISION : Collision detected
ERR_IO : Internal error
ReturnCode rfalTransceiveBlockingTxRx | ( | uint8_t * | txBuf,
 |  | uint16_t | txBufLen,
 |  | uint8_t * | rxBuf,
 |  | uint16_t | rxBufLen,
 |  | uint16_t * | actLen,
 |  | uint32_t | flags,
 |  | uint32_t | fwt
 | ) |  |

This is method triggers a Transceive and executes it blocking until it has been completed

Parameters
[in] | txBuf | : Buffer where outgoing message is located
[in] | txBufLen | : Length of the outgoing message in bytes
[out] | rxBuf | : Buffer where incoming message will be placed
[in] | rxBufLen | : Maximum length of the incoming message in bytes
[out] | actLen | : Actual received length in bytes
[in] | flags | : TransceiveFlags indication special handling
[in] | fwt | : Frame Waiting Time in 1/fc
Returns
ERR_NONE : Transceive done with no error
ERR_BUSY : Transceive ongoing
ERR_XXXX : Error occurred
ERR_TIMEOUT : No response
ERR_FRAMING : Framing error detected
ERR_PAR : Parity error detected
ERR_CRC : CRC error detected
ERR_LINK_LOSS : Link Loss - External Field is Off
ERR_RF_COLLISION : Collision detected
ERR_IO : Internal error
bool rfalWakeUpModeHasWoke ( void )

Returns true if the Wake-Up mode is enabled and it has already received the indication from the RF Chip that the surrounding environment has changed and flagged at least one wake-Up interrupt

Returns
true : Wake-Up mode enabled and has received a wake-up IRQ
false : no Wake-Up IRQ has been received
ReturnCode rfalWakeUpModeStart ( const rfalWakeUpConfig * config )

Sets the RF Chip in Low Power Wake-Up Mode according to the given configuration.

Parameters
[in] config : Generic Wake-Up configuration provided by lower layers. If NULL will automatically configure the Wake-Up mode
Returns
ERR_WRONG_STATE : Not initialized properly
ERR_PARAM : Invalid parameter
ERR_NONE : Done with no error
ReturnCode rfalWakeUpModeStop ( void )

Stops the Wake-Up Mode

Returns
ERR_WRONG_STATE : Not initialized properly
ERR_PARAM : Invalid parameter
ERR_NONE : Done with no error
void rfalWorker ( void )

This runs RFAL layer, which drives the actual Transceive procedure It MUST be executed frequently in order to execute the RFAL internal states and perform the requested operations

Examples:
exampleRfalPoller.c.
Generated on Wed May 20 2020 18:07:14 for RFAL by doxygen 1.8.6


RFAL: rfalTransceiveContext Struct Reference

Data Fields
rfalTransceiveContext Struct Reference
RF

#include <rfal_rf.h>

Data Fields

uint8_t * | txBuf
uint16_t | txBufLen
uint8_t * | rxBuf
uint16_t | rxBufLen
uint16_t * | rxRcvdLen
uint32_t | flags
uint32_t | fwt

Detailed Description

Struct that holds all context to be used on a Transceive

Examples:
exampleRfalPoller.c.

Field Documentation

uint32_t rfalTransceiveContext::flags

(In) TransceiveFlags indication special handling

uint32_t rfalTransceiveContext::fwt

(In) Frame Waiting Time in 1/fc

uint8_t* rfalTransceiveContext::rxBuf

(Out) Buffer where incoming message will be placed

uint16_t rfalTransceiveContext::rxBufLen

(In) Maximum length of the incoming message in bits

uint16_t* rfalTransceiveContext::rxRcvdLen

(Out) Actual received length in bits

uint8_t* rfalTransceiveContext::txBuf

(In) Buffer where outgoing message is located

uint16_t rfalTransceiveContext::txBufLen

(In) Length of the outgoing message in bits

The documentation for this struct was generated from the following file:
  • rfal_rf.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalLmConfPA Struct Reference

Data Fields
rfalLmConfPA Struct Reference
RF

#include <rfal_rf.h>

Data Fields

rfalLmNfcidLen nfcidLen
uint8_t | nfcid [RFAL_NFCID1_TRIPLE_LEN]
uint8_t | SENS_RES [RFAL_LM_SENS_RES_LEN]
uint8_t | SEL_RES

Detailed Description

RFAL Listen Mode Passive A configs

Field Documentation

uint8_t rfalLmConfPA::nfcid[RFAL_NFCID1_TRIPLE_LEN]

NFCID

rfalLmNfcidLen rfalLmConfPA::nfcidLen

NFCID Len (00: 4bytes ; 01: 7bytes)

uint8_t rfalLmConfPA::SEL_RES

SEL_RES (SAK) with complete NFCID1 (UID)

uint8_t rfalLmConfPA::SENS_RES[RFAL_LM_SENS_RES_LEN]

NFC-106k; SENS_REQ Response

The documentation for this struct was generated from the following file:
  • rfal_rf.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalLmConfPB Struct Reference

Data Fields
rfalLmConfPB Struct Reference
RF

#include <rfal_rf.h>

Data Fields

uint8_t SENSB_RES [RFAL_LM_SENSB_RES_LEN]

Detailed Description

RFAL Listen Mode Passive B configs

Field Documentation

uint8_t rfalLmConfPB::SENSB_RES[RFAL_LM_SENSB_RES_LEN]

SENSF_RES

The documentation for this struct was generated from the following file:
  • rfal_rf.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalLmConfPF Struct Reference

Data Fields
rfalLmConfPF Struct Reference
RF

#include <rfal_rf.h>

Data Fields

uint8_t | SC [RFAL_LM_SENSF_SC_LEN]
uint8_t | SENSF_RES [RFAL_LM_SENSF_RES_LEN]

Detailed Description

RFAL Listen Mode Passive F configs

Field Documentation

uint8_t rfalLmConfPF::SC[RFAL_LM_SENSF_SC_LEN]

System Code to listen for

uint8_t rfalLmConfPF::SENSF_RES[RFAL_LM_SENSF_RES_LEN]

SENSF_RES

The documentation for this struct was generated from the following file:
  • rfal_rf.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalWakeUpConfig Struct Reference

Data Fields
rfalWakeUpConfig Struct Reference
RF

#include <rfal_rf.h>

Data Fields

rfalWumPeriod period
bool | irqTout
bool | swTagDetect
struct {
bool enabled
uint8_t delta
uint16_t reference
bool autoAvg
bool aaInclMeas
rfalWumAAWeight aaWeight
} indAmp
struct {
bool enabled
uint8_t delta
uint16_t reference
bool autoAvg
bool aaInclMeas
rfalWumAAWeight aaWeight
} indPha
struct {
bool enabled
uint8_t delta
uint16_t reference
bool autoAvg
bool aaInclMeas
rfalWumAAWeight aaWeight
} cap

Detailed Description

RFAL Wake-Up Mode configuration

Field Documentation

bool rfalWakeUpConfig::aaInclMeas

When AutoAvg is enabled, include IRQ measurement

rfalWumAAWeight rfalWakeUpConfig::aaWeight

When AutoAvg is enabled, last measure weight

bool rfalWakeUpConfig::autoAvg

Use the HW Auto Averaging feature

struct { ... } rfalWakeUpConfig::cap

Capacitive Configuration

uint8_t rfalWakeUpConfig::delta

Delta between the reference and measurement to wake-up

bool rfalWakeUpConfig::enabled

Inductive Amplitude measurement enabled

Inductive Phase measurement enabled

Capacitive measurement enabled

struct { ... } rfalWakeUpConfig::indAmp

Inductive Amplitude Configuration

struct { ... } rfalWakeUpConfig::indPha

Inductive Phase Configuration

bool rfalWakeUpConfig::irqTout

IRQ at every timeout will refresh the measurement(s)

rfalWumPeriod rfalWakeUpConfig::period

Wake-Up Timer period;how often measurement(s) is performed

uint16_t rfalWakeUpConfig::reference

Reference to be used;RFAL_WUM_REFERENCE_AUTO sets it auto

bool rfalWakeUpConfig::swTagDetect

Use SW Tag Detection instead of HW Wake-Up mode

The documentation for this struct was generated from the following file:
  • rfal_rf.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: ST25R3911

Modules
ST25R3911
RFAL-HAL

RFAL ST25R3911 Driver. More...

Collaboration diagram for ST25R3911:

Modules

ST25R3911_Driver
RFAL ST25R3911 Driver.
ST25R3911_Com
RFAL ST25R3911 Communication.
ST25R3911_Interrupt
RFAL ST25R3911 Interrupt.

Detailed Description

Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: ST25R3911_Driver

Data Structures | Macros | Functions
ST25R3911_Driver
ST25R3911

RFAL ST25R3911 Driver. More...

Collaboration diagram for ST25R3911_Driver:

Data Structures

struct st25r3911StreamConfig

Macros

#define | ST25R3911_FDT_NONE 0x00U
#define | MS_TO_64FCS(A) ((A) * 212U)
#define | MS_FROM_64FCS(A) ((A) / 212U)
#define | ST25R3911_CMD_SET_DEFAULT 0xC1U
#define | ST25R3911_CMD_CLEAR_FIFO 0xC2U
#define | ST25R3911_CMD_TRANSMIT_WITH_CRC 0xC4U
#define | ST25R3911_CMD_TRANSMIT_WITHOUT_CRC 0xC5U
#define | ST25R3911_CMD_TRANSMIT_REQA 0xC6U
#define | ST25R3911_CMD_TRANSMIT_WUPA 0xC7U
#define | ST25R3911_CMD_INITIAL_RF_COLLISION 0xC8U
#define | ST25R3911_CMD_RESPONSE_RF_COLLISION_N 0xC9U
#define | ST25R3911_CMD_RESPONSE_RF_COLLISION_0 0xCAU
#define | ST25R3911_CMD_NORMAL_NFC_MODE 0xCBU
#define | ST25R3911_CMD_ANALOG_PRESET 0xCCU
#define | ST25R3911_CMD_MASK_RECEIVE_DATA 0xD0U
#define | ST25R3911_CMD_UNMASK_RECEIVE_DATA 0xD1U
#define | ST25R3911_CMD_MEASURE_AMPLITUDE 0xD3U
#define | ST25R3911_CMD_SQUELCH 0xD4U
#define | ST25R3911_CMD_CLEAR_SQUELCH 0xD5U
#define | ST25R3911_CMD_ADJUST_REGULATORS 0xD6U
#define | ST25R3911_CMD_CALIBRATE_MODULATION 0xD7U
#define | ST25R3911_CMD_CALIBRATE_ANTENNA 0xD8U
#define | ST25R3911_CMD_MEASURE_PHASE 0xD9U
#define | ST25R3911_CMD_CLEAR_RSSI 0xDAU
#define | ST25R3911_CMD_TRANSPARENT_MODE 0xDCU
#define | ST25R3911_CMD_CALIBRATE_C_SENSOR 0xDDU
#define | ST25R3911_CMD_MEASURE_CAPACITANCE 0xDEU
#define | ST25R3911_CMD_MEASURE_VDD 0xDFU
#define | ST25R3911_CMD_START_GP_TIMER 0xE0U
#define | ST25R3911_CMD_START_WUP_TIMER 0xE1U
#define | ST25R3911_CMD_START_MASK_RECEIVE_TIMER 0xE2U
#define | ST25R3911_CMD_START_NO_RESPONSE_TIMER 0xE3U
#define | ST25R3911_CMD_TEST_CLEARA 0xFAU
#define | ST25R3911_CMD_TEST_CLEARB 0xFBU
#define | ST25R3911_CMD_TEST_ACCESS 0xFCU
#define | ST25R3911_CMD_LOAD_PPROM 0xFDU
#define | ST25R3911_CMD_FUSE_PPROM 0xFEU
#define | ST25R3911_FIFO_DEPTH 96U
#define | ST25R3911_THRESHOLD_DO_NOT_SET 0xFFU
#define | ST25R3911_BR_DO_NOT_SET 0xFFU
#define | ST25R3911_BR_106 0x00U
#define | ST25R3911_BR_212 0x01U
#define | ST25R3911_BR_424 0x02U
#define | ST25R3911_BR_848 0x03U
#define | ST25R3911_BR_1695 0x04U
#define | ST25R3911_BR_3390 0x05U
#define | ST25R3911_BR_6780 0x06U
#define | st25r3911IsGPTRunning() ( st25r3911CheckReg(ST25R3911_REG_REGULATOR_RESULT, ST25R3911_REG_REGULATOR_RESULT_gpt_on, ST25R3911_REG_REGULATOR_RESULT_gpt_on) )
#define | st25r3911IsCRCinFIFO() ( st25r3911CheckReg(ST25R3911_REG_AUX, ST25R3911_REG_AUX_crc_2_fifo, ST25R3911_REG_AUX_crc_2_fifo) )
#define | st25r3911IsExtFieldOn() ( st25r3911CheckReg(ST25R3911_REG_AUX_DISPLAY, ST25R3911_REG_AUX_DISPLAY_efd_o, ST25R3911_REG_AUX_DISPLAY_efd_o ) )
#define | st25r3911IsTxEnabled() ( st25r3911CheckReg(ST25R3911_REG_OP_CONTROL, ST25R3911_REG_OP_CONTROL_tx_en, ST25R3911_REG_OP_CONTROL_tx_en ) )
#define | st25r3911TxOff() st25r3911ClrRegisterBits(ST25R3911_REG_OP_CONTROL, ST25R3911_REG_OP_CONTROL_tx_en );
#define | st25r3911IsLastFIFOComplete() st25r3911CheckReg( ST25R3911_REG_FIFO_RX_STATUS2, ST25R3911_REG_FIFO_RX_STATUS2_mask_fifo_lb, 0 )
#define | st25r3911IsOscOn() st25r3911CheckReg( ST25R3911_REG_OP_CONTROL, ST25R3911_REG_OP_CONTROL_en, ST25R3911_REG_OP_CONTROL_en )

Functions

ReturnCode | st25r3911OscOn (void)
Turn on Oscillator and Regulator. More...
void | st25r3911TxRxOn (void)
Turn On Tx and Rx. More...
void | st25r3911TxRxOff (void)
Turn Off Tx and Rx. More...
ReturnCode | st25r3911Initialize (void)
Initialise ST25R3911 driver. More...
void | st25r3911Deinitialize (void)
Deinitialize ST25R3911 driver. More...
ReturnCode | st25r3911SetBitrate (uint8_t txRate, uint8_t rxRate)
Sets the bitrate registers. More...
ReturnCode | st25r3911AdjustRegulators (uint16_t *result_mV)
Adjusts supply regulators according to the current supply voltage. More...
void | st25r3911MeasureAmplitude (uint8_t *result)
Measure Amplitude. More...
void | st25r3911MeasureCapacitance (uint8_t *result)
Measure Capacitance. More...
uint8_t | st25r3911MeasurePowerSupply (uint8_t mpsv)
Measure Voltage. More...
uint16_t | st25r3911MeasureVoltage (uint8_t mpsv)
Measure Voltage. More...
void | st25r3911CalibrateAntenna (uint8_t *result)
Calibrate antenna. More...
void | st25r3911MeasurePhase (uint8_t *result)
Measure Phase. More...
void | st25r3911CalibrateModulationDepth (uint8_t *result)
Calibrate modulation depth. More...
ReturnCode | st25r3911CalibrateCapacitiveSensor (uint8_t *result)
Calibrate Capacitive Sensor. More...
ReturnCode | st25r3911SetNoResponseTime_64fcs (uint32_t nrt_64fcs)
set no response time More...
ReturnCode | st25r3911SetStartNoResponseTime_64fcs (uint32_t nrt_64fcs)
set no response time More...
ReturnCode | st25r3911PerformCollisionAvoidance (uint8_t FieldONCmd, uint8_t pdThreshold, uint8_t caThreshold, uint8_t nTRFW)
Perform Collision Avoidance. More...
uint8_t | st25r3911GetNumFIFOLastBits (void)
Get amount of bits of the last FIFO byte if incomplete. More...
uint32_t | st25r3911GetNoResponseTime_64fcs (void)
Get NRT time. More...
void | st25r3911SetGPTime_8fcs (uint16_t gpt_8fcs)
set general purpose timer timeout More...
void | st25r3911StartGPTimer_8fcs (uint16_t gpt_8fcs, uint8_t trigger_source)
Starts GPT with given timeout. More...
bool | st25r3911CheckReg (uint8_t reg, uint8_t mask, uint8_t value)
Checks if register contains a expected value. More...
void | st25r3911SetNumTxBits (uint32_t nBits)
Sets the number Tx Bits. More...
bool | st25r3911CheckChipID (uint8_t *rev)
Check Identity. More...
bool | st25r3911IsCmdValid (uint8_t cmd)
Check if command is valid. More...
ReturnCode | st25r3911StreamConfigure (const struct st25r3911StreamConfig *config)
Configure the stream mode of ST25R3911. More...
ReturnCode | st25r3911GetRegsDump (uint8_t *resRegDump, uint8_t *sizeRegDump)
Register Dump. More...
ReturnCode | st25r3911GetRSSI (uint16_t *amRssi, uint16_t *pmRssi)
Gets the RSSI values. More...

Detailed Description

Macro Definition Documentation

#define MS_FROM_64FCS ( A ) ((A) / 212U)

Converts from 64/fc steps to ms

#define MS_TO_64FCS ( A ) ((A) * 212U)

Converts from ms to 64/fc steps

#define ST25R3911_BR_106 0x00U

ST25R3911 Bit Rate 106 kbit/s (fc/128)

#define ST25R3911_BR_1695 0x04U

ST25R3911 Bit Rate 1696 kbit/s (fc/8)

#define ST25R3911_BR_212 0x01U

ST25R3911 Bit Rate 212 kbit/s (fc/64)

#define ST25R3911_BR_3390 0x05U

ST25R3911 Bit Rate 3390 kbit/s (fc/4)

#define ST25R3911_BR_424 0x02U

ST25R3911 Bit Rate 424 kbit/s (fc/32)

#define ST25R3911_BR_6780 0x06U

ST25R3911 Bit Rate 6780 kbit/s (fc/2)

#define ST25R3911_BR_848 0x03U

ST25R3911 Bit Rate 848 kbit/s (fc/16)

#define ST25R3911_BR_DO_NOT_SET 0xFFU

Indicates not to change this Bit Rate

#define ST25R3911_CMD_ADJUST_REGULATORS 0xD6U

Adjust regulators

#define ST25R3911_CMD_ANALOG_PRESET 0xCCU

Analog Preset

#define ST25R3911_CMD_CALIBRATE_ANTENNA 0xD8U

Calibrate antenna

#define ST25R3911_CMD_CALIBRATE_C_SENSOR 0xDDU

Calibrate the capacitive sensor

#define ST25R3911_CMD_CALIBRATE_MODULATION 0xD7U

Calibrate modulation depth

#define ST25R3911_CMD_CLEAR_FIFO 0xC2U

Stops all activities and clears FIFO

#define ST25R3911_CMD_CLEAR_RSSI 0xDAU

clear RSSI bits and restart the measurement

#define ST25R3911_CMD_CLEAR_SQUELCH 0xD5U

Clear Squelch

#define ST25R3911_CMD_FUSE_PPROM 0xFEU

Fuse poly fuses with data from the RAM

#define ST25R3911_CMD_INITIAL_RF_COLLISION 0xC8U

NFC transmit with Initial RF Collision Avoidance

#define ST25R3911_CMD_LOAD_PPROM 0xFDU

Load data from the poly fuses to RAM

#define ST25R3911_CMD_MASK_RECEIVE_DATA 0xD0U

Mask receive data

#define ST25R3911_CMD_MEASURE_AMPLITUDE 0xD3U

Measure singal amplitude on RFI inputs

#define ST25R3911_CMD_MEASURE_CAPACITANCE 0xDEU

Measure capacitance

#define ST25R3911_CMD_MEASURE_PHASE 0xD9U

Measure phase between RFO and RFI signal

#define ST25R3911_CMD_MEASURE_VDD 0xDFU

Measure power supply voltage

#define ST25R3911_CMD_NORMAL_NFC_MODE 0xCBU

NFC switch to normal NFC mode

#define ST25R3911_CMD_RESPONSE_RF_COLLISION_0 0xCAU

NFC transmit with Response RF Collision Avoidance with n=0

#define ST25R3911_CMD_RESPONSE_RF_COLLISION_N 0xC9U

NFC transmit with Response RF Collision Avoidance

#define ST25R3911_CMD_SET_DEFAULT 0xC1U

Puts the chip in default state (same as after power-up)

#define ST25R3911_CMD_SQUELCH 0xD4U

Squelch

#define ST25R3911_CMD_START_GP_TIMER 0xE0U

Start the general purpose timer

#define ST25R3911_CMD_START_MASK_RECEIVE_TIMER 0xE2U

Start the mask-receive timer

#define ST25R3911_CMD_START_NO_RESPONSE_TIMER 0xE3U

Start the no-repsonse timer

#define ST25R3911_CMD_START_WUP_TIMER 0xE1U

Start the wake-up timer

#define ST25R3911_CMD_TEST_ACCESS 0xFCU

Enable R/W access to the test registers

#define ST25R3911_CMD_TEST_CLEARA 0xFAU

Clear Test register

#define ST25R3911_CMD_TEST_CLEARB 0xFBU

Clear Test register

#define ST25R3911_CMD_TRANSMIT_REQA 0xC6U

Transmit REQA

#define ST25R3911_CMD_TRANSMIT_WITH_CRC 0xC4U

Transmit with CRC

#define ST25R3911_CMD_TRANSMIT_WITHOUT_CRC 0xC5U

Transmit without CRC

#define ST25R3911_CMD_TRANSMIT_WUPA 0xC7U

Transmit WUPA

#define ST25R3911_CMD_TRANSPARENT_MODE 0xDCU

Transparent mode

#define ST25R3911_CMD_UNMASK_RECEIVE_DATA 0xD1U

Unmask receive data

#define ST25R3911_FDT_NONE 0x00U

Value indicating not to perform FDT

#define ST25R3911_FIFO_DEPTH 96U

Depth of FIFO

#define ST25R3911_THRESHOLD_DO_NOT_SET 0xFFU

Indicates not to change this Threshold

#define st25r3911IsCRCinFIFO ( ) ( st25r3911CheckReg(ST25R3911_REG_AUX, ST25R3911_REG_AUX_crc_2_fifo, ST25R3911_REG_AUX_crc_2_fifo) )

Checks if CRC is configured to be in FIFO

#define st25r3911IsExtFieldOn ( ) ( st25r3911CheckReg(ST25R3911_REG_AUX_DISPLAY, ST25R3911_REG_AUX_DISPLAY_efd_o, ST25R3911_REG_AUX_DISPLAY_efd_o ) )

Checks if External Filed is detected by reading ST25R3911 External Field Detector output

#define st25r3911IsGPTRunning ( ) ( st25r3911CheckReg(ST25R3911_REG_REGULATOR_RESULT, ST25R3911_REG_REGULATOR_RESULT_gpt_on, ST25R3911_REG_REGULATOR_RESULT_gpt_on) )

Checks if General Purpose Timer is still running by reading gpt_on flag

#define st25r3911IsLastFIFOComplete ( ) st25r3911CheckReg( ST25R3911_REG_FIFO_RX_STATUS2, ST25R3911_REG_FIFO_RX_STATUS2_mask_fifo_lb, 0 )

Checks if last FIFO byte is complete

#define st25r3911IsOscOn ( ) st25r3911CheckReg( ST25R3911_REG_OP_CONTROL, ST25R3911_REG_OP_CONTROL_en, ST25R3911_REG_OP_CONTROL_en )

Checks if the Oscillator is enabled

#define st25r3911IsTxEnabled ( ) ( st25r3911CheckReg(ST25R3911_REG_OP_CONTROL, ST25R3911_REG_OP_CONTROL_tx_en, ST25R3911_REG_OP_CONTROL_tx_en ) )

Checks if Transmitter is enabled (Field On)

#define st25r3911TxOff ( ) st25r3911ClrRegisterBits(ST25R3911_REG_OP_CONTROL, ST25R3911_REG_OP_CONTROL_tx_en );

Turn Off Tx (Field Off)

Function Documentation

ReturnCode st25r3911AdjustRegulators ( uint16_t * result_mV )

On this function the power level is measured in maximum load conditions and the regulated voltage reference is set to 250mV below this level. Execution of this function lasts arround 5ms.

The regulated voltages will be set to the result of Adjust Regulators

Parameters
[out] result_mV : Result of calibration in milliVolts.
Returns
ERR_IO : Error during communication with ST25R3911.
ERR_NONE : No error.
void st25r3911CalibrateAntenna ( uint8_t * result )

This function is used to calibrate the antenna using a special sequence. The result is stored in the result parameter.

Parameters
[out] result 8 bit long result of antenna calibration algorithm.
ReturnCode st25r3911CalibrateCapacitiveSensor ( uint8_t * result )

This function performs automatic calibration of the capacitive sensor and stores the result in parameter result.

Warning
To avoid interference with Xtal oscillator and reader magnetic field, it is strongly recommended to perform calibration in Power-down mode only. This method does not modify the Oscillator nor transmitter state, these should be configured before by user.
Parameters
[out] result 5 bit long result of the calibration. Binary weighted, step 0.1 pF, max 3.1 pF
Returns
ERR_PARAM : Invalid parameter
ERR_IO : The calibration was not successful
ERR_NONE : No error
void st25r3911CalibrateModulationDepth ( uint8_t * result )

This function is used to calibrate the modulation depth using a special sequence. The result is stored in the result parameter.

Parameters
[out] result 8 bit long result of antenna calibration algorithm.
bool st25r3911CheckChipID ( uint8_t * rev )

Checks if the chip ID is as expected.

5 bit IC type code for ST25R3911: 00001 The 3 lsb contain the IC revision code

Parameters
[out] rev : the IC revision code
Returns
true when IC type is as expected
bool st25r3911CheckReg | ( | uint8_t | reg,
 |  | uint8_t | mask,
 |  | uint8_t | value
 | ) |  |

This function checks if the given reg contains a value that once masked equals the expected value

Parameters
reg | : the register to check the value
mask | : the mask apply on register value
value | : expected value to be compared to
Returns
true when reg contains the expected value | false otherwise
void st25r3911Deinitialize ( void )

Calling this function deinitializes the ST25R3911 driver.

uint32_t st25r3911GetNoResponseTime_64fcs ( void )

This returns the last value set on the NRT

Warning
it does not reads chip register, just the sw var that contains the last value set before
Returns
the value of the NRT
uint8_t st25r3911GetNumFIFOLastBits ( void )

Gets the number of bits of the last FIFO byte if incomplete

Returns
the number of bits of the last FIFO byte if incomplete, 0 if the last byte is complete
ReturnCode st25r3911GetRegsDump | ( | uint8_t * | resRegDump,
 |  | uint8_t * | sizeRegDump
 | ) |  |

Retrieves all internal registers from ST25R3911

Parameters
[out] | resRegDump | : pointer to the struct/buffer where the reg dump will be written
[in,out] | sizeRegDump | : number of registers requested and the ones actually written
Returns
ERR_NONE : No error, stream mode driver initialized.
ReturnCode st25r3911GetRSSI | ( | uint16_t * | amRssi,
 |  | uint16_t * | pmRssi
 | ) |  |

This function gets the RSSI value of the previous reception taking into account the gain reductions that were used. RSSI value for both AM and PM channel can be retrieved.

Parameters
[out] | amRssi | the RSSI on the AM channel expressed in mV
[out] | pmRssi | the RSSI on the PM channel expressed in mV
Returns
ERR_PARAM : Invalid parameter
ERR_NONE : No error
ReturnCode st25r3911Initialize ( void )

This function initialises the ST25R3911 driver.

Returns
ERR_NONE : Operation successful
ERR_HW_MISMATCH : Expected HW do not match or communication error
ERR_IO : Error during selftest - check communication interface
ERR_TIMEOUT : Timeout during selftest - check IRQ handling
ERR_SYSTEM : Failure during seltest - check oscillator or timers
bool st25r3911IsCmdValid ( uint8_t cmd )

Checks if the given command is a valid ST25R3911 command

Parameters
[in] cmd Command to check
Returns
true if is a valid command
false otherwise
void st25r3911MeasureAmplitude ( uint8_t * result )

This function measured the amplitude on the RFI inputs and stores the result in parameter result.

Parameters
[out] result 8 bit long result of RF measurement.
void st25r3911MeasureCapacitance ( uint8_t * result )

This function performs the capacitance measurement and stores the result in parameter result.

Parameters
[out] result 8 bit long result of RF measurement.
void st25r3911MeasurePhase ( uint8_t * result )

This function performs a Phase measurement. The result is stored in the result parameter.

Parameters
[out] result 8 bit long result of the measurement.
uint8_t st25r3911MeasurePowerSupply ( uint8_t mpsv )

This function measures the voltage on one of VDD and VSP_* result in parameter result.

Parameters
[in] mpsv : one of ST25R3911_REG_REGULATOR_CONTROL_mpsv_vdd ST25R3911_REG_REGULATOR_CONTROL_mpsv_vsp_rf ST25R3911_REG_REGULATOR_CONTROL_mpsv_vsp_a or ST25R3911_REG_REGULATOR_CONTROL_mpsv_vsp_d
Returns
the measured voltage raw values
uint16_t st25r3911MeasureVoltage ( uint8_t mpsv )

This function measures the voltage on one of VDD and VSP_* result in parameter result.

Parameters
[in] mpsv : one of ST25R3911_REG_REGULATOR_CONTROL_mpsv_vdd ST25R3911_REG_REGULATOR_CONTROL_mpsv_vsp_rf ST25R3911_REG_REGULATOR_CONTROL_mpsv_vsp_a or ST25R3911_REG_REGULATOR_CONTROL_mpsv_vsp_d
Returns
the measured voltage in mV
ReturnCode st25r3911OscOn ( void )

This function turn on oscillator and regulator and wait for the oscillator to become stable.

Returns
ERR_SYSTEM : Failure during Oscillator activation
ERR_NONE : No error, Oscillator is active and stable, Regulator is on
ReturnCode st25r3911PerformCollisionAvoidance | ( | uint8_t | FieldONCmd,
 |  | uint8_t | pdThreshold,
 |  | uint8_t | caThreshold,
 |  | uint8_t | nTRFW
 | ) |  |

Performs Collision Avoidance with the given threshold and with the n number of TRFW

Parameters
[in] | FieldONCmd | : Field ON command to be executed ST25R3911_CMD_INITIAL_RF_COLLISION or ST25R3911_CMD_RESPONSE_RF_COLLISION_0/N
[in] | pdThreshold | : Peer Detection Threshold (ST25R3911_REG_FIELD_THRESHOLD_trg_xx) 0xff : don't set Threshold (ST25R3911_THRESHOLD_DO_NOT_SET)
[in] | caThreshold | : Collision Avoidance Threshold (ST25R3911_REG_FIELD_THRESHOLD_rfe_xx) 0xff : don't set Threshold (ST25R3911_THRESHOLD_DO_NOT_SET)
[in] | nTRFW | : Number of TRFW
Returns
ERR_NONE : no collision detected
ERR_RF_COLLISION : collision detected
ReturnCode st25r3911SetBitrate | ( | uint8_t | txRate,
 |  | uint8_t | rxRate
 | ) |  |

This function sets the bitrate register for rx and tx

Parameters
txRate | : speed is 2^txrate * 106 kb/s 0xff : don't set txrate
rxRate | : speed is 2^rxrate * 106 kb/s 0xff : don't set rxrate
Returns
ERR_NONE : No error, both bit rates were set
ERR_PARAM: At least one bit rate was invalid
void st25r3911SetGPTime_8fcs ( uint16_t gpt_8fcs )

This function sets the proper registers but does not start the timer actually

Parameters
gpt_8fcs : general purpose timer timeout in 8/fc = 590ns
ReturnCode st25r3911SetNoResponseTime_64fcs ( uint32_t nrt_64fcs )

This function executes sets the no response time to the defines value

Parameters
nrt_64fcs : no response time in 64/fc = 4.72us completion interrupt
Returns
ERR_PARAM : if time is too large
void st25r3911SetNumTxBits ( uint32_t nBits )

Sets ST25R3911 internal registers with correct number of complete bytes and bits to be sent

Parameters
nBits : the number bits to be transmitted
ReturnCode st25r3911SetStartNoResponseTime_64fcs ( uint32_t nrt_64fcs )

This function executes sets and immediately start the no response timer to the defines value This is used when needs to add more time before timeout whitout Tx

Parameters
nrt_64fcs : no response time in 64/fc = 4.72us completion interrupt
Returns
ERR_PARAM : if time is too large
void st25r3911StartGPTimer_8fcs | ( | uint16_t | gpt_8fcs,
 |  | uint8_t | trigger_source
 | ) |  |

This function starts the general purpose timer with the given timeout

Parameters
gpt_8fcs | : general purpose timer timeout in 8/fc = 590ns
trigger_source | : no trigger, start of Rx, end of Rx, end of Tx in NFC mode
ReturnCode st25r3911StreamConfigure ( const struct st25r3911StreamConfig * config )

This function initializes the stream with the given parameters

Parameters
[in] config : all settings for bitrates, type, etc.
Returns
ERR_NONE : No error, stream mode driver initialized.
void st25r3911TxRxOff ( void )

This function turns Off Tx and Rx (Field Off)

void st25r3911TxRxOn ( void )

This function turns On Tx and Rx (Field On)

Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: st25r3911StreamConfig Struct Reference

Data Fields
st25r3911StreamConfig Struct Reference
ST25R3911_Driver

#include <st25r3911.h>

Data Fields

uint8_t | useBPSK
uint8_t | din
uint8_t | dout
uint8_t | report_period_length

Detailed Description

Parameters how the stream mode should work

Field Documentation

uint8_t st25r3911StreamConfig::din

the divider for the in subcarrier frequency: fc/2^din

uint8_t st25r3911StreamConfig::dout

the divider for the in subcarrier frequency fc/2^dout

uint8_t st25r3911StreamConfig::report_period_length

the length of the reporting period 2^report_period_length

uint8_t st25r3911StreamConfig::useBPSK

0: subcarrier, 1:BPSK

The documentation for this struct was generated from the following file:
  • st25r3911.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: ST25R3911_Com

Macros | Functions
ST25R3911_Com
ST25R3911

RFAL ST25R3911 Communication. More...

Collaboration diagram for ST25R3911_Com:

Macros

#define | ST25R3911_FIFO_STATUS_LEN 2
#define | ST25R3911_REG_IO_CONF1 0x00U
#define | ST25R3911_REG_IO_CONF2 0x01U
#define | ST25R3911_REG_OP_CONTROL 0x02U
#define | ST25R3911_REG_MODE 0x03U
#define | ST25R3911_REG_BIT_RATE 0x04U
#define | ST25R3911_REG_ISO14443A_NFC 0x05U
#define | ST25R3911_REG_ISO14443B_1 0x06U
#define | ST25R3911_REG_ISO14443B_2 0x07U
#define | ST25R3911_REG_STREAM_MODE 0x08U
#define | ST25R3911_REG_AUX 0x09U
#define | ST25R3911_REG_RX_CONF1 0x0AU
#define | ST25R3911_REG_RX_CONF2 0x0BU
#define | ST25R3911_REG_RX_CONF3 0x0CU
#define | ST25R3911_REG_RX_CONF4 0x0DU
#define | ST25R3911_REG_MASK_RX_TIMER 0x0EU
#define | ST25R3911_REG_NO_RESPONSE_TIMER1 0x0FU
#define | ST25R3911_REG_NO_RESPONSE_TIMER2 0x10U
#define | ST25R3911_REG_GPT_CONTROL 0x11U
#define | ST25R3911_REG_GPT1 0x12U
#define | ST25R3911_REG_GPT2 0x13U
#define | ST25R3911_REG_IRQ_MASK_MAIN 0x14U
#define | ST25R3911_REG_IRQ_MASK_TIMER_NFC 0x15U
#define | ST25R3911_REG_IRQ_MASK_ERROR_WUP 0x16U
#define | ST25R3911_REG_IRQ_MAIN 0x17U
#define | ST25R3911_REG_IRQ_TIMER_NFC 0x18U
#define | ST25R3911_REG_IRQ_ERROR_WUP 0x19U
#define | ST25R3911_REG_FIFO_RX_STATUS1 0x1AU
#define | ST25R3911_REG_FIFO_RX_STATUS2 0x1BU
#define | ST25R3911_REG_COLLISION_STATUS 0x1CU
#define | ST25R3911_REG_NUM_TX_BYTES1 0x1DU
#define | ST25R3911_REG_NUM_TX_BYTES2 0x1EU
#define | ST25R3911_REG_NFCIP1_BIT_RATE 0x1FU
#define | ST25R3911_REG_AD_RESULT 0x20U
#define | ST25R3911_REG_ANT_CAL_CONTROL 0x21U
#define | ST25R3911_REG_ANT_CAL_TARGET 0x22U
#define | ST25R3911_REG_ANT_CAL_RESULT 0x23U
#define | ST25R3911_REG_AM_MOD_DEPTH_CONTROL 0x24U
#define | ST25R3911_REG_AM_MOD_DEPTH_RESULT 0x25U
#define | ST25R3911_REG_RFO_AM_ON_LEVEL 0x26U
#define | ST25R3911_REG_RFO_AM_OFF_LEVEL 0x27U
#define | ST25R3911_REG_FIELD_THRESHOLD 0x29U
#define | ST25R3911_REG_REGULATOR_CONTROL 0x2AU
#define | ST25R3911_REG_REGULATOR_RESULT 0x2BU
#define | ST25R3911_REG_RSSI_RESULT 0x2CU
#define | ST25R3911_REG_GAIN_RED_STATE 0x2DU
#define | ST25R3911_REG_CAP_SENSOR_CONTROL 0x2EU
#define | ST25R3911_REG_CAP_SENSOR_RESULT 0x2FU
#define | ST25R3911_REG_AUX_DISPLAY 0x30U
#define | ST25R3911_REG_WUP_TIMER_CONTROL 0x31U
#define | ST25R3911_REG_AMPLITUDE_MEASURE_CONF 0x32U
#define | ST25R3911_REG_AMPLITUDE_MEASURE_REF 0x33U
#define | ST25R3911_REG_AMPLITUDE_MEASURE_AA_RESULT 0x34U
#define | ST25R3911_REG_AMPLITUDE_MEASURE_RESULT 0x35U
#define | ST25R3911_REG_PHASE_MEASURE_CONF 0x36U
#define | ST25R3911_REG_PHASE_MEASURE_REF 0x37U
#define | ST25R3911_REG_PHASE_MEASURE_AA_RESULT 0x38U
#define | ST25R3911_REG_PHASE_MEASURE_RESULT 0x39U
#define | ST25R3911_REG_CAPACITANCE_MEASURE_CONF 0x3AU
#define | ST25R3911_REG_CAPACITANCE_MEASURE_REF 0x3BU
#define | ST25R3911_REG_CAPACITANCE_MEASURE_AA_RESULT 0x3CU
#define | ST25R3911_REG_CAPACITANCE_MEASURE_RESULT 0x3DU
#define | ST25R3911_REG_IC_IDENTITY 0x3FU

Functions

void | st25r3911ReadRegister (uint8_t reg, uint8_t *value)
Returns the content of a register within the ST25R3911. More...
void | st25r3911WriteRegister (uint8_t reg, uint8_t value)
Writes a given value to a register within the ST25R3911. More...
void | st25r3911ClrRegisterBits (uint8_t reg, uint8_t clr_mask)
Cleart bits on Register. More...
void | st25r3911SetRegisterBits (uint8_t reg, uint8_t set_mask)
Set bits on Register. More...
void | st25r3911ChangeRegisterBits (uint8_t reg, uint8_t valueMask, uint8_t value)
Changes the given bits on a ST25R3911 register. More...
void | st25r3911ReadTestRegister (uint8_t reg, uint8_t *value)
Read a test register within the ST25R3911. More...
void | st25r3911WriteTestRegister (uint8_t reg, uint8_t value)
Writes a given value to a test register within the ST25R3911. More...
void | st25r3911ModifyRegister (uint8_t reg, uint8_t clr_mask, uint8_t set_mask)
Modifies a value within a ST25R3911 register. More...
void | st25r3911ChangeTestRegisterBits (uint8_t reg, uint8_t valueMask, uint8_t value)
Changes the given bits on a ST25R3911 Test register. More...
void | st25r3911WriteMultipleRegisters (uint8_t reg, const uint8_t *values, uint8_t length)
Writes multiple values to ST25R3911 registers. More...
void | st25r3911ReadMultipleRegisters (uint8_t reg, uint8_t *values, uint8_t length)
Reads from multiple ST25R3911 registers. More...
void | st25r3911WriteFifo (const uint8_t *values, uint8_t length)
Writes values to ST25R3911 FIFO. More...
void | st25r3911ReadFifo (uint8_t *buf, uint8_t length)
Read values from ST25R3911 FIFO. More...
void | st25r3911ExecuteCommand (uint8_t cmd)
Execute a direct command. More...
void | st25r3911ExecuteCommands (const uint8_t *cmds, uint8_t length)
Execute several direct commands. More...
bool | st25r3911IsRegValid (uint8_t reg)
Check if register ID is valid. More...

Detailed Description

Macro Definition Documentation

#define ST25R3911_FIFO_STATUS_LEN 2

Number of FIFO Status Register

#define ST25R3911_REG_AD_RESULT 0x20U

R A/D Converter Output Register

#define ST25R3911_REG_AM_MOD_DEPTH_CONTROL 0x24U

RW AM Modulation Depth Control Register

#define ST25R3911_REG_AM_MOD_DEPTH_RESULT 0x25U

R AM Modulation Depth Display Register

#define ST25R3911_REG_AMPLITUDE_MEASURE_AA_RESULT 0x34U

R Amplitude Measurement Auto Averaging Display Register

#define ST25R3911_REG_AMPLITUDE_MEASURE_CONF 0x32U

RW Amplitude Measurement Configuration Register

#define ST25R3911_REG_AMPLITUDE_MEASURE_REF 0x33U

RW Amplitude Measurement Reference Register

#define ST25R3911_REG_AMPLITUDE_MEASURE_RESULT 0x35U

R Amplitude Measurement Display Register

#define ST25R3911_REG_ANT_CAL_CONTROL 0x21U

RW Antenna Calibration Control Register

#define ST25R3911_REG_ANT_CAL_RESULT 0x23U

R Antenna Calibration Display Register

#define ST25R3911_REG_ANT_CAL_TARGET 0x22U

RW Antenna Calibration Target Register

#define ST25R3911_REG_AUX 0x09U

RW Auxiliary Definition Register

#define ST25R3911_REG_AUX_DISPLAY 0x30U

R Auxiliary Display Register

#define ST25R3911_REG_BIT_RATE 0x04U

RW Bit Rate Definition Register

#define ST25R3911_REG_CAP_SENSOR_CONTROL 0x2EU

RW Capacitive Sensor Control Register

#define ST25R3911_REG_CAP_SENSOR_RESULT 0x2FU

R Capacitive Sensor Display Register

#define ST25R3911_REG_CAPACITANCE_MEASURE_AA_RESULT 0x3CU

R Capacitance Measurement Auto Averaging Display Register

#define ST25R3911_REG_CAPACITANCE_MEASURE_CONF 0x3AU

RW Capacitance Measurement Configuration Register

#define ST25R3911_REG_CAPACITANCE_MEASURE_REF 0x3BU

RW Capacitance Measurement Reference Register

#define ST25R3911_REG_CAPACITANCE_MEASURE_RESULT 0x3DU

R Capacitance Measurement Display Register

#define ST25R3911_REG_COLLISION_STATUS 0x1CU

R Collision Display Register

#define ST25R3911_REG_FIELD_THRESHOLD 0x29U

RW External Field Detector Threshold Register

#define ST25R3911_REG_FIFO_RX_STATUS1 0x1AU

R FIFO RX Status Register 1

#define ST25R3911_REG_FIFO_RX_STATUS2 0x1BU

R FIFO RX Status Register 2

#define ST25R3911_REG_GAIN_RED_STATE 0x2DU

R Gain Reduction State Register

#define ST25R3911_REG_GPT1 0x12U

RW General Purpose Timer Register 1

#define ST25R3911_REG_GPT2 0x13U

RW General Purpose Timer Register 2

#define ST25R3911_REG_GPT_CONTROL 0x11U

RW General Purpose Timer Control Register

#define ST25R3911_REG_IC_IDENTITY 0x3FU

R Chip Id: 0 for old silicon, v2 silicon: 0x09

#define ST25R3911_REG_IO_CONF1 0x00U

RW IO Configuration Register 1

#define ST25R3911_REG_IO_CONF2 0x01U

RW IO Configuration Register 2

#define ST25R3911_REG_IRQ_ERROR_WUP 0x19U

R Error and Wake-up Interrupt Register

#define ST25R3911_REG_IRQ_MAIN 0x17U

R Main Interrupt Register

#define ST25R3911_REG_IRQ_MASK_ERROR_WUP 0x16U

RW Mask Error and Wake-up Interrupt Register

#define ST25R3911_REG_IRQ_MASK_MAIN 0x14U

RW Mask Main Interrupt Register

#define ST25R3911_REG_IRQ_MASK_TIMER_NFC 0x15U

RW Mask Timer and NFC Interrupt Register

#define ST25R3911_REG_IRQ_TIMER_NFC 0x18U

R Timer and NFC Interrupt Register

#define ST25R3911_REG_ISO14443A_NFC 0x05U

RW ISO14443A and NFC 106 kBit/s Settings Register

#define ST25R3911_REG_ISO14443B_1 0x06U

RW ISO14443B Settings Register 1

#define ST25R3911_REG_ISO14443B_2 0x07U

RW ISO14443B Settings Register 2

#define ST25R3911_REG_MASK_RX_TIMER 0x0EU

RW Mask Receive Timer Register

#define ST25R3911_REG_MODE 0x03U

RW Mode Definition Register

#define ST25R3911_REG_NFCIP1_BIT_RATE 0x1FU

R NFCIP Bit Rate Detection Display Register

#define ST25R3911_REG_NO_RESPONSE_TIMER1 0x0FU

RW No-response Timer Register 1

#define ST25R3911_REG_NO_RESPONSE_TIMER2 0x10U

RW No-response Timer Register 2

#define ST25R3911_REG_NUM_TX_BYTES1 0x1DU

RW Number of Transmitted Bytes Register 1

#define ST25R3911_REG_NUM_TX_BYTES2 0x1EU

RW Number of Transmitted Bytes Register 2

#define ST25R3911_REG_OP_CONTROL 0x02U

RW Operation Control Register

#define ST25R3911_REG_PHASE_MEASURE_AA_RESULT 0x38U

R Phase Measurement Auto Averaging Display Register

#define ST25R3911_REG_PHASE_MEASURE_CONF 0x36U

RW Phase Measurement Configuration Register

#define ST25R3911_REG_PHASE_MEASURE_REF 0x37U

RW Phase Measurement Reference Register

#define ST25R3911_REG_PHASE_MEASURE_RESULT 0x39U

R Phase Measurement Display Register

#define ST25R3911_REG_REGULATOR_CONTROL 0x2AU

RW Regulated Voltage Control Register

#define ST25R3911_REG_REGULATOR_RESULT 0x2BU

R Regulator Display Register

#define ST25R3911_REG_RFO_AM_OFF_LEVEL 0x27U

RW RFO Normal (AM Off) Level Definition Register

#define ST25R3911_REG_RFO_AM_ON_LEVEL 0x26U

RW RFO AM Modulation (On) Level Definition Register

#define ST25R3911_REG_RSSI_RESULT 0x2CU

R RSSI Display Register

#define ST25R3911_REG_RX_CONF1 0x0AU

RW Receiver Configuration Register 1

#define ST25R3911_REG_RX_CONF2 0x0BU

RW Receiver Configuration Register 2

#define ST25R3911_REG_RX_CONF3 0x0CU

RW Receiver Configuration Register 3

#define ST25R3911_REG_RX_CONF4 0x0DU

RW Receiver Configuration Register 4

#define ST25R3911_REG_STREAM_MODE 0x08U

RW Stream Mode Definition Register

#define ST25R3911_REG_WUP_TIMER_CONTROL 0x31U

RW Wake-up Timer Control Register

Function Documentation

void st25r3911ChangeRegisterBits | ( | uint8_t | reg,
 |  | uint8_t | valueMask,
 |  | uint8_t | value
 | ) |  |

This function is used if only a particular bits should be changed within an ST25R3911 register.

Warning
This method does not guarantee consistency of register content when called from multiple contexts (task, ISR, thread)
Parameters
[in] | reg | Address of the register to write.
[in] | valueMask | bitmask of bits to be changed
[in] | value | the bits to be written on the enabled valueMask bits
void st25r3911ChangeTestRegisterBits | ( | uint8_t | reg,
 |  | uint8_t | valueMask,
 |  | uint8_t | value
 | ) |  |

This function is used if only a particular bits should be changed within an ST25R3911 register.

Parameters
[in] | reg | Address of the Test register to change.
[in] | valueMask | bitmask of bits to be changed
[in] | value | the bits to be written on the enabled valueMask bits
Warning
This method does not guarantee consistency of register content when called from multiple contexts (task, ISR, thread)
Returns
ERR_NONE : Operation successful
ERR_PARAM : Invalid parameter
ERR_SEND : Transmission error or acknowledge not received
void st25r3911ClrRegisterBits | ( | uint8_t | reg,
 |  | uint8_t | clr_mask
 | ) |  |

This function clears the given bitmask on the register

Warning
This method does not guarantee consistency of register content when called from multiple contexts (task, ISR, thread)
Parameters
[in] | reg | Address of the register clear
[in] | clr_mask | Bitmask of bit to be cleared
void st25r3911ExecuteCommand ( uint8_t cmd )

This function is used to start so-called direct command. These commands are implemented inside the chip and each command has unique code (see datasheet).

Parameters
[in] cmd : code of the direct command to be executed.
void st25r3911ExecuteCommands | ( | const uint8_t * | cmds,
 |  | uint8_t | length
 | ) |  |

This function is used to start so-called direct command. These commands are implemented inside the chip and each command has unique code (see datasheet).

Parameters
[in] | cmds | : codes of the direct command to be executed.
[in] | length | : number of commands to be executed
bool st25r3911IsRegValid ( uint8_t reg )

Checks if the given register ID a valid ST25R3911 register

Parameters
[in] reg Address of register to check
Returns
true if is a valid register ID
false otherwise
void st25r3911ModifyRegister | ( | uint8_t | reg,
 |  | uint8_t | clr_mask,
 |  | uint8_t | set_mask
 | ) |  |

This function is used if only a particular bits should be changed within an ST25R3911 register.

Warning
This method does not guarantee consistency of register content when called from multiple contexts (task, ISR, thread)
Parameters
[in] | reg | Address of the register to write.
[in] | clr_mask | bitmask of bits to be cleared to 0.
[in] | set_mask | bitmask of bits to be set to 1.
void st25r3911ReadFifo | ( | uint8_t * | buf,
 |  | uint8_t | length
 | ) |  |

This function needs to be called in order to read from ST25R3911 FIFO.

Parameters
[out] | buf | pointer to a buffer where the FIFO content shall be written to.
[in] | length | Number of bytes to read. (= size of buf)
Note
: This function doesn't check whether length is really the number of available bytes in FIFO
void st25r3911ReadMultipleRegisters | ( | uint8_t | reg,
 |  | uint8_t * | values,
 |  | uint8_t | length
 | ) |  |

This function is used to read from multiple registers using the auto-increment feature. That is, after each read the address pointer inside the ST25R3911 gets incremented automatically.

Parameters
[in] | reg | Address of the frist register to read from.
[in] | values | pointer to a buffer where the result shall be written to.
[in] | length | Number of registers to be read out.
void st25r3911ReadRegister | ( | uint8_t | reg,
 |  | uint8_t * | value
 | ) |  |

Register bit definitions DOXYGEN_SUPRESS

This function is used to read out the content of ST25R3911 registers.

Parameters
[in] | reg | Address of register to read.
[out] | value | Returned value.
void st25r3911ReadTestRegister | ( | uint8_t | reg,
 |  | uint8_t * | value
 | ) |  |

This function is used to read the content of test address reg within the ST25R3911.

Parameters
[in] | reg | Address of the register to read.
[out] | value | Returned read.
void st25r3911SetRegisterBits | ( | uint8_t | reg,
 |  | uint8_t | set_mask
 | ) |  |

This function sets the given bitmask on the register

Warning
This method does not guarantee consistency of register content when called from multiple contexts (task, ISR, thread)
Parameters
[in] | reg | Address of the register clear
[in] | set_mask | Bitmask of bit to be cleared
void st25r3911WriteFifo | ( | const uint8_t * | values,
 |  | uint8_t | length
 | ) |  |

This function needs to be called in order to write to the ST25R3911 FIFO.

Parameters
[in] | values | pointer to a buffer containing the values to be written to the FIFO.
[in] | length | Number of values to be written.
void st25r3911WriteMultipleRegisters | ( | uint8_t | reg,
 |  | const uint8_t * | values,
 |  | uint8_t | length
 | ) |  |

This function is used to write multiple values to the ST25R3911 using the auto-increment feature. That is, after each write the address pointer inside the ST25R3911 gets incremented automatically.

Parameters
[in] | reg | Address of the frist register to write.
[in] | values | pointer to a buffer containing the values to be written.
[in] | length | Number of values to be written.
void st25r3911WriteRegister | ( | uint8_t | reg,
 |  | uint8_t | value
 | ) |  |

This function is used to write value to address reg within the ST25R3911.

Parameters
[in] | reg | Address of the register to write.
[in] | value | Value to be written.
void st25r3911WriteTestRegister | ( | uint8_t | reg,
 |  | uint8_t | value
 | ) |  |

This function is used to write value to test address reg within the ST25R3911.

Parameters
[in] | reg | Address of the register to write.
[in] | value | Value to be written.
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: ST25R3911_Interrupt

Macros | Functions
ST25R3911_Interrupt
ST25R3911

RFAL ST25R3911 Interrupt. More...

Collaboration diagram for ST25R3911_Interrupt:

Macros

#define | ST25R3911_IRQ_MASK_ALL (uint32_t)(0xFFFFFFU)
#define | ST25R3911_IRQ_MASK_NONE (uint32_t)(0U)
#define | ST25R3911_IRQ_MASK_OSC (uint32_t)(0x80U)
#define | ST25R3911_IRQ_MASK_FWL (uint32_t)(0x40U)
#define | ST25R3911_IRQ_MASK_RXS (uint32_t)(0x20U)
#define | ST25R3911_IRQ_MASK_RXE (uint32_t)(0x10U)
#define | ST25R3911_IRQ_MASK_TXE (uint32_t)(0x08U)
#define | ST25R3911_IRQ_MASK_COL (uint32_t)(0x04U)
#define | ST25R3911_IRQ_MASK_DCT (uint32_t)(0x8000U)
#define | ST25R3911_IRQ_MASK_NRE (uint32_t)(0x4000U)
#define | ST25R3911_IRQ_MASK_GPE (uint32_t)(0x2000U)
#define | ST25R3911_IRQ_MASK_EON (uint32_t)(0x1000U)
#define | ST25R3911_IRQ_MASK_EOF (uint32_t)(0x0800U)
#define | ST25R3911_IRQ_MASK_CAC (uint32_t)(0x0400U)
#define | ST25R3911_IRQ_MASK_CAT (uint32_t)(0x0200U)
#define | ST25R3911_IRQ_MASK_NFCT (uint32_t)(0x0100U)
#define | ST25R3911_IRQ_MASK_CRC (uint32_t)(0x800000U)
#define | ST25R3911_IRQ_MASK_PAR (uint32_t)(0x400000U)
#define | ST25R3911_IRQ_MASK_ERR2 (uint32_t)(0x200000U)
#define | ST25R3911_IRQ_MASK_ERR1 (uint32_t)(0x100000U)
#define | ST25R3911_IRQ_MASK_WT (uint32_t)(0x080000U)
#define | ST25R3911_IRQ_MASK_WAM (uint32_t)(0x040000U)
#define | ST25R3911_IRQ_MASK_WPH (uint32_t)(0x020000U)
#define | ST25R3911_IRQ_MASK_WCAP (uint32_t)(0x010000U)
#define | ST25R3911_IRQ_MASK_TIM (0x02U)
#define | ST25R3911_IRQ_MASK_ERR (0x01U)

Functions

uint32_t | st25r3911WaitForInterruptsTimed (uint32_t mask, uint16_t tmo)
Wait until an ST25R3911 interrupt occurs. More...
uint32_t | st25r3911GetInterrupt (uint32_t mask)
Get status for the given interrupt. More...
void | st25r3911InitInterrupts (void)
Init the 3911 interrupt. More...
void | st25r3911ModifyInterrupts (uint32_t clr_mask, uint32_t set_mask)
Modifies the Interrupt. More...
void | st25r3911CheckForReceivedInterrupts (void)
Checks received interrupts. More...
void | st25r3911Isr (void)
ISR Service routine. More...
void | st25r3911EnableInterrupts (uint32_t mask)
Enable a given ST25R3911 Interrupt source. More...
void | st25r3911DisableInterrupts (uint32_t mask)
Disable one or more a given ST25R3911 Interrupt sources. More...
void | st25r3911ClearInterrupts (void)
Clear all st25r3911 irq flags.
void | st25r3911IRQCallbackSet (void(*cb)(void))
Sets IRQ callback for the ST25R3911 interrupt.
void | st25r3911IRQCallbackRestore (void)
Sets IRQ callback for the ST25R3911 interrupt.

Detailed Description

Macro Definition Documentation

#define ST25R3911_IRQ_MASK_ALL (uint32_t)(0xFFFFFFU)

All ST25R3911 interrupt sources

#define ST25R3911_IRQ_MASK_CAC (uint32_t)(0x0400U)

ST25R3911 collision during RF collision avoidance interrupt

#define ST25R3911_IRQ_MASK_CAT (uint32_t)(0x0200U)

ST25R3911 minimum guard time expired interrupt

#define ST25R3911_IRQ_MASK_COL (uint32_t)(0x04U)

ST25R3911 bit collision interrupt

#define ST25R3911_IRQ_MASK_CRC (uint32_t)(0x800000U)

ST25R3911 CRC error interrupt

#define ST25R3911_IRQ_MASK_DCT (uint32_t)(0x8000U)

ST25R3911 termination of direct command interrupt

#define ST25R3911_IRQ_MASK_EOF (uint32_t)(0x0800U)

ST25R3911 external field off interrupt

#define ST25R3911_IRQ_MASK_EON (uint32_t)(0x1000U)

ST25R3911 external field on interrupt

#define ST25R3911_IRQ_MASK_ERR (0x01U)

additional interrupts in ST25R3911_REG_IRQ_ERROR_WUP

#define ST25R3911_IRQ_MASK_ERR1 (uint32_t)(0x100000U)

ST25R3911 hard framing error interrupt

#define ST25R3911_IRQ_MASK_ERR2 (uint32_t)(0x200000U)

ST25R3911 soft framing error interrupt

#define ST25R3911_IRQ_MASK_FWL (uint32_t)(0x40U)

ST25R3911 FIFO water level interrupt

#define ST25R3911_IRQ_MASK_GPE (uint32_t)(0x2000U)

ST25R3911 general purpose timer expired interrupt

#define ST25R3911_IRQ_MASK_NFCT (uint32_t)(0x0100U)

ST25R3911 initiator bit rate recognized interrupt

#define ST25R3911_IRQ_MASK_NONE (uint32_t)(0U)

No ST25R3911 interrupt source

#define ST25R3911_IRQ_MASK_NRE (uint32_t)(0x4000U)

ST25R3911 no-response timer expired interrupt

#define ST25R3911_IRQ_MASK_OSC (uint32_t)(0x80U)

ST25R3911 oscillator stable interrupt

#define ST25R3911_IRQ_MASK_PAR (uint32_t)(0x400000U)

ST25R3911 parity error interrupt

#define ST25R3911_IRQ_MASK_RXE (uint32_t)(0x10U)

ST25R3911 end of receive interrupt

#define ST25R3911_IRQ_MASK_RXS (uint32_t)(0x20U)

ST25R3911 start of receive interrupt

#define ST25R3911_IRQ_MASK_TIM (0x02U)

additional interrupts in ST25R3911_REG_IRQ_TIMER_NFC

#define ST25R3911_IRQ_MASK_TXE (uint32_t)(0x08U)

ST25R3911 end of transmission interrupt

#define ST25R3911_IRQ_MASK_WAM (uint32_t)(0x040000U)

ST25R3911 wake-up due to amplitude interrupt

#define ST25R3911_IRQ_MASK_WCAP (uint32_t)(0x010000U)

ST25R3911 wake-up due to capacitance measurement

#define ST25R3911_IRQ_MASK_WPH (uint32_t)(0x020000U)

ST25R3911 wake-up due to phase interrupt

#define ST25R3911_IRQ_MASK_WT (uint32_t)(0x080000U)

ST25R3911 wake-up interrupt

Function Documentation

void st25r3911CheckForReceivedInterrupts ( void )

Checks received interrupts and saves the result into global params

void st25r3911DisableInterrupts ( uint32_t mask )

This function disables all interrupts given by mask. 0xff disables all.

Parameters
[in] mask mask indicating the interrupts to be disabled.
void st25r3911EnableInterrupts ( uint32_t mask )

This function enables all interrupts given by mask, ST25R3911_IRQ_MASK_ALL enables all interrupts.

Parameters
[in] mask mask indicating the interrupts to be enabled
uint32_t st25r3911GetInterrupt ( uint32_t mask )

This function is used to check whether the interrupt given by mask has occurred. If yes the interrupt gets cleared. This function returns only status bits which are inside mask.

Parameters
[in] mask : mask indicating the interrupt to check for.
Returns
the mask of the interrupts occurred
void st25r3911InitInterrupts ( void )

This function initiates the 3911 interrupts.

void st25r3911Isr ( void )

This function modifies the interrupt

void st25r3911ModifyInterrupts | ( | uint32_t | clr_mask,
 |  | uint32_t | set_mask
 | ) |  |

This function modifies the interrupt

Parameters
[in] | clr_mask | : bit mask to be cleared on the interrupt mask
[in] | set_mask | : bit mask to be set on the interrupt mask
uint32_t st25r3911WaitForInterruptsTimed | ( | uint32_t | mask,
 |  | uint16_t | tmo
 | ) |  |

This function is used to access the ST25R3911 interrupt flags. Use this to wait for max. tmo milliseconds for the first interrupt indicated with mask mask to occur.

Parameters
[in] | mask | : mask indicating the interrupts to wait for.
[in] | tmo | : time in milliseconds until timeout occurs. If set to 0 the functions waits forever.
Returns
: 0 if timeout occurred otherwise a mask indicating the cleared interrupts.
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: ST25R3916

Modules
ST25R3916
RFAL-HAL

RFAL ST25R3916 Driver. More...

Collaboration diagram for ST25R3916:

Modules

ST25R3916_Driver
RFAL ST25R3916 Driver.
ST25R3916_COM
RFAL ST25R3916 Communications.
ST25R3916_IRQ
RFAL ST25R3916 IRQ.
ST25R3916_LED
RFAL ST25R3916 LED.

Detailed Description

Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: ST25R3916_Driver

Data Structures | Macros | Functions
ST25R3916_Driver
ST25R3916

RFAL ST25R3916 Driver. More...

Collaboration diagram for ST25R3916_Driver:

Data Structures

struct | t_st25r3916Regs
struct | st25r3916StreamConfig

Macros

#define | ST25R3916_CMD_SET_DEFAULT 0xC1U
#define | ST25R3916_CMD_STOP 0xC2U
#define | ST25R3916_CMD_TRANSMIT_WITH_CRC 0xC4U
#define | ST25R3916_CMD_TRANSMIT_WITHOUT_CRC 0xC5U
#define | ST25R3916_CMD_TRANSMIT_REQA 0xC6U
#define | ST25R3916_CMD_TRANSMIT_WUPA 0xC7U
#define | ST25R3916_CMD_INITIAL_RF_COLLISION 0xC8U
#define | ST25R3916_CMD_RESPONSE_RF_COLLISION_N 0xC9U
#define | ST25R3916_CMD_GOTO_SENSE 0xCDU
#define | ST25R3916_CMD_GOTO_SLEEP 0xCEU
#define | ST25R3916_CMD_MASK_RECEIVE_DATA 0xD0U
#define | ST25R3916_CMD_UNMASK_RECEIVE_DATA 0xD1U
#define | ST25R3916_CMD_AM_MOD_STATE_CHANGE 0xD2U
#define | ST25R3916_CMD_MEASURE_AMPLITUDE 0xD3U
#define | ST25R3916_CMD_RESET_RXGAIN 0xD5U
#define | ST25R3916_CMD_ADJUST_REGULATORS 0xD6U
#define | ST25R3916_CMD_CALIBRATE_DRIVER_TIMING 0xD8U
#define | ST25R3916_CMD_MEASURE_PHASE 0xD9U
#define | ST25R3916_CMD_CLEAR_RSSI 0xDAU
#define | ST25R3916_CMD_CLEAR_FIFO 0xDBU
#define | ST25R3916_CMD_TRANSPARENT_MODE 0xDCU
#define | ST25R3916_CMD_CALIBRATE_C_SENSOR 0xDDU
#define | ST25R3916_CMD_MEASURE_CAPACITANCE 0xDEU
#define | ST25R3916_CMD_MEASURE_VDD 0xDFU
#define | ST25R3916_CMD_START_GP_TIMER 0xE0U
#define | ST25R3916_CMD_START_WUP_TIMER 0xE1U
#define | ST25R3916_CMD_START_MASK_RECEIVE_TIMER 0xE2U
#define | ST25R3916_CMD_START_NO_RESPONSE_TIMER 0xE3U
#define | ST25R3916_CMD_START_PPON2_TIMER 0xE4U
#define | ST25R3916_CMD_STOP_NRT 0xE8U
#define | ST25R3916_CMD_SPACE_B_ACCESS 0xFBU
#define | ST25R3916_CMD_TEST_ACCESS 0xFCU
#define | ST25R3916_THRESHOLD_DO_NOT_SET 0xFFU
#define | ST25R3916_BR_DO_NOT_SET 0xFFU
#define | ST25R3916_BR_106 0x00U
#define | ST25R3916_BR_212 0x01U
#define | ST25R3916_BR_424 0x02U
#define | ST25R3916_BR_848 0x03U
#define | ST25R3916_BR_1695 0x04U
#define | ST25R3916_BR_3390 0x05U
#define | ST25R3916_BR_6780 0x07U
#define | ST25R3916_FIFO_DEPTH 512U
#define | ST25R3916_TOUT_OSC_STABLE 10U
#define | st25r3916TxRxOn() st25r3916SetRegisterBits( ST25R3916_REG_OP_CONTROL, (ST25R3916_REG_OP_CONTROL_rx_en | ST25R3916_REG_OP_CONTROL_tx_en ) )
#define | st25r3916TxRxOff() st25r3916ClrRegisterBits( ST25R3916_REG_OP_CONTROL, (ST25R3916_REG_OP_CONTROL_rx_en | ST25R3916_REG_OP_CONTROL_tx_en ) )
#define | st25r3916TxOff() st25r3916ClrRegisterBits( ST25R3916_REG_OP_CONTROL, ST25R3916_REG_OP_CONTROL_tx_en )
#define | st25r3916IsGPTRunning() st25r3916CheckReg( ST25R3916_REG_NFCIP1_BIT_RATE, ST25R3916_REG_NFCIP1_BIT_RATE_gpt_on, ST25R3916_REG_NFCIP1_BIT_RATE_gpt_on )
#define | st25r3916IsExtFieldOn() st25r3916CheckReg( ST25R3916_REG_AUX_DISPLAY, ST25R3916_REG_AUX_DISPLAY_efd_o, ST25R3916_REG_AUX_DISPLAY_efd_o )
#define | st25r3916IsTxEnabled() st25r3916CheckReg( ST25R3916_REG_OP_CONTROL, ST25R3916_REG_OP_CONTROL_tx_en, ST25R3916_REG_OP_CONTROL_tx_en )
#define | st25r3916IsNRTinEMV() st25r3916CheckReg( ST25R3916_REG_TIMER_EMV_CONTROL, ST25R3916_REG_TIMER_EMV_CONTROL_nrt_emv, ST25R3916_REG_TIMER_EMV_CONTROL_nrt_emv_on )
#define | st25r3916IsLastFIFOComplete() st25r3916CheckReg( ST25R3916_REG_FIFO_STATUS2, ST25R3916_REG_FIFO_STATUS2_fifo_lb_mask, 0 )
#define | st25r3916IsOscOn() st25r3916CheckReg( ST25R3916_REG_OP_CONTROL, ST25R3916_REG_OP_CONTROL_en, ST25R3916_REG_OP_CONTROL_en )

Functions

ReturnCode | st25r3916Initialize (void)
Initialise ST25R3916 driver. More...
void | st25r3916Deinitialize (void)
Deinitialize ST25R3916 driver. More...
ReturnCode | st25r3916OscOn (void)
Turn on Oscillator and Regulator. More...
ReturnCode | st25r3916SetBitrate (uint8_t txrate, uint8_t rxrate)
Sets the bitrate. More...
ReturnCode | st25r3916AdjustRegulators (uint16_t *result_mV)
Adjusts supply regulators according to the current supply voltage. More...
ReturnCode | st25r3916MeasureAmplitude (uint8_t *result)
Measure Amplitude. More...
uint8_t | st25r3916MeasurePowerSupply (uint8_t mpsv)
Measure Power Supply. More...
uint16_t | st25r3916MeasureVoltage (uint8_t mpsv)
Measure Voltage. More...
ReturnCode | st25r3916MeasurePhase (uint8_t *result)
Measure Phase. More...
ReturnCode | st25r3916MeasureCapacitance (uint8_t *result)
Measure Capacitance. More...
ReturnCode | st25r3916CalibrateCapacitiveSensor (uint8_t *result)
Calibrates Capacitive Sensor. More...
uint32_t | st25r3916GetNoResponseTime (void)
Get NRT time. More...
ReturnCode | st25r3916SetNoResponseTime (uint32_t nrt_64fcs)
Set NRT time. More...
ReturnCode | st25r3916SetStartNoResponseTimer (uint32_t nrt_64fcs)
Set and Start NRT. More...
void | st25r3916SetGPTime (uint16_t gpt_8fcs)
Set GPT time. More...
ReturnCode | st25r3916SetStartGPTimer (uint16_t gpt_8fcs, uint8_t trigger_source)
Set and Start GPT. More...
void | st25r3916SetNumTxBits (uint16_t nBits)
Sets the number Tx Bits. More...
uint16_t | st25r3916GetNumFIFOBytes (void)
Get amount of bytes in FIFO. More...
uint8_t | st25r3916GetNumFIFOLastBits (void)
Get amount of bits of the last FIFO byte if incomplete. More...
ReturnCode | st25r3916PerformCollisionAvoidance (uint8_t FieldONCmd, uint8_t pdThreshold, uint8_t caThreshold, uint8_t nTRFW)
Perform Collision Avoidance. More...
bool | st25r3916CheckChipID (uint8_t *rev)
Check Identity. More...
ReturnCode | st25r3916GetRegsDump (t_st25r3916Regs *regDump)
Retrieves all internal registers from ST25R3916. More...
bool | st25r3916IsCmdValid (uint8_t cmd)
Check if command is valid. More...
ReturnCode | st25r3916StreamConfigure (const struct st25r3916StreamConfig *config)
Configure the stream mode of ST25R3916. More...
ReturnCode | st25r3916ExecuteCommandAndGetResult (uint8_t cmd, uint8_t resReg, uint8_t tout, uint8_t *result)
Executes a direct command and returns the result. More...
ReturnCode | st25r3916GetRSSI (uint16_t *amRssi, uint16_t *pmRssi)
Gets the RSSI values. More...

Detailed Description

Macro Definition Documentation

#define ST25R3916_BR_106 0x00U

ST25R3916 Bit Rate 106 kbit/s (fc/128)

#define ST25R3916_BR_1695 0x04U

ST25R3916 Bit Rate 1696 kbit/s (fc/8)

#define ST25R3916_BR_212 0x01U

ST25R3916 Bit Rate 212 kbit/s (fc/64)

#define ST25R3916_BR_3390 0x05U

ST25R3916 Bit Rate 3390 kbit/s (fc/4)

#define ST25R3916_BR_424 0x02U

ST25R3916 Bit Rate 424 kbit/s (fc/32)

#define ST25R3916_BR_6780 0x07U

ST25R3916 Bit Rate 6780 kbit/s (fc/2)

#define ST25R3916_BR_848 0x03U

ST25R3916 Bit Rate 848 kbit/s (fc/16)

#define ST25R3916_BR_DO_NOT_SET 0xFFU

Indicates not to change this Bit Rate

#define ST25R3916_CMD_ADJUST_REGULATORS 0xD6U

Adjust regulators

#define ST25R3916_CMD_AM_MOD_STATE_CHANGE 0xD2U

AM Modulation state change

#define ST25R3916_CMD_CALIBRATE_C_SENSOR 0xDDU

Calibrate the capacitive sensor

#define ST25R3916_CMD_CALIBRATE_DRIVER_TIMING 0xD8U

Starts the sequence to adjust the driver timing

#define ST25R3916_CMD_CLEAR_FIFO 0xDBU

Clears FIFO, Collision and IRQ status

#define ST25R3916_CMD_CLEAR_RSSI 0xDAU

Clear RSSI bits and restart the measurement

#define ST25R3916_CMD_GOTO_SENSE 0xCDU

Passive target logic to Sense/Idle state

#define ST25R3916_CMD_GOTO_SLEEP 0xCEU

Passive target logic to Sleep/Halt state

#define ST25R3916_CMD_INITIAL_RF_COLLISION 0xC8U

NFC transmit with Initial RF Collision Avoidance

#define ST25R3916_CMD_MASK_RECEIVE_DATA 0xD0U

Mask receive data

#define ST25R3916_CMD_MEASURE_AMPLITUDE 0xD3U

Measure singal amplitude on RFI inputs

#define ST25R3916_CMD_MEASURE_CAPACITANCE 0xDEU

Measure capacitance

#define ST25R3916_CMD_MEASURE_PHASE 0xD9U

Measure phase between RFO and RFI signal

#define ST25R3916_CMD_MEASURE_VDD 0xDFU

Measure power supply voltage

#define ST25R3916_CMD_RESET_RXGAIN 0xD5U

Reset RX Gain

#define ST25R3916_CMD_RESPONSE_RF_COLLISION_N 0xC9U

NFC transmit with Response RF Collision Avoidance

#define ST25R3916_CMD_SET_DEFAULT 0xC1U

Puts the chip in default state (same as after power-up)

#define ST25R3916_CMD_SPACE_B_ACCESS 0xFBU

Enable R/W access to the test registers

#define ST25R3916_CMD_START_GP_TIMER 0xE0U

Start the general purpose timer

#define ST25R3916_CMD_START_MASK_RECEIVE_TIMER 0xE2U

Start the mask-receive timer

#define ST25R3916_CMD_START_NO_RESPONSE_TIMER 0xE3U

Start the no-response timer

#define ST25R3916_CMD_START_PPON2_TIMER 0xE4U

Start PPon2 timer

#define ST25R3916_CMD_START_WUP_TIMER 0xE1U

Start the wake-up timer

#define ST25R3916_CMD_STOP 0xC2U

Stops all activities and clears FIFO

#define ST25R3916_CMD_STOP_NRT 0xE8U

Stop No Response Timer

#define ST25R3916_CMD_TEST_ACCESS 0xFCU

Enable R/W access to the test registers

#define ST25R3916_CMD_TRANSMIT_REQA 0xC6U

Transmit REQA

#define ST25R3916_CMD_TRANSMIT_WITH_CRC 0xC4U

Transmit with CRC

#define ST25R3916_CMD_TRANSMIT_WITHOUT_CRC 0xC5U

Transmit without CRC

#define ST25R3916_CMD_TRANSMIT_WUPA 0xC7U

Transmit WUPA

#define ST25R3916_CMD_TRANSPARENT_MODE 0xDCU

Transparent mode

#define ST25R3916_CMD_UNMASK_RECEIVE_DATA 0xD1U

Unmask receive data

#define ST25R3916_FIFO_DEPTH 512U

Depth of FIFO

#define ST25R3916_THRESHOLD_DO_NOT_SET 0xFFU

Indicates not to change this Threshold

#define ST25R3916_TOUT_OSC_STABLE 10U

Max timeout for Oscillator to get stable DS: 700us

#define st25r3916IsExtFieldOn ( ) st25r3916CheckReg( ST25R3916_REG_AUX_DISPLAY, ST25R3916_REG_AUX_DISPLAY_efd_o, ST25R3916_REG_AUX_DISPLAY_efd_o )

Checks if External Filed is detected by reading ST25R3916 External Field Detector output

#define st25r3916IsGPTRunning ( ) st25r3916CheckReg( ST25R3916_REG_NFCIP1_BIT_RATE, ST25R3916_REG_NFCIP1_BIT_RATE_gpt_on, ST25R3916_REG_NFCIP1_BIT_RATE_gpt_on )

Checks if General Purpose Timer is still running by reading gpt_on flag

#define st25r3916IsLastFIFOComplete ( ) st25r3916CheckReg( ST25R3916_REG_FIFO_STATUS2, ST25R3916_REG_FIFO_STATUS2_fifo_lb_mask, 0 )

Checks if last FIFO byte is complete

#define st25r3916IsNRTinEMV ( ) st25r3916CheckReg( ST25R3916_REG_TIMER_EMV_CONTROL, ST25R3916_REG_TIMER_EMV_CONTROL_nrt_emv, ST25R3916_REG_TIMER_EMV_CONTROL_nrt_emv_on )

Checks if NRT is in EMV mode

#define st25r3916IsOscOn ( ) st25r3916CheckReg( ST25R3916_REG_OP_CONTROL, ST25R3916_REG_OP_CONTROL_en, ST25R3916_REG_OP_CONTROL_en )

Checks if the Oscillator is enabled

#define st25r3916IsTxEnabled ( ) st25r3916CheckReg( ST25R3916_REG_OP_CONTROL, ST25R3916_REG_OP_CONTROL_tx_en, ST25R3916_REG_OP_CONTROL_tx_en )

Checks if Transmitter is enabled (Field On)

#define st25r3916TxOff ( ) st25r3916ClrRegisterBits( ST25R3916_REG_OP_CONTROL, ST25R3916_REG_OP_CONTROL_tx_en )

Disables the Transmitter (Field Off)

#define st25r3916TxRxOff ( ) st25r3916ClrRegisterBits( ST25R3916_REG_OP_CONTROL, (ST25R3916_REG_OP_CONTROL_rx_en | ST25R3916_REG_OP_CONTROL_tx_en ) )

Disables the Transmitter (Field Off) and Receiver

#define st25r3916TxRxOn ( ) st25r3916SetRegisterBits( ST25R3916_REG_OP_CONTROL, (ST25R3916_REG_OP_CONTROL_rx_en | ST25R3916_REG_OP_CONTROL_tx_en ) )

Enables the Transmitter (Field On) and Receiver

Function Documentation

ReturnCode st25r3916AdjustRegulators ( uint16_t * result_mV )

This function the power level is measured in maximum load conditions and the regulated voltage reference is set to 250mV below this level. Execution of this function lasts arround 5ms.

The regulated voltages will be set to the result of Adjust Regulators

Parameters
[out] result_mV : Result of calibration in milliVolts
Returns
ERR_IO : Error during communication with ST25R3916
ERR_NONE : No error
ReturnCode st25r3916CalibrateCapacitiveSensor ( uint8_t * result )

This function performs automatic calibration of the capacitive sensor and stores the result in parameter result.

Warning
To avoid interference with Xtal oscillator and reader magnetic field, it is strongly recommended to perform calibration in Power-down mode only. This method does not modify the Oscillator nor transmitter state, these should be configured before by user.
Parameters
[out] result 5 bit long result of the calibration. Binary weighted, step 0.1 pF, max 3.1 pF
Returns
ERR_PARAM : Invalid parameter
ERR_IO : The calibration was not successful
ERR_NONE : No error
bool st25r3916CheckChipID ( uint8_t * rev )

Checks if the chip ID is as expected.

5 bit IC type code for ST25R3916: 00101 The 3 lsb contain the IC revision code

Parameters
[out] rev : the IC revision code
Returns
true when IC type is as expected
false otherwise
void st25r3916Deinitialize ( void )

Calling this function deinitializes the ST25R3916 driver.

ReturnCode st25r3916ExecuteCommandAndGetResult | ( | uint8_t | cmd,
 |  | uint8_t | resReg,
 |  | uint8_t | tout,
 |  | uint8_t * | result
 | ) |  |

This function executes the direct command given by cmd waits for sleeptime for I_dct and returns the result read from register resreg. The value of cmd is not checked.

Parameters
[in] | cmd | : direct command to execute
[in] | resReg | address of the register containing the result
[in] | tout | : time in milliseconds to wait before reading the result
[out] | result | result
Returns
ERR_NONE : No error
uint32_t st25r3916GetNoResponseTime ( void )

This returns the last value set on the NRT

Warning
it does not read chip register, just the sw var that contains the last value set before
Returns
the value of the NRT in 64/fc
uint16_t st25r3916GetNumFIFOBytes ( void )

Gets the number of bytes currently in the FIFO

Returns
the number of bytes currently in the FIFO
uint8_t st25r3916GetNumFIFOLastBits ( void )

Gets the number of bits of the last FIFO byte if incomplete

Returns
the number of bits of the last FIFO byte if incomplete, 0 if the last byte is complete
ReturnCode st25r3916GetRegsDump ( t_st25r3916Regs * regDump )
Parameters
[out] regDump : pointer to the struct/buffer where the reg dump will be written
Returns
ERR_PARAM : Invalid parameter
ERR_NONE : No error
ReturnCode st25r3916GetRSSI | ( | uint16_t * | amRssi,
 |  | uint16_t * | pmRssi
 | ) |  |

This function gets the RSSI value of the previous reception taking into account the gain reductions that were used. RSSI value for both AM and PM channel can be retrieved.

Parameters
[out] | amRssi | the RSSI on the AM channel expressed in mV
[out] | pmRssi | the RSSI on the PM channel expressed in mV
Returns
ERR_PARAM : Invalid parameter
ERR_NONE : No error
ReturnCode st25r3916Initialize ( void )

This function initialises the ST25R3916 driver.

Returns
ERR_NONE : Operation successful
ERR_HW_MISMATCH : Expected HW do not match or communication error
ERR_IO : Error during communication selftest. Check communication interface
ERR_TIMEOUT : Timeout during IRQ selftest. Check IRQ handling
ERR_SYSTEM : Failure during oscillator activation or timer error
bool st25r3916IsCmdValid ( uint8_t cmd )

Checks if the given command is a valid ST25R3916 command

Parameters
[in] cmd Command to check
Returns
true if is a valid command
false otherwise
ReturnCode st25r3916MeasureAmplitude ( uint8_t * result )

This function measured the amplitude on the RFI inputs and stores the result in parameter result.

Parameters
[out] result result of RF measurement.
Returns
ERR_PARAM : Invalid parameter
ERR_NONE : No error
ReturnCode st25r3916MeasureCapacitance ( uint8_t * result )

This function performs the capacitance measurement and stores the result in parameter result.

Parameters
[out] result 8 bit long result of RF measurement.
Returns
ERR_PARAM : Invalid parameter
ERR_NONE : No error
ReturnCode st25r3916MeasurePhase ( uint8_t * result )

This function performs a Phase measurement. The result is stored in the result parameter.

Parameters
[out] result 8 bit long result of the measurement.
Returns
ERR_PARAM : Invalid parameter
ERR_NONE : No error
uint8_t st25r3916MeasurePowerSupply ( uint8_t mpsv )

This function executes Measure Power Supply and returns the raw value

Parameters
[in] mpsv : one of ST25R3916_REG_REGULATOR_CONTROL_mpsv_vdd ST25R3916_REG_REGULATOR_CONTROL_mpsv_vdd_rf ST25R3916_REG_REGULATOR_CONTROL_mpsv_vdd_a ST25R3916_REG_REGULATOR_CONTROL_mpsv_vdd_d ST25R3916_REG_REGULATOR_CONTROL_mpsv_vdd_am
Returns
the measured voltage in raw format.
uint16_t st25r3916MeasureVoltage ( uint8_t mpsv )

This function measures the voltage on one of VDD and VDD_* and returns the result in mV

Parameters
[in] mpsv : one of ST25R3916_REG_REGULATOR_CONTROL_mpsv_vdd ST25R3916_REG_REGULATOR_CONTROL_mpsv_vdd_rf ST25R3916_REG_REGULATOR_CONTROL_mpsv_vdd_a ST25R3916_REG_REGULATOR_CONTROL_mpsv_vdd_d or ST25R3916_REG_REGULATOR_CONTROL_mpsv_vdd_am
Returns
the measured voltage in mV
ReturnCode st25r3916OscOn ( void )

This function turn on oscillator and regulator and waits for the oscillator to become stable

Returns
ERR_SYSTEM : Failure dusring Oscillator activation
ERR_NONE : No error, Oscillator is active and stable, Regulator is on
ReturnCode st25r3916PerformCollisionAvoidance | ( | uint8_t | FieldONCmd,
 |  | uint8_t | pdThreshold,
 |  | uint8_t | caThreshold,
 |  | uint8_t | nTRFW
 | ) |  |

Performs Collision Avoidance with the given threshold and with the n number of TRFW

Parameters
[in] | FieldONCmd | : Field ON command to be executed ST25R3916_CMD_INITIAL_RF_COLLISION or ST25R3916_CMD_RESPONSE_RF_COLLISION_N
[in] | pdThreshold | : Peer Detection Threshold (ST25R3916_REG_FIELD_THRESHOLD_trg_xx) 0xff : don't set Threshold (ST25R3916_THRESHOLD_DO_NOT_SET)
[in] | caThreshold | : Collision Avoidance Threshold (ST25R3916_REG_FIELD_THRESHOLD_rfe_xx) 0xff : don't set Threshold (ST25R3916_THRESHOLD_DO_NOT_SET)
[in] | nTRFW | : Number of TRFW
Returns
ERR_PARAM : Invalid parameter
ERR_RF_COLLISION : Collision detected
ERR_NONE : No collision detected
ReturnCode st25r3916SetBitrate | ( | uint8_t | txrate,
 |  | uint8_t | rxrate
 | ) |  |

This function sets the bitrates for rx and tx

Parameters
txrate | : speed is 2^txrate * 106 kb/s 0xff : don't set txrate (ST25R3916_BR_DO_NOT_SET)
rxrate | : speed is 2^rxrate * 106 kb/s 0xff : don't set rxrate (ST25R3916_BR_DO_NOT_SET)
Returns
ERR_PARAM: At least one bit rate was invalid
ERR_NONE : No error, both bit rates were set
void st25r3916SetGPTime ( uint16_t gpt_8fcs )

This function sets the General Purpose Timer time registers

Parameters
[in] gpt_8fcs : general purpose timer timeout in steps of 8/fc (590ns)
ReturnCode st25r3916SetNoResponseTime ( uint32_t nrt_64fcs )

This function sets the No Response Time with the given value

Parameters
[in] nrt_64fcs : no response time in steps of 64/fc (4.72us)
Returns
ERR_PARAM : Invalid parameter (time is too large)
ERR_NONE : No error
void st25r3916SetNumTxBits ( uint16_t nBits )

Sets ST25R3916 internal registers with correct number of complete bytes and bits to be sent

Parameters
[in] nBits : number of bits to be set/transmitted
ReturnCode st25r3916SetStartGPTimer | ( | uint16_t | gpt_8fcs,
 |  | uint8_t | trigger_source
 | ) |  |

This function sets the General Purpose Timer with the given timeout and immediately starts it ONLY if the trigger source is not set to none.

Parameters
[in] | gpt_8fcs | : general purpose timer timeout in steps of8/fc (590ns)
[in] | trigger_source | : no trigger, start of Rx, end of Rx, end of Tx in NFC mode
Returns
ERR_PARAM : Invalid parameter
ERR_NONE : No error
ReturnCode st25r3916SetStartNoResponseTimer ( uint32_t nrt_64fcs )

This function sets the No Response Time with the given value and immediately starts it Used when needs to add more time before timeout without performing Tx

Parameters
[in] nrt_64fcs : no response time in steps of 64/fc (4.72us)
Returns
ERR_PARAM : Invalid parameter
ERR_NONE : No error
ReturnCode st25r3916StreamConfigure ( const struct st25r3916StreamConfig * config )

This function initializes the stream with the given parameters

Parameters
[in] config : all settings for bitrates, type, etc.
Returns
ERR_PARAM : Invalid parameter
ERR_NONE : No error, stream mode driver initialized
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: t_st25r3916Regs Struct Reference

Data Fields
t_st25r3916Regs Struct Reference
ST25R3916_Driver

#include <st25r3916.h>

Data Fields

uint8_t | RsA [(ST25R3916_REG_IC_IDENTITY+1U)]
uint8_t | RsB [ST25R3916_SPACE_B_REG_LEN]

Detailed Description

Struct to represent all regs on ST25R3916

Field Documentation

uint8_t t_st25r3916Regs::RsA[(ST25R3916_REG_IC_IDENTITY+1U)]

Registers contained on ST25R3916 space A (Rs-A)

uint8_t t_st25r3916Regs::RsB[ST25R3916_SPACE_B_REG_LEN]

Registers contained on ST25R3916 space B (Rs-B)

The documentation for this struct was generated from the following file:
  • st25r3916.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: st25r3916StreamConfig Struct Reference

Data Fields
st25r3916StreamConfig Struct Reference
ST25R3916_Driver

#include <st25r3916.h>

Data Fields

uint8_t | useBPSK
uint8_t | din
uint8_t | dout
uint8_t | report_period_length

Detailed Description

Parameters how the stream mode should work

Field Documentation

uint8_t st25r3916StreamConfig::din

Divider for the in subcarrier frequency: fc/2^din

uint8_t st25r3916StreamConfig::dout

Divider for the in subcarrier frequency fc/2^dout

uint8_t st25r3916StreamConfig::report_period_length

Length of the reporting period 2^report_period_length

uint8_t st25r3916StreamConfig::useBPSK

0: subcarrier, 1:BPSK

The documentation for this struct was generated from the following file:
  • st25r3916.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: ST25R3916_COM

Macros | Functions
ST25R3916_COM
ST25R3916

RFAL ST25R3916 Communications. More...

Collaboration diagram for ST25R3916_COM:

Macros

#define | ST25R3916_SPACE_B 0x40U
#define | ST25R3916_SPACE_B_REG_LEN 16U
#define | ST25R3916_FIFO_STATUS_LEN 2
#define | ST25R3916_PTM_A_LEN 15U
#define | ST25R3916_PTM_B_LEN 0U
#define | ST25R3916_PTM_F_LEN 21U
#define | ST25R3916_PTM_TSN_LEN 12U
#define | ST25R3916_PTM_LEN (ST25R3916_PTM_A_LEN + ST25R3916_PTM_B_LEN + ST25R3916_PTM_F_LEN + ST25R3916_PTM_TSN_LEN)
#define | ST25R3916_REG_IO_CONF1 0x00U
#define | ST25R3916_REG_IO_CONF2 0x01U
#define | ST25R3916_REG_OP_CONTROL 0x02U
#define | ST25R3916_REG_MODE 0x03U
#define | ST25R3916_REG_BIT_RATE 0x04U
#define | ST25R3916_REG_ISO14443A_NFC 0x05U
#define | ST25R3916_REG_EMD_SUP_CONF (ST25R3916_SPACE_B|0x05U)
#define | ST25R3916_REG_ISO14443B_1 0x06U
#define | ST25R3916_REG_SUBC_START_TIME (ST25R3916_SPACE_B|0x06U)
#define | ST25R3916_REG_ISO14443B_2 0x07U
#define | ST25R3916_REG_PASSIVE_TARGET 0x08U
#define | ST25R3916_REG_STREAM_MODE 0x09U
#define | ST25R3916_REG_AUX 0x0AU
#define | ST25R3916_REG_RX_CONF1 0x0BU
#define | ST25R3916_REG_RX_CONF2 0x0CU
#define | ST25R3916_REG_RX_CONF3 0x0DU
#define | ST25R3916_REG_RX_CONF4 0x0EU
#define | ST25R3916_REG_P2P_RX_CONF (ST25R3916_SPACE_B|0x0BU)
#define | ST25R3916_REG_CORR_CONF1 (ST25R3916_SPACE_B|0x0CU)
#define | ST25R3916_REG_CORR_CONF2 (ST25R3916_SPACE_B|0x0DU)
#define | ST25R3916_REG_MASK_RX_TIMER 0x0FU
#define | ST25R3916_REG_NO_RESPONSE_TIMER1 0x10U
#define | ST25R3916_REG_NO_RESPONSE_TIMER2 0x11U
#define | ST25R3916_REG_TIMER_EMV_CONTROL 0x12U
#define | ST25R3916_REG_GPT1 0x13U
#define | ST25R3916_REG_GPT2 0x14U
#define | ST25R3916_REG_PPON2 0x15U
#define | ST25R3916_REG_SQUELCH_TIMER (ST25R3916_SPACE_B|0x0FU)
#define | ST25R3916_REG_FIELD_ON_GT (ST25R3916_SPACE_B|0x15U)
#define | ST25R3916_REG_IRQ_MASK_MAIN 0x16U
#define | ST25R3916_REG_IRQ_MASK_TIMER_NFC 0x17U
#define | ST25R3916_REG_IRQ_MASK_ERROR_WUP 0x18U
#define | ST25R3916_REG_IRQ_MASK_TARGET 0x19U
#define | ST25R3916_REG_IRQ_MAIN 0x1AU
#define | ST25R3916_REG_IRQ_TIMER_NFC 0x1BU
#define | ST25R3916_REG_IRQ_ERROR_WUP 0x1CU
#define | ST25R3916_REG_IRQ_TARGET 0x1DU
#define | ST25R3916_REG_FIFO_STATUS1 0x1EU
#define | ST25R3916_REG_FIFO_STATUS2 0x1FU
#define | ST25R3916_REG_COLLISION_STATUS 0x20U
#define | ST25R3916_REG_PASSIVE_TARGET_STATUS 0x21U
#define | ST25R3916_REG_NUM_TX_BYTES1 0x22U
#define | ST25R3916_REG_NUM_TX_BYTES2 0x23U
#define | ST25R3916_REG_NFCIP1_BIT_RATE 0x24U
#define | ST25R3916_REG_AD_RESULT 0x25U
#define | ST25R3916_REG_ANT_TUNE_A 0x26U
#define | ST25R3916_REG_ANT_TUNE_B 0x27U
#define | ST25R3916_REG_TX_DRIVER 0x28U
#define | ST25R3916_REG_PT_MOD 0x29U
#define | ST25R3916_REG_AUX_MOD (ST25R3916_SPACE_B|0x28U)
#define | ST25R3916_REG_TX_DRIVER_TIMING (ST25R3916_SPACE_B|0x29U)
#define | ST25R3916_REG_RES_AM_MOD (ST25R3916_SPACE_B|0x2AU)
#define | ST25R3916_REG_TX_DRIVER_STATUS (ST25R3916_SPACE_B|0x2BU)
#define | ST25R3916_REG_FIELD_THRESHOLD_ACTV 0x2AU
#define | ST25R3916_REG_FIELD_THRESHOLD_DEACTV 0x2BU
#define | ST25R3916_REG_REGULATOR_CONTROL 0x2CU
#define | ST25R3916_REG_REGULATOR_RESULT (ST25R3916_SPACE_B|0x2CU)
#define | ST25R3916_REG_RSSI_RESULT 0x2DU
#define | ST25R3916_REG_GAIN_RED_STATE 0x2EU
#define | ST25R3916_REG_CAP_SENSOR_CONTROL 0x2FU
#define | ST25R3916_REG_CAP_SENSOR_RESULT 0x30U
#define | ST25R3916_REG_AUX_DISPLAY 0x31U
#define | ST25R3916_REG_OVERSHOOT_CONF1 (ST25R3916_SPACE_B|0x30U)
#define | ST25R3916_REG_OVERSHOOT_CONF2 (ST25R3916_SPACE_B|0x31U)
#define | ST25R3916_REG_UNDERSHOOT_CONF1 (ST25R3916_SPACE_B|0x32U)
#define | ST25R3916_REG_UNDERSHOOT_CONF2 (ST25R3916_SPACE_B|0x33U)
#define | ST25R3916_REG_WUP_TIMER_CONTROL 0x32U
#define | ST25R3916_REG_AMPLITUDE_MEASURE_CONF 0x33U
#define | ST25R3916_REG_AMPLITUDE_MEASURE_REF 0x34U
#define | ST25R3916_REG_AMPLITUDE_MEASURE_AA_RESULT 0x35U
#define | ST25R3916_REG_AMPLITUDE_MEASURE_RESULT 0x36U
#define | ST25R3916_REG_PHASE_MEASURE_CONF 0x37U
#define | ST25R3916_REG_PHASE_MEASURE_REF 0x38U
#define | ST25R3916_REG_PHASE_MEASURE_AA_RESULT 0x39U
#define | ST25R3916_REG_PHASE_MEASURE_RESULT 0x3AU
#define | ST25R3916_REG_CAPACITANCE_MEASURE_CONF 0x3BU
#define | ST25R3916_REG_CAPACITANCE_MEASURE_REF 0x3CU
#define | ST25R3916_REG_CAPACITANCE_MEASURE_AA_RESULT 0x3DU
#define | ST25R3916_REG_CAPACITANCE_MEASURE_RESULT 0x3EU
#define | ST25R3916_REG_IC_IDENTITY 0x3FU

Functions

ReturnCode | st25r3916ReadRegister (uint8_t reg, uint8_t *val)
Returns the content of a register within the ST25R3916. More...
ReturnCode | st25r3916ReadMultipleRegisters (uint8_t reg, uint8_t *values, uint8_t length)
Reads from multiple ST25R3916 registers. More...
ReturnCode | st25r3916WriteRegister (uint8_t reg, uint8_t val)
Writes a given value to a register within the ST25R3916. More...
ReturnCode | st25r3916WriteMultipleRegisters (uint8_t reg, const uint8_t *values, uint8_t length)
Writes multiple values to ST25R3916 registers. More...
ReturnCode | st25r3916WriteFifo (const uint8_t *values, uint16_t length)
Writes values to ST25R3916 FIFO. More...
ReturnCode | st25r3916ReadFifo (uint8_t *buf, uint16_t length)
Read values from ST25R3916 FIFO. More...
ReturnCode | st25r3916WritePTMem (const uint8_t *values, uint16_t length)
Writes values to ST25R3916 PTM. More...
ReturnCode | st25r3916ReadPTMem (uint8_t *values, uint16_t length)
Reads the ST25R3916 PTM. More...
ReturnCode | st25r3916WritePTMemF (const uint8_t *values, uint16_t length)
Writes values to ST25R3916 PTM F config. More...
ReturnCode | st25r3916WritePTMemTSN (const uint8_t *values, uint16_t length)
Writes values to ST25R3916 PTM TSN Data. More...
ReturnCode | st25r3916ExecuteCommand (uint8_t cmd)
Execute a direct command. More...
ReturnCode | st25r3916ReadTestRegister (uint8_t reg, uint8_t *val)
Read a test register within the ST25R3916. More...
ReturnCode | st25r3916WriteTestRegister (uint8_t reg, uint8_t val)
Writes a given value to a test register within the ST25R3916. More...
ReturnCode | st25r3916ClrRegisterBits (uint8_t reg, uint8_t clr_mask)
Cleart bits on Register. More...
ReturnCode | st25r3916SetRegisterBits (uint8_t reg, uint8_t set_mask)
Set bits on Register. More...
ReturnCode | st25r3916ChangeRegisterBits (uint8_t reg, uint8_t valueMask, uint8_t value)
Changes the given bits on a ST25R3916 register. More...
ReturnCode | st25r3916ModifyRegister (uint8_t reg, uint8_t clr_mask, uint8_t set_mask)
Modifies a value within a ST25R3916 register. More...
ReturnCode | st25r3916ChangeTestRegisterBits (uint8_t reg, uint8_t valueMask, uint8_t value)
Changes the given bits on a ST25R3916 Test register. More...
bool | st25r3916CheckReg (uint8_t reg, uint8_t mask, uint8_t val)
Checks if register contains a expected value. More...
bool | st25r3916IsRegValid (uint8_t reg)
Check if register ID is valid. More...

Detailed Description

Macro Definition Documentation

#define ST25R3916_FIFO_STATUS_LEN 2

Number of FIFO Status Register

#define ST25R3916_PTM_A_LEN 15U

Passive target memory A config length

#define ST25R3916_PTM_B_LEN 0U

Passive target memory B config length

#define ST25R3916_PTM_F_LEN 21U

Passive target memory F config length

#define ST25R3916_PTM_LEN (ST25R3916_PTM_A_LEN + ST25R3916_PTM_B_LEN + ST25R3916_PTM_F_LEN + ST25R3916_PTM_TSN_LEN)

Full Passive target memory length

#define ST25R3916_PTM_TSN_LEN 12U

Passive target memory TSN data length

#define ST25R3916_REG_AD_RESULT 0x25U

R A/D Converter Output Register

#define ST25R3916_REG_AMPLITUDE_MEASURE_AA_RESULT 0x35U

R Amplitude Measurement Auto Averaging Display Reg

#define ST25R3916_REG_AMPLITUDE_MEASURE_CONF 0x33U

RW Amplitude Measurement Configuration Register

#define ST25R3916_REG_AMPLITUDE_MEASURE_REF 0x34U

RW Amplitude Measurement Reference Register

#define ST25R3916_REG_AMPLITUDE_MEASURE_RESULT 0x36U

R Amplitude Measurement Display Register

#define ST25R3916_REG_ANT_TUNE_A 0x26U

RW Antenna Tuning Control (AAT-A) Register 1

#define ST25R3916_REG_ANT_TUNE_B 0x27U

RW Antenna Tuning Control (AAT-B) Register 2

#define ST25R3916_REG_AUX 0x0AU

RW Auxiliary Definition Register

#define ST25R3916_REG_AUX_DISPLAY 0x31U

R Auxiliary Display Register

#define ST25R3916_REG_AUX_MOD (ST25R3916_SPACE_B|0x28U)

RW Aux Modulation setting Register

#define ST25R3916_REG_BIT_RATE 0x04U

RW Bit Rate Definition Register

#define ST25R3916_REG_CAP_SENSOR_CONTROL 0x2FU

RW Capacitive Sensor Control Register

#define ST25R3916_REG_CAP_SENSOR_RESULT 0x30U

R Capacitive Sensor Display Register

#define ST25R3916_REG_CAPACITANCE_MEASURE_AA_RESULT 0x3DU

R Capacitance Measurement Auto Averaging Display Reg

#define ST25R3916_REG_CAPACITANCE_MEASURE_CONF 0x3BU

RW Capacitance Measurement Configuration Register

#define ST25R3916_REG_CAPACITANCE_MEASURE_REF 0x3CU

RW Capacitance Measurement Reference Register

#define ST25R3916_REG_CAPACITANCE_MEASURE_RESULT 0x3EU

R Capacitance Measurement Display Register

#define ST25R3916_REG_COLLISION_STATUS 0x20U

R Collision Display Register

#define ST25R3916_REG_CORR_CONF1 (ST25R3916_SPACE_B|0x0CU)

RW Correlator configuration register 1

#define ST25R3916_REG_CORR_CONF2 (ST25R3916_SPACE_B|0x0DU)

RW Correlator configuration register 2

#define ST25R3916_REG_EMD_SUP_CONF (ST25R3916_SPACE_B|0x05U)

RW EMD Suppression Configuration Register

#define ST25R3916_REG_FIELD_ON_GT (ST25R3916_SPACE_B|0x15U)

RW NFC Field on guard time

#define ST25R3916_REG_FIELD_THRESHOLD_ACTV 0x2AU

RW External Field Detector Activation Threshold Reg

#define ST25R3916_REG_FIELD_THRESHOLD_DEACTV 0x2BU

RW External Field Detector Deactivation Threshold Reg

#define ST25R3916_REG_FIFO_STATUS1 0x1EU

R FIFO Status Register 1

#define ST25R3916_REG_FIFO_STATUS2 0x1FU

R FIFO Status Register 2

#define ST25R3916_REG_GAIN_RED_STATE 0x2EU

R Gain Reduction State Register

#define ST25R3916_REG_GPT1 0x13U

RW General Purpose Timer Register 1

#define ST25R3916_REG_GPT2 0x14U

RW General Purpose Timer Register 2

#define ST25R3916_REG_IC_IDENTITY 0x3FU

R Chip Id: 0 for old silicon, v2 silicon: 0x09

#define ST25R3916_REG_IO_CONF1 0x00U

RW IO Configuration Register 1

#define ST25R3916_REG_IO_CONF2 0x01U

RW IO Configuration Register 2

#define ST25R3916_REG_IRQ_ERROR_WUP 0x1CU

R Error and Wake-up Interrupt Register

#define ST25R3916_REG_IRQ_MAIN 0x1AU

R Main Interrupt Register

#define ST25R3916_REG_IRQ_MASK_ERROR_WUP 0x18U

RW Mask Error and Wake-up Interrupt Register

#define ST25R3916_REG_IRQ_MASK_MAIN 0x16U

RW Mask Main Interrupt Register

#define ST25R3916_REG_IRQ_MASK_TARGET 0x19U

RW Mask 3916 Target Interrupt Register

#define ST25R3916_REG_IRQ_MASK_TIMER_NFC 0x17U

RW Mask Timer and NFC Interrupt Register

#define ST25R3916_REG_IRQ_TARGET 0x1DU

R ST25R3916 Target Interrupt Register

#define ST25R3916_REG_IRQ_TIMER_NFC 0x1BU

R Timer and NFC Interrupt Register

#define ST25R3916_REG_ISO14443A_NFC 0x05U

RW ISO14443A and NFC 106 kBit/s Settings Register

#define ST25R3916_REG_ISO14443B_1 0x06U

RW ISO14443B Settings Register 1

#define ST25R3916_REG_ISO14443B_2 0x07U

RW ISO14443B Settings Register 2

#define ST25R3916_REG_MASK_RX_TIMER 0x0FU

RW Mask Receive Timer Register

#define ST25R3916_REG_MODE 0x03U

RW Mode Definition Register

#define ST25R3916_REG_NFCIP1_BIT_RATE 0x24U

R NFCIP Bit Rate Detection Display Register

#define ST25R3916_REG_NO_RESPONSE_TIMER1 0x10U

RW No-response Timer Register 1

#define ST25R3916_REG_NO_RESPONSE_TIMER2 0x11U

RW No-response Timer Register 2

#define ST25R3916_REG_NUM_TX_BYTES1 0x22U

RW Number of Transmitted Bytes Register 1

#define ST25R3916_REG_NUM_TX_BYTES2 0x23U

RW Number of Transmitted Bytes Register 2

#define ST25R3916_REG_OP_CONTROL 0x02U

RW Operation Control Register

#define ST25R3916_REG_OVERSHOOT_CONF1 (ST25R3916_SPACE_B|0x30U)

RW Overshoot Protection Configuration Register 1

#define ST25R3916_REG_OVERSHOOT_CONF2 (ST25R3916_SPACE_B|0x31U)

RW Overshoot Protection Configuration Register 2

#define ST25R3916_REG_P2P_RX_CONF (ST25R3916_SPACE_B|0x0BU)

RW P2P Receiver Configuration Register 1

#define ST25R3916_REG_PASSIVE_TARGET 0x08U

RW Passive Target Definition Register

#define ST25R3916_REG_PASSIVE_TARGET_STATUS 0x21U

R Passive target state status

#define ST25R3916_REG_PHASE_MEASURE_AA_RESULT 0x39U

R Phase Measurement Auto Averaging Display Register

#define ST25R3916_REG_PHASE_MEASURE_CONF 0x37U

RW Phase Measurement Configuration Register

#define ST25R3916_REG_PHASE_MEASURE_REF 0x38U

RW Phase Measurement Reference Register

#define ST25R3916_REG_PHASE_MEASURE_RESULT 0x3AU

R Phase Measurement Display Register

#define ST25R3916_REG_PPON2 0x15U

RW PPON2 Field waiting Timer Register

#define ST25R3916_REG_PT_MOD 0x29U

RW PT modulation Register

#define ST25R3916_REG_REGULATOR_CONTROL 0x2CU

RW Regulated Voltage Control Register

#define ST25R3916_REG_REGULATOR_RESULT (ST25R3916_SPACE_B|0x2CU)

R Regulator Display Register

#define ST25R3916_REG_RES_AM_MOD (ST25R3916_SPACE_B|0x2AU)

RW Resistive AM modulation register

#define ST25R3916_REG_RSSI_RESULT 0x2DU

R RSSI Display Register

#define ST25R3916_REG_RX_CONF1 0x0BU

RW Receiver Configuration Register 1

#define ST25R3916_REG_RX_CONF2 0x0CU

RW Receiver Configuration Register 2

#define ST25R3916_REG_RX_CONF3 0x0DU

RW Receiver Configuration Register 3

#define ST25R3916_REG_RX_CONF4 0x0EU

RW Receiver Configuration Register 4

#define ST25R3916_REG_SQUELCH_TIMER (ST25R3916_SPACE_B|0x0FU)

RW Squelch timeout Register

#define ST25R3916_REG_STREAM_MODE 0x09U

RW Stream Mode Definition Register

#define ST25R3916_REG_SUBC_START_TIME (ST25R3916_SPACE_B|0x06U)

RW Subcarrier Start Time Register

#define ST25R3916_REG_TIMER_EMV_CONTROL 0x12U

RW Timer and EMV Control

#define ST25R3916_REG_TX_DRIVER 0x28U

RW TX driver register

#define ST25R3916_REG_TX_DRIVER_STATUS (ST25R3916_SPACE_B|0x2BU)

R TX driver timing readout Register

#define ST25R3916_REG_TX_DRIVER_TIMING (ST25R3916_SPACE_B|0x29U)

RW TX driver timing Register

#define ST25R3916_REG_UNDERSHOOT_CONF1 (ST25R3916_SPACE_B|0x32U)

RW Undershoot Protection Configuration Register 1

#define ST25R3916_REG_UNDERSHOOT_CONF2 (ST25R3916_SPACE_B|0x33U)

RW Undershoot Protection Configuration Register 2

#define ST25R3916_REG_WUP_TIMER_CONTROL 0x32U

RW Wake-up Timer Control Register

#define ST25R3916_SPACE_B 0x40U

ST25R3916 Space-B indicator

#define ST25R3916_SPACE_B_REG_LEN 16U

Number of register in the space B

Function Documentation

ReturnCode st25r3916ChangeRegisterBits | ( | uint8_t | reg,
 |  | uint8_t | valueMask,
 |  | uint8_t | value
 | ) |  |

This function is used if only a particular bits should be changed within an ST25R3916 register.

Parameters
[in] | reg | Address of the register to change.
[in] | valueMask | bitmask of bits to be changed
[in] | value | the bits to be written on the enabled valueMask bits
Returns
ERR_NONE : Operation successful
ERR_PARAM : Invalid parameter
ERR_SEND : Transmission error or acknowledge not received
ReturnCode st25r3916ChangeTestRegisterBits | ( | uint8_t | reg,
 |  | uint8_t | valueMask,
 |  | uint8_t | value
 | ) |  |

This function is used if only a particular bits should be changed within an ST25R3916 register.

Parameters
[in] | reg | Address of the Test register to change.
[in] | valueMask | bitmask of bits to be changed
[in] | value | the bits to be written on the enabled valueMask bits
Returns
ERR_NONE : Operation successful
ERR_PARAM : Invalid parameter
ERR_SEND : Transmission error or acknowledge not received
bool st25r3916CheckReg | ( | uint8_t | reg,
 |  | uint8_t | mask,
 |  | uint8_t | val
 | ) |  |

This function checks if the given reg contains a value that once masked equals the expected value

Parameters
reg | : the register to check the value
mask | : the mask apply on register value
val | : expected value to be compared to
Returns
true when reg contains the expected value | false otherwise
ReturnCode st25r3916ClrRegisterBits | ( | uint8_t | reg,
 |  | uint8_t | clr_mask
 | ) |  |

This function clears the given bitmask on the register

Parameters
[in] | reg | Address of the register clear
[in] | clr_mask | Bitmask of bit to be cleared
Returns
ERR_NONE : Operation successful
ERR_PARAM : Invalid parameter
ERR_SEND : Transmission error or acknowledge not received
ReturnCode st25r3916ExecuteCommand ( uint8_t cmd )

This function is used to start so-called direct command. These commands are implemented inside the chip and each command has unique code (see datasheet).

Parameters
[in] cmd : code of the direct command to be executed.
Returns
ERR_NONE : Operation successful
ERR_PARAM : Invalid parameter
ERR_SEND : Transmission error or acknowledge not received
bool st25r3916IsRegValid ( uint8_t reg )

Checks if the given register ID a valid ST25R3916 register

Parameters
[in] reg Address of register to check
Returns
true if is a valid register ID
false otherwise
ReturnCode st25r3916ModifyRegister | ( | uint8_t | reg,
 |  | uint8_t | clr_mask,
 |  | uint8_t | set_mask
 | ) |  |

This function is used if only a particular bits should be changed within an ST25R3916 register.

Parameters
[in] | reg | Address of the register to write.
[in] | clr_mask | bitmask of bits to be cleared to 0.
[in] | set_mask | bitmask of bits to be set to 1.
Returns
ERR_NONE : Operation successful
ERR_PARAM : Invalid parameter
ERR_SEND : Transmission error or acknowledge not received
ReturnCode st25r3916ReadFifo | ( | uint8_t * | buf,
 |  | uint16_t | length
 | ) |  |

This function needs to be called in order to read from ST25R3916 FIFO.

Parameters
[out] | buf | pointer to a buffer where the FIFO content shall be written to.
[in] | length | Number of bytes to read.
Note
: This function doesn't check whether length is really the number of available bytes in FIFO
Returns
ERR_NONE : Operation successful
ERR_PARAM : Invalid parameter
ERR_SEND : Transmission error or acknowledge not received
ReturnCode st25r3916ReadMultipleRegisters | ( | uint8_t | reg,
 |  | uint8_t * | values,
 |  | uint8_t | length
 | ) |  |

This function is used to read from multiple registers using the auto-increment feature. That is, after each read the address pointer inside the ST25R3916 gets incremented automatically.

Parameters
[in] | reg | Address of the frist register to read from.
[in] | values | pointer to a buffer where the result shall be written to.
[in] | length | Number of registers to be read out.
Returns
ERR_NONE : Operation successful
ERR_PARAM : Invalid parameter
ERR_SEND : Transmission error or acknowledge not received
ReturnCode st25r3916ReadPTMem | ( | uint8_t * | values,
 |  | uint16_t | length
 | ) |  |

Accesses to the begging of ST25R3916 Passive Target Memory (PTM A Config) and reads the memory for the given length

Parameters
[out] | values | pointer to a buffer where the PTM content shall be written to.
[in] | length | Number of bytes to read.
Returns
ERR_NONE : Operation successful
ERR_PARAM : Invalid parameter
ERR_SEND : Transmission error or acknowledge not received
ReturnCode st25r3916ReadRegister | ( | uint8_t | reg,
 |  | uint8_t * | val
 | ) |  |

Register bit definitions DOXYGEN_SUPRESS

This function is used to read out the content of ST25R3916 registers.

Parameters
[in] | reg | Address of register to read.
[out] | val | Returned value.
Returns
ERR_NONE : Operation successful
ERR_PARAM : Invalid parameter
ERR_SEND : Transmission error or acknowledge not received
ReturnCode st25r3916ReadTestRegister | ( | uint8_t | reg,
 |  | uint8_t * | val
 | ) |  |

This function is used to read the content of test address reg within the ST25R3916

Parameters
[in] | reg | Address of the register to read
[out] | val | Returned read value
Returns
ERR_NONE : Operation successful
ERR_PARAM : Invalid parameter
ERR_SEND : Transmission error or acknowledge not received
ReturnCode st25r3916SetRegisterBits | ( | uint8_t | reg,
 |  | uint8_t | set_mask
 | ) |  |

This function sets the given bitmask on the register

Parameters
[in] | reg | Address of the register clear
[in] | set_mask | Bitmask of bit to be cleared
Returns
ERR_NONE : Operation successful
ERR_PARAM : Invalid parameter
ERR_SEND : Transmission error or acknowledge not received
ReturnCode st25r3916WriteFifo | ( | const uint8_t * | values,
 |  | uint16_t | length
 | ) |  |

This function needs to be called in order to write to the ST25R3916 FIFO.

Parameters
[in] | values | pointer to a buffer containing the values to be written to the FIFO.
[in] | length | Number of values to be written.
Returns
ERR_NONE : Operation successful
ERR_PARAM : Invalid parameter
ERR_SEND : Transmission error or acknowledge not received
ReturnCode st25r3916WriteMultipleRegisters | ( | uint8_t | reg,
 |  | const uint8_t * | values,
 |  | uint8_t | length
 | ) |  |

This function is used to write multiple values to the ST25R3916 using the auto-increment feature. That is, after each write the address pointer inside the ST25R3916 gets incremented automatically.

Parameters
[in] | reg | Address of the frist register to write.
[in] | values | pointer to a buffer containing the values to be written.
[in] | length | Number of values to be written.
Returns
ERR_NONE : Operation successful
ERR_PARAM : Invalid parameter
ERR_SEND : Transmission error or acknowledge not received
ReturnCode st25r3916WritePTMem | ( | const uint8_t * | values,
 |  | uint16_t | length
 | ) |  |

Accesses to the begging of ST25R3916 Passive Target Memory (PTM A Config) and writes the given values

Parameters
[in] | values | pointer to a buffer containing the values to be written to the Passive Target Memory.
[in] | length | Number of values to be written.
Returns
ERR_NONE : Operation successful
ERR_PARAM : Invalid parameter
ERR_SEND : Transmission error or acknowledge not received
ReturnCode st25r3916WritePTMemF | ( | const uint8_t * | values,
 |  | uint16_t | length
 | ) |  |

Accesses ST25R3916 Passive Target Memory F config and writes the given values

Parameters
[in] | values | pointer to a buffer containing the values to be written to the Passive Target Memory
[in] | length | Number of values to be written.
Returns
ERR_NONE : Operation successful
ERR_PARAM : Invalid parameter
ERR_SEND : Transmission error or acknowledge not received
ReturnCode st25r3916WritePTMemTSN | ( | const uint8_t * | values,
 |  | uint16_t | length
 | ) |  |

Accesses ST25R3916 Passive Target Memory TSN data and writes the given values

Parameters
[in] | values | pointer to a buffer containing the values to be written to the Passive Target Memory.
[in] | length | Number of values to be written.
Returns
ERR_NONE : Operation successful
ERR_PARAM : Invalid parameter
ERR_SEND : Transmission error or acknowledge not received
ReturnCode st25r3916WriteRegister | ( | uint8_t | reg,
 |  | uint8_t | val
 | ) |  |

This function is used to write val to address reg within the ST25R3916.

Parameters
[in] | reg | Address of the register to write.
[in] | val | Value to be written.
Returns
ERR_NONE : Operation successful
ERR_PARAM : Invalid parameter
ERR_SEND : Transmission error or acknowledge not received
ReturnCode st25r3916WriteTestRegister | ( | uint8_t | reg,
 |  | uint8_t | val
 | ) |  |

This function is used to write val to test address reg within the ST25R3916

Parameters
[in] | reg | Address of the register to write
[in] | val | Value to be written
Returns
ERR_NONE : Operation successful
ERR_PARAM : Invalid parameter
ERR_SEND : Transmission error or acknowledge not received
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: ST25R3916_IRQ

Macros | Functions
ST25R3916_IRQ
ST25R3916

RFAL ST25R3916 IRQ. More...

Collaboration diagram for ST25R3916_IRQ:

Macros

#define | ST25R3916_IRQ_MASK_ALL (uint32_t)(0xFFFFFFFFUL)
#define | ST25R3916_IRQ_MASK_NONE (uint32_t)(0x00000000UL)
#define | ST25R3916_IRQ_MASK_OSC (uint32_t)(0x00000080U)
#define | ST25R3916_IRQ_MASK_FWL (uint32_t)(0x00000040U)
#define | ST25R3916_IRQ_MASK_RXS (uint32_t)(0x00000020U)
#define | ST25R3916_IRQ_MASK_RXE (uint32_t)(0x00000010U)
#define | ST25R3916_IRQ_MASK_TXE (uint32_t)(0x00000008U)
#define | ST25R3916_IRQ_MASK_COL (uint32_t)(0x00000004U)
#define | ST25R3916_IRQ_MASK_RX_REST (uint32_t)(0x00000002U)
#define | ST25R3916_IRQ_MASK_RFU (uint32_t)(0x00000001U)
#define | ST25R3916_IRQ_MASK_DCT (uint32_t)(0x00008000U)
#define | ST25R3916_IRQ_MASK_NRE (uint32_t)(0x00004000U)
#define | ST25R3916_IRQ_MASK_GPE (uint32_t)(0x00002000U)
#define | ST25R3916_IRQ_MASK_EON (uint32_t)(0x00001000U)
#define | ST25R3916_IRQ_MASK_EOF (uint32_t)(0x00000800U)
#define | ST25R3916_IRQ_MASK_CAC (uint32_t)(0x00000400U)
#define | ST25R3916_IRQ_MASK_CAT (uint32_t)(0x00000200U)
#define | ST25R3916_IRQ_MASK_NFCT (uint32_t)(0x00000100U)
#define | ST25R3916_IRQ_MASK_CRC (uint32_t)(0x00800000U)
#define | ST25R3916_IRQ_MASK_PAR (uint32_t)(0x00400000U)
#define | ST25R3916_IRQ_MASK_ERR2 (uint32_t)(0x00200000U)
#define | ST25R3916_IRQ_MASK_ERR1 (uint32_t)(0x00100000U)
#define | ST25R3916_IRQ_MASK_WT (uint32_t)(0x00080000U)
#define | ST25R3916_IRQ_MASK_WAM (uint32_t)(0x00040000U)
#define | ST25R3916_IRQ_MASK_WPH (uint32_t)(0x00020000U)
#define | ST25R3916_IRQ_MASK_WCAP (uint32_t)(0x00010000U)
#define | ST25R3916_IRQ_MASK_PPON2 (uint32_t)(0x80000000U)
#define | ST25R3916_IRQ_MASK_SL_WL (uint32_t)(0x40000000U)
#define | ST25R3916_IRQ_MASK_APON (uint32_t)(0x20000000U)
#define | ST25R3916_IRQ_MASK_RXE_PTA (uint32_t)(0x10000000U)
#define | ST25R3916_IRQ_MASK_WU_F (uint32_t)(0x08000000U)
#define | ST25R3916_IRQ_MASK_RFU2 (uint32_t)(0x04000000U)
#define | ST25R3916_IRQ_MASK_WU_A_X (uint32_t)(0x02000000U)
#define | ST25R3916_IRQ_MASK_WU_A (uint32_t)(0x01000000U)

Functions

uint32_t | st25r3916WaitForInterruptsTimed (uint32_t mask, uint16_t tmo)
Wait until an ST25R3916 interrupt occurs. More...
uint32_t | st25r3916GetInterrupt (uint32_t mask)
Get status for the given interrupt. More...
void | st25r3916InitInterrupts (void)
Init the 3916 interrupt. More...
void | st25r3916ModifyInterrupts (uint32_t clr_mask, uint32_t set_mask)
Modifies the Interrupt. More...
void | st25r3916CheckForReceivedInterrupts (void)
Checks received interrupts. More...
void | st25r3916Isr (void)
ISR Service routine. More...
void | st25r3916EnableInterrupts (uint32_t mask)
Enable a given ST25R3916 Interrupt source. More...
void | st25r3916DisableInterrupts (uint32_t mask)
Disable one or more a given ST25R3916 Interrupt sources. More...
void | st25r3916ClearInterrupts (void)
Clear all ST25R3916 irq flags.
void | st25r3916ClearAndEnableInterrupts (uint32_t mask)
Clears and then enables the given ST25R3916 Interrupt sources. More...
void | st25r3916IRQCallbackSet (void(*cb)(void))
Sets IRQ callback for the ST25R3916 interrupt.
void | st25r3916IRQCallbackRestore (void)
Sets IRQ callback for the ST25R3916 interrupt.

Detailed Description

Macro Definition Documentation

#define ST25R3916_IRQ_MASK_ALL (uint32_t)(0xFFFFFFFFUL)

All ST25R3916 interrupt sources

#define ST25R3916_IRQ_MASK_APON (uint32_t)(0x20000000U)

ST25R3916 Anticollision done and Field On interrupt

#define ST25R3916_IRQ_MASK_CAC (uint32_t)(0x00000400U)

ST25R3916 collision during RF collision avoidance interrupt

#define ST25R3916_IRQ_MASK_CAT (uint32_t)(0x00000200U)

ST25R3916 minimum guard time expired interrupt

#define ST25R3916_IRQ_MASK_COL (uint32_t)(0x00000004U)

ST25R3916 bit collision interrupt

#define ST25R3916_IRQ_MASK_CRC (uint32_t)(0x00800000U)

ST25R3916 CRC error interrupt

#define ST25R3916_IRQ_MASK_DCT (uint32_t)(0x00008000U)

ST25R3916 termination of direct command interrupt.

#define ST25R3916_IRQ_MASK_EOF (uint32_t)(0x00000800U)

ST25R3916 external field off interrupt

#define ST25R3916_IRQ_MASK_EON (uint32_t)(0x00001000U)

ST25R3916 external field on interrupt

#define ST25R3916_IRQ_MASK_ERR1 (uint32_t)(0x00100000U)

ST25R3916 hard framing error interrupt

#define ST25R3916_IRQ_MASK_ERR2 (uint32_t)(0x00200000U)

ST25R3916 soft framing error interrupt

#define ST25R3916_IRQ_MASK_FWL (uint32_t)(0x00000040U)

ST25R3916 FIFO water level interrupt

#define ST25R3916_IRQ_MASK_GPE (uint32_t)(0x00002000U)

ST25R3916 general purpose timer expired interrupt

#define ST25R3916_IRQ_MASK_NFCT (uint32_t)(0x00000100U)

ST25R3916 initiator bit rate recognised interrupt

#define ST25R3916_IRQ_MASK_NONE (uint32_t)(0x00000000UL)

No ST25R3916 interrupt source

#define ST25R3916_IRQ_MASK_NRE (uint32_t)(0x00004000U)

ST25R3916 no-response timer expired interrupt

#define ST25R3916_IRQ_MASK_OSC (uint32_t)(0x00000080U)

ST25R3916 oscillator stable interrupt

#define ST25R3916_IRQ_MASK_PAR (uint32_t)(0x00400000U)

ST25R3916 parity error interrupt

#define ST25R3916_IRQ_MASK_PPON2 (uint32_t)(0x80000000U)

ST25R3916 PPON2 Field on waiting Timer interrupt

#define ST25R3916_IRQ_MASK_RFU (uint32_t)(0x00000001U)

ST25R3916 RFU interrupt

#define ST25R3916_IRQ_MASK_RFU2 (uint32_t)(0x04000000U)

ST25R3916 RFU2 interrupt

#define ST25R3916_IRQ_MASK_RX_REST (uint32_t)(0x00000002U)

ST25R3916 automatic reception restart interrupt

#define ST25R3916_IRQ_MASK_RXE (uint32_t)(0x00000010U)

ST25R3916 end of receive interrupt

#define ST25R3916_IRQ_MASK_RXE_PTA (uint32_t)(0x10000000U)

ST25R3916 RXE with an automatic response interrupt

#define ST25R3916_IRQ_MASK_RXS (uint32_t)(0x00000020U)

ST25R3916 start of receive interrupt

#define ST25R3916_IRQ_MASK_SL_WL (uint32_t)(0x40000000U)

ST25R3916 Passive target slot number water level interrupt

#define ST25R3916_IRQ_MASK_TXE (uint32_t)(0x00000008U)

ST25R3916 end of transmission interrupt

#define ST25R3916_IRQ_MASK_WAM (uint32_t)(0x00040000U)

ST25R3916 wake-up due to amplitude interrupt

#define ST25R3916_IRQ_MASK_WCAP (uint32_t)(0x00010000U)

ST25R3916 wake-up due to capacitance measurement

#define ST25R3916_IRQ_MASK_WPH (uint32_t)(0x00020000U)

ST25R3916 wake-up due to phase interrupt

#define ST25R3916_IRQ_MASK_WT (uint32_t)(0x00080000U)

ST25R3916 wake-up interrupt

#define ST25R3916_IRQ_MASK_WU_A (uint32_t)(0x01000000U)

ST25R3916 106kb/s Passive target state interrupt: Active

#define ST25R3916_IRQ_MASK_WU_A_X (uint32_t)(0x02000000U)

ST25R3916 106kb/s Passive target state interrupt: Active*

#define ST25R3916_IRQ_MASK_WU_F (uint32_t)(0x08000000U)

ST25R3916 212/424b/s Passive target interrupt: Active

Function Documentation

void st25r3916CheckForReceivedInterrupts ( void )

Checks received interrupts and saves the result into global params

void st25r3916ClearAndEnableInterrupts ( uint32_t mask )
Parameters
[in] mask mask indicating the interrupts to be cleared and enabled
void st25r3916DisableInterrupts ( uint32_t mask )

This function disables all interrupts given by mask. 0xff disables all.

Parameters
[in] mask mask indicating the interrupts to be disabled.
void st25r3916EnableInterrupts ( uint32_t mask )

This function enables all interrupts given by mask, ST25R3916_IRQ_MASK_ALL enables all interrupts.

Parameters
[in] mask mask indicating the interrupts to be enabled
uint32_t st25r3916GetInterrupt ( uint32_t mask )

This function is used to check whether the interrupt given by mask has occured. If yes the interrupt gets cleared. This function returns only status bits which are inside mask.

Parameters
[in] mask : mask indicating the interrupt to check for.
Returns
the mask of the interrupts occurred
void st25r3916InitInterrupts ( void )

This function is used to check whether the interrupt given by mask has occured.

void st25r3916Isr ( void )

This function modiefies the interupt

void st25r3916ModifyInterrupts | ( | uint32_t | clr_mask,
 |  | uint32_t | set_mask
 | ) |  |

This function modifies the interrupt

Parameters
[in] | clr_mask | : bit mask to be cleared on the interrupt mask
[in] | set_mask | : bit mask to be set on the interrupt mask
uint32_t st25r3916WaitForInterruptsTimed | ( | uint32_t | mask,
 |  | uint16_t | tmo
 | ) |  |

This function is used to access the ST25R3916 interrupt flags. Use this to wait for max. tmo milliseconds for the first interrupt indicated with mask mask to occur.

Parameters
[in] | mask | : mask indicating the interrupts to wait for.
[in] | tmo | : time in milliseconds until timeout occurs. If set to 0 the functions waits forever.
Returns
: 0 if timeout occured otherwise a mask indicating the cleared interrupts.
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: ST25R3916_LED

Functions
ST25R3916_LED
ST25R3916

RFAL ST25R3916 LED. More...

Collaboration diagram for ST25R3916_LED:

Functions

void | st25r3916ledInit (void)
ST25R3916 LED Initialize. More...
void | st25r3916ledEvtIrq (uint32_t irqs)
ST25R3916 LED Event Interrupt. More...
void | st25r3916ledEvtWrReg (uint8_t reg, uint8_t val)
ST25R3916 LED Event Write Register. More...
void | st25r3916ledEvtWrMultiReg (uint8_t reg, const uint8_t *vals, uint8_t len)
ST25R3916 LED Event Write Multiple Register. More...
void | st25r3916ledEvtCmd (uint8_t cmd)
ST25R3916 LED Event Direct Command. More...

Detailed Description

Function Documentation

void st25r3916ledEvtCmd ( uint8_t cmd )

This function should be called upon a ST25R3916 direct command, providing the event with the command executed

Parameters
[in] cmd ST25R3916 cmd executed
void st25r3916ledEvtIrq ( uint32_t irqs )

This function should be called upon a ST25R3916 Interrupt, providing the interrupt event with ST25R3916 irq flags to update LEDs

Parameters
[in] irqs ST25R3916 irqs mask
void st25r3916ledEvtWrMultiReg | ( | uint8_t | reg,
 |  | const uint8_t * | vals,
 |  | uint8_t | len
 | ) |  |

This function should be called upon a ST25R3916 Write Multiple Registers, providing the event with the registers and values to update LEDs

Parameters
[in] | reg | : ST25R3916 first register written
[in] | vals | pointer to the values written
[in] | len | : number of registers written
void st25r3916ledEvtWrReg | ( | uint8_t | reg,
 |  | uint8_t | val
 | ) |  |

This function should be called on a ST25R3916 Write Register operation providing the event with the register and value to update LEDs

Parameters
[in] | reg | ST25R3916 register to be written
[in] | val | value to be written on the register
void st25r3916ledInit ( void )

This function initializes the LEDs that represent ST25R3916 activity

Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: ST25R95

Modules
ST25R95
RFAL-HAL

RFAL ST25R95 Driver. More...

Collaboration diagram for ST25R95:

Modules

ST25R95_Driver
RFAL ST25R95 Driver.
ST25R95_Com
RFAL ST25R95 Communication.

Detailed Description

Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: ST25R95_Driver

Macros | Functions
ST25R95_Driver
ST25R95

RFAL ST25R95 Driver. More...

Collaboration diagram for ST25R95_Driver:

Macros

#define | st25r95_nIRQ_IN_Pulse() st25r95SPI_nIRQ_IN_Pulse()
#define | st25r95ResetChip() st25r95SPIResetChip()

Functions

ReturnCode | st25r95Initialize (void)
Initialise ST25R95 driver. More...
void | st25r95Deinitialize (void)
Deinitialize ST25R95 driver. More...
void | st25r95SPI_nIRQ_IN_Pulse (void)
Generates an IRQ_IN pulse (SPI intefrace) More...
void | st25r95UART_nIRQ_IN_Pulse (void)
Generates an IRQ_IN pulse (UART interface) More...
bool | st25r95CheckChipID (void)
Check Identity. More...
ReturnCode | st25r95FieldOn (uint32_t protocol)
Turns field on. More...
ReturnCode | st25r95FieldOff (void)
Turns field off. More...

Detailed Description

Macro Definition Documentation

#define st25r95_nIRQ_IN_Pulse ( ) st25r95SPI_nIRQ_IN_Pulse()

UART/SPI wrapper for st25r95_nIRQ_IN_Pulse

#define st25r95ResetChip ( ) st25r95SPIResetChip()

UART/SPI wrapper for st25r95ResetChip

Function Documentation

bool st25r95CheckChipID ( void )

Checks if the chip ID is as expected.

Returns
true when IC type is as expected
void st25r95Deinitialize ( void )

Calling this function deinitializes the ST25R95 driver.

ReturnCode st25r95FieldOff ( void )

This function turns field Off

Returns
ERR_NONE : Operation successful
ReturnCode st25r95FieldOn ( uint32_t protocol )

This function turns field On

Parameters
[in] protocol ST25R95_PROTOCOL_xxx protocol value.
Returns
ERR_NONE : Operation successful
ReturnCode st25r95Initialize ( void )

This function initialises the ST25R95 driver.

Returns
ERR_NONE : Operation successful
Other : Init failed
void st25r95SPI_nIRQ_IN_Pulse ( void )

Generates an IRQ_IN pulse (see CR95HF DS §3.2).

void st25r95UART_nIRQ_IN_Pulse ( void )

Generates an IRQ_IN pulse (see CR95HF DS §3.2).

Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: ST25R95_Com

Data Structures | Macros | Functions | Variables
ST25R95_Com
ST25R95

RFAL ST25R95 Communication. More...

Collaboration diagram for ST25R95_Com:

Data Structures

struct st25r95SPIRxContext

Macros

#define | ST25R95_CONTROL_SEND 0x00
#define | ST25R95_CONTROL_RESET 0x01
#define | ST25R95_CONTROL_READ 0x02
#define | ST25R95_CONTROL_POLL 0x03
#define | ST25R95_CONTROL_POLL_TIMEOUT 100
#define | ST25R95_CONTROL_POLL_NO_TIMEOUT 0
#define | ST25R95_COMMAND_IDN 0x01
#define | ST25R95_COMMAND_PROTOCOLSELECT 0x02
#define | ST25R95_COMMAND_POLLFIED 0x03
#define | ST25R95_COMMAND_SENDRECV 0x04
#define | ST25R95_COMMAND_LISTEN 0x05
#define | ST25R95_COMMAND_SEND 0x06
#define | ST25R95_COMMAND_IDLE 0x07
#define | ST25R95_COMMAND_RDREG 0x08
#define | ST25R95_COMMAND_WRREG 0x09
#define | ST25R95_COMMAND_BAUDRATE 0x0A
#define | ST25R95_COMMAND_ACFILTER 0x0D
#define | ST25R95_COMMAND_ECHO 0x55
#define | ST25R95_SPI_DUMMY_BYTE 0x00
#define | ST25R95_CMD_COMMAND_OFFSET 0x00U
#define | ST25R95_CMD_RESULT_OFFSET 0x00U
#define | ST25R95_CMD_LENGTH_OFFSET 0x01U
#define | ST25R95_CMD_DATA_OFFSET 0x02U
#define | ST25R95_COMMUNICATION_BUFFER_SIZE (528 + 2)
#define | ST25R95_COMMUNICATION_UART_WDOGTIMER (5000U)
#define | ST25R95_PROTOCOL_FIELDOFF 0x00U
#define | ST25R95_PROTOCOL_ISO15693 0x01U
#define | ST25R95_PROTOCOL_ISO14443A 0x02U
#define | ST25R95_PROTOCOL_ISO14443B 0x03U
#define | ST25R95_PROTOCOL_ISO18092 0x04U
#define | ST25R95_PROTOCOL_CE_ISO14443A 0x05U
#define | ST25R95_PROTOCOL_MAX ST25R95_PROTOCOL_CE_ISO14443A
#define | ST25R95_FWT_MAX 0x40A8BC0
#define | ST25R95_ERRCODE_NONE 0x00
#define | ST25R95_ERRCODE_FRAMEOKADDITIONALINFO 0x80
#define | ST25R95_ERRCODE_INVALIDCCMDCODE 0x81
#define | ST25R95_ERRCODE_INVALIDCMDLENGHT 0x82
#define | ST25R95_ERRCODE_INVALIDPROTOCOL 0x83
#define | ST25R95_ERRCODE_COMERROR 0x86
#define | ST25R95_ERRCODE_FRAMEWAITTIMEOUT 0x87
#define | ST25R95_ERRCODE_INVALIDSOF 0x88
#define | ST25R95_ERRCODE_OVERFLOW 0x89
#define | ST25R95_ERRCODE_FRAMING 0x8A
#define | ST25R95_ERRCODE_EGT 0x8B
#define | ST25R95_ERRCODE_FIELDLENGTH 0x8C
#define | ST25R95_ERRCODE_CRC 0x8D
#define | ST25R95_ERRCODE_RECEPTIONLOST 0x8E
#define | ST25R95_ERRCODE_NOFIELD 0x8F
#define | ST25R95_ERRCODE_RESULTSRESIDUAL 0x90
#define | ST25R95_ERRCODE_61_SOF 0x61
#define | ST25R95_ERRCODE_62_CRC 0x62
#define | ST25R95_ERRCODE_63_SOF_HIGH 0x63
#define | ST25R95_ERRCODE_65_SOF_LOW 0x65
#define | ST25R95_ERRCODE_66_EGT 0x66
#define | ST25R95_ERRCODE_67_TR1TOOLONG 0x67
#define | ST25R95_ERRCODE_68_TR1TOOSHORT 0x68
#define | ST25R95_REG_ARC_B 0x6801
#define | ST25R95_REG_ACC_A 0x6804
#define | ST25R95_REG_TIMERW 0x3A00
#define | ST25R95_IDN_RESPONSE_BUFLEN (15 + 2)
#define | ST25R95_PROTOCOLSELECT_RESPONSE_BUFLEN (0 + 2)
#define | ST25R95_POLLFIELD_RESPONSE_BUFLEN (1 + 2)
#define | ST25R95_LISTEN_RESPONSE_BUFLEN (0 + 2)
#define | ST25R95_RDREG_RESPONSE_BUFLEN (1 + 2)
#define | ST25R95_WRREG_RESPONSE_BUFLEN (0 + 2)
#define | ST25R95_ACFILTER_RESPONSE_BUFLEN (1 + 2)
#define | ST25R95_IDLE_RESPONSE_BUFLEN (1 + 2)
#define | ST25R95_ECHO_RESPONSE_BUFLEN (3)
#define | ST25R95_SEND_RESPONSE_BUFLEN (0 + 2)
#define | ST25R95_ACSTATE_IDLE 0x00U
#define | ST25R95_ACSTATE_READYA 0x01U
#define | ST25R95_ACSTATE_ACTIVE 0x04U
#define | ST25R95_ACSTATE_HALT 0x80U
#define | ST25R95_ACSTATE_READYAX 0x81U
#define | ST25R95_ACSTATE_ACTIVEX 0x84U
#define | ST25R95_IS_PROT_ISO15693_CRC_ERR(status) (((status) & 0x02U) == 0x02U)
#define | ST25R95_IS_PROT_ISO15693_COLLISION_ERR(status) (((status) & 0x01U) == 0x01U)
#define | ST25R95_IS_PROT_ISO14443A_COLLISION_ERR(status) (((status) & 0x80U) == 0x80U)
#define | ST25R95_IS_PROT_ISO14443A_CRC_ERR(status) (((status) & 0x20U) == 0x20U)
#define | ST25R95_IS_PROT_ISO14443A_PARITY_ERR(status) (((status) & 0x10U) == 0x10U)
#define | ST25R95_IS_PROT_ISO14443B_CRC_ERR(status) (((status) & 0x02U) == 0x02U)
#define | ST25R95_IS_PROT_ISO18092_CRC_ERR(status) (((status) & 0x02U) == 0x02U)
#define | ST25R95_PROTOCOLSELECT_BR_OFFSET (3U)
#define | ST25R95_IDLE_WUPERIOD_OFFSET (0x09U)
#define | ST25R95_IDLE_DACDATAL_OFFSET (0x0CU)
#define | ST25R95_IDLE_DACDATAH_OFFSET (0x0DU)
#define | ST25R95_DACDATA_MAX (0xFCU)
#define | ST25R95_IDLE_WKUP_TIMEOUT (0x01U)
#define | ST25R95_IDLE_WKUP_TAGDETECT (0x02U)
#define | st25r95SendCommandTypeAndLen(cmd, resp, respBuffLen) st25r95SPISendCommandTypeAndLen((cmd), (resp), (respBuffLen))
#define | st25r95CommandEcho() st25r95SPICommandEcho()
#define | st25r95SendData(buf, bufLen, protocol, flags) st25r95SPISendData((buf), (bufLen), (protocol), (flags))
#define | st25r95SendTransmitFlag(protocol, transmitFlag) st25r95SPISendTransmitFlag((protocol), (transmitFlag))
#define | st25r95PollRead(timeout) st25r95SPIPollRead((timeout))
#define | st25r95PrepareRx(protocol, rxBuf, rxBufLen, rxRcvdLen, flags, additionalRespBytes) st25r95SPIPrepareRx((protocol), (rxBuf), (rxBufLen), (rxRcvdLen), (flags), (additionalRespBytes));
#define | st25r95CompleteRx() st25r95SPICompleteRx();
#define | st25r95IsTransmitTxCompleted() st25r95SPIIsTransmitCompleted()
#define | st25r95IsInListen() st25r95SPIIsInListen()
#define | st25r95GetLmState() st25r95SPIGetLmState()
#define | st25r95DeactivateACFilter() st25r95SPIDeactivateACFilter()
#define | st25r95SetACState(State) st25r95SPISetACState(State)
#define | st25r95Idle(DacDataL, DacDataH, WUPeriod) st25r95SPIIdle((DacDataL), (DacDataH), (WUPeriod))
#define | st25r95GetIdleResponse() st25r95SPIGetIdleResponse()
#define | st25r95KillIdle() st25r95SPIKillIdle()
#define | st25r95FlushChipSPIBuffer() st25r95SPIRxTx(NULL, NULL, ST25R95_COMMUNICATION_BUFFER_SIZE)

Functions

void | st25r95SPIResetChip (void)
Resets the ST25R95 (SPI interface) More...
ReturnCode | st25r95SPISendCommandTypeAndLen (uint8_t *cmd, uint8_t *resp, uint16_t respBuffLen)
Sends a command to ST25R95 and reads the response (SPI Interface) More...
ReturnCode | st25r95UARTSendCommandTypeAndLen (uint8_t *cmd, uint8_t *resp, uint16_t respBuffLen)
Sends a command to ST25R95 and reads the response (UART Interface) More...
ReturnCode | st25r95SPICommandEcho (void)
Sends a echo command to ST25R95 (SPI Interface) More...
ReturnCode | st25r95UARTCommandEcho (void)
Sends a echo command to ST25R95 (UART Interface) More...
uint8_t | st25r95SPISendReceiveByte (uint8_t data)
Sends one byte over SPI and returns the byte received. More...
ReturnCode | st25r95ProtocolSelect (uint8_t protocol)
Sends ProtocolSelect command. More...
ReturnCode | st25r95SetBitRate (uint8_t protocol, rfalBitRate txBR, rfalBitRate rxBR)
Set bit rates. More...
void | st25r95SPISendData (uint8_t *buf, uint8_t bufLen, uint8_t protocol, uint32_t flags)
Sends data (SPI interface) More...
void | st25r95UARTSendData (uint8_t *buf, uint8_t bufLen, uint8_t protocol, uint32_t flags)
Sends data (UART interface) More...
void | st25r95SPIPrepareRx (uint8_t protocol, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rxRcvdLen, uint32_t flags, uint8_t *additionalRespBytes)
Prepares Rx (SPI Interface) More...
void | st25r95UARTPrepareRx (uint8_t protocol, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rxRcvdLen, uint32_t flags, uint8_t *additionalRespBytes)
Prepares Rx (UART Interface) More...
ReturnCode | st25r95SPIPollRead (uint32_t timeout)
Polls the ST25R95 for incomming data (SPI Interface) More...
ReturnCode | st25r95UARTPollRead (uint32_t timeout)
Polls the ST25R95 for incomming data (UART Interface) More...
ReturnCode | st25r95SPIPollSend (void)
Polls the ST25R95 for sending (SPI Interface) More...
ReturnCode | st25r95SetFWT (uint8_t protocol, uint32_t fwt)
set FWT More...
ReturnCode | st25r95SetSlotCounter (uint8_t slots)
set slot counter More...
ReturnCode | st25r95WriteReg (uint8_t protocol, uint16_t reg, uint8_t value)
Write Register. More...
ReturnCode | st25r95ReadReg (uint16_t reg, uint8_t *value)
Read Register. More...
bool | st25r95PollField (void)
Poll field (CE mode) More...
ReturnCode | st25r95SetACFilter (const rfalLmConfPA *confA)
Set Anti-Collision filter (CE mode) More...
ReturnCode | st25r95Listen (void)
Listen (CE mode) More...
void | st25r95UartTxCpltCallback (void)
Uart Tx Callback (UART mode) More...
void | st25r95UartRxCpltCallback (void)
Uart Rx Callback (UART mode) More...
void | st25r95UartErrorCallback (void)
Uart Error Callback (UART mode) More...
bool | st25r95SPIIsTransmitCompleted (void)
End of transmit test function (SPI mode) More...
bool | st25r95UARTIsTransmitTxCompleted (void)
End of transmit test function (UART mode) More...
bool | st25r95SPIIsInListen (void)
Listen mode test function (CE mode) More...
rfalLmState | st25r95SPIGetLmState (void)
Get Listen Mode state (CE mode) More...
ReturnCode | st25r95SPIDeactivateACFilter (void)
Deactivate the Anti-Collision filter (CE mode) More...
ReturnCode | st25r95SPISetACState (uint8_t state)
Set Anti-Collision filter state (CE mode) More...
void | st25r95RearmListen (void)
Rearm Listen mode (CE mode) More...
void | st25r95SPIIdle (uint8_t dacDataL, uint8_t dacDataH, uint8_t WUPeriod)
Send Idle command (SPI mode) More...
void | st25r95SPIGetIdleResponse (void)
Flush the Idle response (SPI mode) More...
void | st25r95UARTIdle (uint8_t dacDataL, uint8_t dacDataH, uint8_t WUPeriod)
Send Idle command (UART mode) More...
void | st25r95UARTGetIdleResponse (void)
Flush the Idle response (UART mode) More...
void | st25r95SPISendTransmitFlag (uint8_t protocol, uint8_t transmitFlag)
Send transmit flag (SPI mode) More...
void | st25r95UARTSendTransmitFlag (uint8_t protocol, uint8_t transmitFlag)
Send transmit flag (UART mode) More...
ReturnCode | st25r95SPICompleteRx (void)
Process end of Rx (SPI mode) More...
ReturnCode | st25r95UARTCompleteRx (void)
Process end of Rx (UART mode) More...
void | st25r95SPIKillIdle (void)
return to ready mode (SPI mode) More...
void | st25r95UARTKillIdle (void)
return to ready mode (UART mode) More...
uint8_t | st25r95CalibrateTagDetector (void)
Calibrate Tag Detector. More...
void | st25r95SPIRxTx (uint8_t *txData, uint8_t *rxData, uint16_t length)
SPI transceive function. More...

Variables

st25r95SPIRxContext st25r95SPIRxCtx

Detailed Description

Macro Definition Documentation

#define ST25R95_ACFILTER_RESPONSE_BUFLEN (1 + 2)

ACFilter response buffer len

#define ST25R95_ACSTATE_ACTIVE 0x04U

AC Filter state: Active

#define ST25R95_ACSTATE_ACTIVEX 0x84U

AC Filter state: Active*

#define ST25R95_ACSTATE_HALT 0x80U

AC Filter state: Halt

#define ST25R95_ACSTATE_IDLE 0x00U

AC Filter state: Idle

#define ST25R95_ACSTATE_READYA 0x01U

AC Filter state: ReadyA

#define ST25R95_ACSTATE_READYAX 0x81U

AC Filter state: ReadyA*

#define ST25R95_CMD_COMMAND_OFFSET 0x00U

CMD Offset. See CR95HF DS § 4.2.1

#define ST25R95_CMD_DATA_OFFSET 0x02U

DATA[0] Offset. See CR95HF DS § 4.2.1

#define ST25R95_CMD_LENGTH_OFFSET 0x01U

LEN Offset. See CR95HF DS § 4.2.1

#define ST25R95_CMD_RESULT_OFFSET 0x00U

Resp Code Offset. See CR95HF DS § 4.2.1

#define ST25R95_COMMAND_ACFILTER 0x0D

Enables or disables the anti-collision filter for ISO/IEC 14443 Type A protocol.

#define ST25R95_COMMAND_BAUDRATE 0x0A

Sets the UART baud rate.

#define ST25R95_COMMAND_ECHO 0x55

ST25R95 performs a serial interface ECHO command

#define ST25R95_COMMAND_IDLE 0x07

Switches the ST25R95 into a low consumption

#define ST25R95_COMMAND_IDN 0x01

Requests short information about the ST25R95 and its revision.

#define ST25R95_COMMAND_LISTEN 0x05

Listens for data using previously selected protocol (used in Card Emulation mode).

#define ST25R95_COMMAND_POLLFIED 0x03

Returns the current value of the FieldDet flag (used in Card Emulation mode).

#define ST25R95_COMMAND_PROTOCOLSELECT 0x02

Selects the RF communication protocol and specifies certain protocol-related parameters.

#define ST25R95_COMMAND_RDREG 0x08

Reads Wake-up event register or the Analog Register Configuration (ARC_B) register

#define ST25R95_COMMAND_SEND 0x06

Sends data using previously selected protocol (used in Card Emulation mode).

#define ST25R95_COMMAND_SENDRECV 0x04

Sends data using the previously selected protocol and receives the tag response.

#define ST25R95_COMMAND_WRREG 0x09

Write register

#define ST25R95_COMMUNICATION_BUFFER_SIZE (528 + 2)

Max received buffer size

#define ST25R95_COMMUNICATION_UART_WDOGTIMER (5000U)

Uart watchdog timer

#define ST25R95_CONTROL_POLL 0x03

Poll the ST25R95

#define ST25R95_CONTROL_POLL_NO_TIMEOUT 0

non blocking polling

#define ST25R95_CONTROL_POLL_TIMEOUT 100

Polling timeout

#define ST25R95_CONTROL_READ 0x02

Read data from the ST25R95

#define ST25R95_CONTROL_RESET 0x01

Reset the ST25R95

#define ST25R95_CONTROL_SEND 0x00

Send command to the ST25R95

#define ST25R95_DACDATA_MAX (0xFCU)

DacData max value (6 bits MSB)

#define ST25R95_ECHO_RESPONSE_BUFLEN (3)

Echo response buffer len

#define ST25R95_ERRCODE_61_SOF 0x61

SOF error during the EMD process

#define ST25R95_ERRCODE_62_CRC 0x62

CRC error during the EMD process

#define ST25R95_ERRCODE_63_SOF_HIGH 0x63

SOF error in ISO14443B occurs during high part (duration of 2 to 3 Elementary Unit Time, ETU)

#define ST25R95_ERRCODE_65_SOF_LOW 0x65

SOF error in ISO14443B occurs during low part (duration of 10 to 11 Elementary Unit Time, ETU)

#define ST25R95_ERRCODE_66_EGT 0x66

Extra Guard Time (EGT) error in ISO14443B

#define ST25R95_ERRCODE_67_TR1TOOLONG 0x67

TR1 set by card too long in case of protocol ISO14443B

#define ST25R95_ERRCODE_68_TR1TOOSHORT 0x68

TTR1 set by card too short in case of protocol ISO14443B

#define ST25R95_ERRCODE_COMERROR 0x86

Hardware communication error

#define ST25R95_ERRCODE_CRC 0x8D

CRC error, Valid only for ISO/IEC 18092

#define ST25R95_ERRCODE_EGT 0x8B

EGT time out

#define ST25R95_ERRCODE_FIELDLENGTH 0x8C

Valid for ISO/IEC 18092, if Length <3

#define ST25R95_ERRCODE_FRAMEOKADDITIONALINFO 0x80

Frame correctly received (additionally see CRC/Parity information)

#define ST25R95_ERRCODE_FRAMEWAITTIMEOUT 0x87

Frame wait time out (no valid reception)

#define ST25R95_ERRCODE_FRAMING 0x8A

if start bit = 1 or stop bit = 0

#define ST25R95_ERRCODE_INVALIDCCMDCODE 0x81

Invalid command code

#define ST25R95_ERRCODE_INVALIDCMDLENGHT 0x82

Invalid command length

#define ST25R95_ERRCODE_INVALIDPROTOCOL 0x83

Invalid protocol

#define ST25R95_ERRCODE_INVALIDSOF 0x88

Invalid SOF

#define ST25R95_ERRCODE_NOFIELD 0x8F

When Listen command detects the absence of external field

#define ST25R95_ERRCODE_NONE 0x00

no error occurred

#define ST25R95_ERRCODE_OVERFLOW 0x89

Too many bytes received and data still arriving

#define ST25R95_ERRCODE_RECEPTIONLOST 0x8E

When reception is lost without EOF received (or subcarrier was lost)

#define ST25R95_ERRCODE_RESULTSRESIDUAL 0x90

Residual bits in last byte. Useful for ACK/NAK reception of ISO/IEC 14443 Type A.

#define ST25R95_FWT_MAX 0x40A8BC0

Max FWT supported: 5s

#define ST25R95_IDLE_DACDATAH_OFFSET (0x0DU)

DacDataH offset in Idle Command

#define ST25R95_IDLE_DACDATAL_OFFSET (0x0CU)

DacDataL offset in Idle Command

#define ST25R95_IDLE_RESPONSE_BUFLEN (1 + 2)

Idle response buffer len

#define ST25R95_IDLE_WKUP_TAGDETECT (0x02U)

Idle wakeup source: Tag Detected

#define ST25R95_IDLE_WKUP_TIMEOUT (0x01U)

Idle wakeup source: timeout

#define ST25R95_IDLE_WUPERIOD_OFFSET (0x09U)

WUPeriod offset in Idle Command

#define ST25R95_IDN_RESPONSE_BUFLEN (15 + 2)

IDN response buffer len

#define ST25R95_IS_PROT_ISO14443A_COLLISION_ERR ( status ) (((status) & 0x80U) == 0x80U)

Test for Colission flag in SendRcv response additional byte for ISO14443A protocol

#define ST25R95_IS_PROT_ISO14443A_CRC_ERR ( status ) (((status) & 0x20U) == 0x20U)

Test for CRC flag in SendRcv response additional byte for ISO14443A protocol

#define ST25R95_IS_PROT_ISO14443A_PARITY_ERR ( status ) (((status) & 0x10U) == 0x10U)

Test for Parity flag in SendRcv response additional byte for ISO14443A protocol

#define ST25R95_IS_PROT_ISO14443B_CRC_ERR ( status ) (((status) & 0x02U) == 0x02U)

Test for CRC flag in SendRcv response additional byte for ISO14443B protocol

#define ST25R95_IS_PROT_ISO15693_COLLISION_ERR ( status ) (((status) & 0x01U) == 0x01U)

Test for Collision flag in SendRcv response additional byte for ISO15693 protocol

#define ST25R95_IS_PROT_ISO15693_CRC_ERR ( status ) (((status) & 0x02U) == 0x02U)

Test for CRC flag in SendRcv response additional byte for ISO15693 protocol

#define ST25R95_IS_PROT_ISO18092_CRC_ERR ( status ) (((status) & 0x02U) == 0x02U)

Test for CRC flag in SendRcv response additional byte for ISO18092 protocol

#define ST25R95_LISTEN_RESPONSE_BUFLEN (0 + 2)

Listen response buffer len

#define ST25R95_POLLFIELD_RESPONSE_BUFLEN (1 + 2)

PollField response buffer len

#define ST25R95_PROTOCOL_CE_ISO14443A 0x05U

ProtocolSelect protocol code: ISO14443 (Card Emulation)

#define ST25R95_PROTOCOL_FIELDOFF 0x00U

ProtocolSelect protocol code: Field OFF

#define ST25R95_PROTOCOL_ISO14443A 0x02U

ProtocolSelect protocol code: ISO14443A (Reader)

#define ST25R95_PROTOCOL_ISO14443B 0x03U

ProtocolSelect protocol code: ISO14443B (Reader)

#define ST25R95_PROTOCOL_ISO15693 0x01U

ProtocolSelect protocol code: ISO15693 (Reader)

#define ST25R95_PROTOCOL_ISO18092 0x04U

ProtocolSelect protocol code: ISO18092 (Reader)

#define ST25R95_PROTOCOL_MAX ST25R95_PROTOCOL_CE_ISO14443A

Max value of protocol field

#define ST25R95_PROTOCOLSELECT_BR_OFFSET (3U)

Bit Rate offset in ProtocolSelect Command

#define ST25R95_PROTOCOLSELECT_RESPONSE_BUFLEN (0 + 2)

ProtocolSelect response buffer len

#define ST25R95_RDREG_RESPONSE_BUFLEN (1 + 2)

ReadReg response buffer len

#define ST25R95_REG_ACC_A 0x6804

ACC_A register address

#define ST25R95_REG_ARC_B 0x6801

ARC_B register address

#define ST25R95_REG_TIMERW 0x3A00

TIMER register address

#define ST25R95_SEND_RESPONSE_BUFLEN (0 + 2)

Send response buffer len

#define ST25R95_SPI_DUMMY_BYTE 0x00

Dummy byte when nothing to transmit on SPI

#define ST25R95_WRREG_RESPONSE_BUFLEN (0 + 2)

WriteRead response buffer len

#define st25r95CommandEcho ( ) st25r95SPICommandEcho()

UART/SPI wrapper for st25r95CommandEcho

#define st25r95CompleteRx ( ) st25r95SPICompleteRx();

UART/SPI wrapper for st25r95CompleteRx

#define st25r95DeactivateACFilter ( ) st25r95SPIDeactivateACFilter()

UART/SPI wrapper for st25r95DeactivateACFilter

#define st25r95FlushChipSPIBuffer ( ) st25r95SPIRxTx(NULL, NULL, ST25R95_COMMUNICATION_BUFFER_SIZE)

st25r95FlushChipSPIBuffer defined as a macro for better readibility

#define st25r95GetIdleResponse ( ) st25r95SPIGetIdleResponse()

UART/SPI wrapper for st25r95GetIdleResponse

#define st25r95GetLmState ( ) st25r95SPIGetLmState()

UART/SPI wrapper for st25r95GetLmState

#define st25r95Idle | ( | DacDataL,
 |  | DacDataH,
 |  | WUPeriod
 | ) | st25r95SPIIdle((DacDataL), (DacDataH), (WUPeriod))

UART/SPI wrapper for st25r95Idle

#define st25r95IsInListen ( ) st25r95SPIIsInListen()

UART/SPI wrapper for st25r95IsInListen

#define st25r95IsTransmitTxCompleted ( ) st25r95SPIIsTransmitCompleted()

UART/SPI wrapper for st25r95IsTransmitTxCompleted

#define st25r95KillIdle ( ) st25r95SPIKillIdle()

UART/SPI wrapper for st25r95KillIdle

#define st25r95PollRead ( timeout ) st25r95SPIPollRead((timeout))

UART/SPI wrapper for st25r95PollRead

#define st25r95PrepareRx | ( | protocol,
 |  | rxBuf,
 |  | rxBufLen,
 |  | rxRcvdLen,
 |  | flags,
 |  | additionalRespBytes
 | ) | st25r95SPIPrepareRx((protocol), (rxBuf), (rxBufLen), (rxRcvdLen), (flags), (additionalRespBytes));

UART/SPI wrapper for st25r95PrepareRx

#define st25r95SendCommandTypeAndLen | ( | cmd,
 |  | resp,
 |  | respBuffLen
 | ) | st25r95SPISendCommandTypeAndLen((cmd), (resp), (respBuffLen))

UART/SPI wrapper for st25r95SendCommandTypeAndLen

#define st25r95SendData | ( | buf,
 |  | bufLen,
 |  | protocol,
 |  | flags
 | ) | st25r95SPISendData((buf), (bufLen), (protocol), (flags))

UART/SPI wrapper for st25r95SendData

#define st25r95SendTransmitFlag | ( | protocol,
 |  | transmitFlag
 | ) | st25r95SPISendTransmitFlag((protocol), (transmitFlag))

UART/SPI wrapper for st25r95SendTransmitFlag

#define st25r95SetACState ( State ) st25r95SPISetACState(State)

UART/SPI wrapper for st25r95SetACState

Function Documentation

uint8_t st25r95CalibrateTagDetector ( void )

This function returns the Tag Detector DAC calibration value.

Returns
uint8_t Any : calibration value
ReturnCode st25r95Listen ( void )

This function starts the receive in CE mode.

Returns
ERR_NONE : Operation successful
bool st25r95PollField ( void )

This function is used to poll field. Only available in CE mode.

Returns
false : field OFF
true : field ON
ReturnCode st25r95ProtocolSelect ( uint8_t protocol )

This function is used to send ST25R95 ProtocolSelect command

Parameters
[in] protocol value of the protocol
Returns
ERR_NONE : Operation successful
ERR_TIMEOUT : Timeout
ERR_PARAM : ProtocolSelect failure
ReturnCode st25r95ReadReg | ( | uint16_t | reg,
 |  | uint8_t * | value
 | ) |  |

This function is used to read ST25R95 ARC_B register

Parameters
[in] | reg | register (currently only ST25R95_REG_ARC_B register is defined)
[out] | value | register value
Returns
ERR_NONE : Operation successful
void st25r95RearmListen ( void )

This function is used to rearm the listen mode. Only available in CE mode.

ReturnCode st25r95SetACFilter ( const rfalLmConfPA * confA )

This function is used to program the AC filter. Only available in CE mode.

Parameters
[in] confA pointer to Passive A configurations
Returns
ERR_NONE : Operation successful
ReturnCode st25r95SetBitRate | ( | uint8_t | protocol,
 |  | rfalBitRate | txBR,
 |  | rfalBitRate | rxBR
 | ) |  |

This function is used to set Tx and Rx bit rates

Parameters
[in] | protocol | value of the protocol
[in] | txBR | tx bit rate
[in] | rxBR | rx bit rate
Returns
ERR_NONE : Operation successful
ERR_NOT_IMPLEMENTED : unsupported bit rate value
ReturnCode st25r95SetFWT | ( | uint8_t | protocol,
 |  | uint32_t | fwt
 | ) |  |

This function is used to set the FWT for the next frames

Parameters
[in] | protocol | protocol index
[in] | fwt | frame waiting time
Returns
ERR_NONE : Operation successful
ReturnCode st25r95SetSlotCounter ( uint8_t slots )

This function is used to set the slot counter (ISO18092)

Parameters
[in] slots number of slots
Returns
ERR_NONE : Operation successful
ReturnCode st25r95SPICommandEcho ( void )

This function is used to send an echo command

Returns
ERR_NONE : Operation successful (echo response received)
ERR_TIMEOUT : Timeout
ReturnCode st25r95SPICompleteRx ( void )

This function is used to conclude the Rx request and returns the status of the Rx.

Returns
ERR_NONE : Operation successful
ReturnCode st25r95SPIDeactivateACFilter ( void )

This function is used to deactivate the AC filter. Only available in CE mode.

Returns
ERR_NONE : Operation successful
void st25r95SPIGetIdleResponse ( void )

This function is used to flush the Idle response.

rfalLmState st25r95SPIGetLmState ( void )

This function returns the Listen mode state.

Returns
rfalLmState Any : LM State
void st25r95SPIIdle | ( | uint8_t | dacDataL,
 |  | uint8_t | dacDataH,
 |  | uint8_t | WUPeriod
 | ) |  |

This function is used to send the Idle command.

Parameters
[in] | dacDataL | lower comparator value
[in] | dacDataH | higher comparator value
[in] | WUPeriod | time between 2 detections
bool st25r95SPIIsInListen ( void )

This function is used to test whether the ST25R95 is currently in Listen mode.

Returns
true : Listen mode on going
false : Not in Listen mode
bool st25r95SPIIsTransmitCompleted ( void )

This function is used to test whether the current transmit is finished or not.

Returns
true : Transmit completed
false : Transmit not completed
void st25r95SPIKillIdle ( void )

This function is used to exit from Idle mode and return to Ready mode.

ReturnCode st25r95SPIPollRead ( uint32_t timeout )

This function is used to poll the ST25R95 for incomming data

Parameters
[in] timeout timeout value
Returns
ERR_NONE : Data ready to be read
ERR_TIMEOUT : No data available
ReturnCode st25r95SPIPollSend ( void )

This function is used to poll the ST25R95 before sending data

Returns
ERR_NONE : ST25R95 ready to receive data
ERR_TIMEOUT : ST25R95 not ready to receive data
void st25r95SPIPrepareRx | ( | uint8_t | protocol,
 |  | uint8_t * | rxBuf,
 |  | uint16_t | rxBufLen,
 |  | uint16_t * | rxRcvdLen,
 |  | uint32_t | flags,
 |  | uint8_t * | additionalRespBytes
 | ) |  |

This function is used to send data

Warning
This method should be called only if polling is successful
Parameters
[in] | protocol | : protocol index
[in] | rxBuf | : buffer to place the response
[in] | rxBufLen | : length of rxBuf
[in] | rxRcvdLen | : received length
[in] | flags | : TransceiveFlags indication special handling
[in] | additionalRespBytes | additionnal response bytes
void st25r95SPIResetChip ( void )

This function is used to reset the ST25R95 as per CR95HF DS § 4.2.1 .

void st25r95SPIRxTx | ( | uint8_t * | txData,
 |  | uint8_t * | rxData,
 |  | uint16_t | length
 | ) |  |

This function is used for SPI communication.

Parameters
[in] | txData | Tx Data
[out] | rxData | Rx Data
[in] | length | Tx/Rx Data buffer len
ReturnCode st25r95SPISendCommandTypeAndLen | ( | uint8_t * | cmd,
 |  | uint8_t * | resp,
 |  | uint16_t | respBuffLen
 | ) |  |

This function is used to send a cmd and read the resp. The cmd command must follow the CMD LEN format (i.e. any command except echo)

Parameters
[in] | cmd | Command as per CR95HF DS §5.
[out] | resp | buffer for the response.
[in] | respBuffLen | response buffer length
Returns
ERR_NONE : Operation successful
ERR_TIMEOUT : Timeout
void st25r95SPISendData | ( | uint8_t * | buf,
 |  | uint8_t | bufLen,
 |  | uint8_t | protocol,
 |  | uint32_t | flags
 | ) |  |

This function is used to send data

Parameters
[in] | buf | : data to be sent
[in] | bufLen | : buffer length
[in] | protocol | protocol index
[in] | flags | : TransceiveFlags indication special handling
uint8_t st25r95SPISendReceiveByte ( uint8_t data )

This function is used to send one byte over SPI and returns the byte received

Parameters
[in] data byte to be sent over SPI
Returns
ERR_NONE : Operation successful (echo response received)
ERR_TIMEOUT : Timeout
void st25r95SPISendTransmitFlag | ( | uint8_t | protocol,
 |  | uint8_t | transmitFlag
 | ) |  |

This function is used to send the transmit flag during the SendRecv command.

Parameters
[in] | protocol | value of the protocol
[in] | transmitFlag | transmission flags
ReturnCode st25r95SPISetACState ( uint8_t state )

This function is used to set the AC filter state. Only available in CE mode.

Parameters
[in] state AC state
Returns
ERR_NONE : Operation successful
ReturnCode st25r95UARTCommandEcho ( void )

This function is used to send an echo command

Returns
ERR_NONE : Operation successful (echo response received)
ERR_TIMEOUT : Timeout
ReturnCode st25r95UARTCompleteRx ( void )

This function is used to conclude the Rx request and returns the status of the Rx.

Returns
ERR_NONE : Operation successful
void st25r95UartErrorCallback ( void )

Uart transceive error interrupt handler callback.

void st25r95UARTGetIdleResponse ( void )

This function is used to flush the Idle response.

void st25r95UARTIdle | ( | uint8_t | dacDataL,
 |  | uint8_t | dacDataH,
 |  | uint8_t | WUPeriod
 | ) |  |

This function is used to send the Idle command.

Parameters
[in] | dacDataL | lower comparator value
[in] | dacDataH | higher comparator value
[in] | WUPeriod | time between 2 detections
bool st25r95UARTIsTransmitTxCompleted ( void )

This function is used to test whether the current transmit is finished or not.

Returns
true : Transmit completed
false : Transmit not completed
void st25r95UARTKillIdle ( void )

This function is used to exit from Idle mode and return to Ready mode.

ReturnCode st25r95UARTPollRead ( uint32_t timeout )

This function is used to poll the ST25R95 for incomming data

Parameters
[in] timeout timeout value
Returns
ERR_NONE : Data ready to be read
ERR_TIMEOUT : No data available
void st25r95UARTPrepareRx | ( | uint8_t | protocol,
 |  | uint8_t * | rxBuf,
 |  | uint16_t | rxBufLen,
 |  | uint16_t * | rxRcvdLen,
 |  | uint32_t | flags,
 |  | uint8_t * | additionalRespBytes
 | ) |  |

This function is used to send data

Parameters
[in] | protocol | : protocol index
[in] | rxBuf | : buffer to place the response
[in] | rxBufLen | : length of rxBuf
[in] | rxRcvdLen | : received length
[in] | flags | : TransceiveFlags indication special handling
[in] | additionalRespBytes | additionnal response bytes
void st25r95UartRxCpltCallback ( void )

Uart Rx interrupt handler callback.

ReturnCode st25r95UARTSendCommandTypeAndLen | ( | uint8_t * | cmd,
 |  | uint8_t * | resp,
 |  | uint16_t | respBuffLen
 | ) |  |

This function is used to send a cmd and read the resp. The cmd command must follow the CMD LEN format (i.e. any command except echo)

Parameters
[in] | cmd | Command as per CR95HF DS §5.
[out] | resp | buffer for the response.
[in] | respBuffLen | response buffer length
Returns
ERR_NONE : Operation successful
ERR_TIMEOUT : Timeout
void st25r95UARTSendData | ( | uint8_t * | buf,
 |  | uint8_t | bufLen,
 |  | uint8_t | protocol,
 |  | uint32_t | flags
 | ) |  |

This function is used to send data

Parameters
[in] | buf | : data to be sent
[in] | bufLen | : buffer length
[in] | protocol | protocol index
[in] | flags | : TransceiveFlags indication special handling
void st25r95UARTSendTransmitFlag | ( | uint8_t | protocol,
 |  | uint8_t | transmitFlag
 | ) |  |

This function is used to send the transmit flag during the SendRecv command.

Parameters
[in] | protocol | value of the protocol
[in] | transmitFlag | transmission flags
void st25r95UartTxCpltCallback ( void )

Uart Tx interrupt handler callback.

ReturnCode st25r95WriteReg | ( | uint8_t | protocol,
 |  | uint16_t | reg,
 |  | uint8_t | value
 | ) |  |

This function is used to write ST25R95 ARC_B register

Parameters
[in] | protocol | protocol index
[in] | reg | register (currently only ST25R95_REG_ARC_B register is defined)
[in] | value | register value
Returns
ERR_NONE : Operation successful

Variable Documentation

st25r95SPIRxContext st25r95SPIRxCtx

Context for SPI transceive

Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: st25r95SPIRxContext Struct Reference

Data Fields
st25r95SPIRxContext Struct Reference
ST25R95_Com

#include <st25r95_com.h>

Data Fields

bool | rmvCRC
bool | inListen
bool | NFCIP1
rfalLmState LmState
uint16_t | rxBufLen
uint16_t * | rxRcvdLen
uint8_t * | rxBuf
uint8_t * | additionalRespBytes
ReturnCode | retCode
uint8_t | BufCRC [2]
uint8_t | NFCIP1_SoD [1]
uint8_t | protocol

Detailed Description

SPI transceive context definition

Field Documentation

uint8_t* st25r95SPIRxContext::additionalRespBytes

additionalRespBytes

uint8_t st25r95SPIRxContext::BufCRC[2]

BufCRC

bool st25r95SPIRxContext::inListen

inListen flags

rfalLmState st25r95SPIRxContext::LmState

LmState

bool st25r95SPIRxContext::NFCIP1

NFCIP1 flags

uint8_t st25r95SPIRxContext::NFCIP1_SoD[1]

NFCIP1_SoD

uint8_t st25r95SPIRxContext::protocol

protocol

ReturnCode st25r95SPIRxContext::retCode

retCode

bool st25r95SPIRxContext::rmvCRC

Remove CRC flag

uint8_t* st25r95SPIRxContext::rxBuf

rxBuf

uint16_t st25r95SPIRxContext::rxBufLen

rxBufLen

uint16_t* st25r95SPIRxContext::rxRcvdLen

rxRcvdLen

The documentation for this struct was generated from the following file:
  • st25r95_com.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: RFAL-AL

Modules
RFAL-AL
RFAL

RFAL Abstraction Layer. More...

Collaboration diagram for RFAL-AL:

Modules

ISO-DEP
RFAL ISO-DEP Module.
NFC-A
RFAL NFC-A Module.
NFC-B
RFAL NFC-B Module.
NFC-DEP
RFAL NFC-DEP Module.
NFC-F
RFAL NFC-F Module.
NFC-V
RFAL NFC-V Module.
ST25TB
RFAL ST25TB Module.
ST25xV
RFAL ST25xV Module.
T1T
RFAL T1T Module.
T2T
RFAL T2T Module.
T4T
RFAL T4T Module.

Detailed Description

Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: ISO-DEP

Data Structures | Macros | Enumerations | Functions
ISO-DEP
RFAL-AL

RFAL ISO-DEP Module. More...

Collaboration diagram for ISO-DEP:

Data Structures

struct | rfalIsoDepRats
struct | rfalIsoDepAts
struct | rfalIsoDepPpsReq
struct | rfalIsoDepPpsRes
struct | rfalIsoDepAttribCmd
struct | rfalIsoDepAttribRes
struct | rfalIsoDepSParameter
union | rfalIsoDepActivation
struct | rfalIsoDepInfo
struct | rfalIsoDepDevice
struct | rfalIsoDepAttribResParam
struct | rfalIsoDepAtsParam
struct | rfalIsoDepBufFormat
struct | rfalIsoDepApduBufFormat
struct | rfalIsoDepListenActvParam
struct | rfalIsoDepTxRxParam
struct | rfalIsoDepApduTxRxParam

Macros

#define | RFAL_FEATURE_ISO_DEP false
#define | RFAL_FEATURE_ISO_DEP_IBLOCK_MAX_LEN (1U)
#define | RFAL_FEATURE_ISO_DEP_APDU_MAX_LEN (1U)
#define | RFAL_ISODEP_PROLOGUE_SIZE (3U)
#define | RFAL_ISODEP_PCB_LEN (1U)
#define | RFAL_ISODEP_DID_LEN (1U)
#define | RFAL_ISODEP_NAD_LEN (1U)
#define | RFAL_ISODEP_NO_DID (0x00U)
#define | RFAL_ISODEP_NO_NAD (0xFFU)
#define | RFAL_ISODEP_FWI_MASK (0xF0U)
#define | RFAL_ISODEP_FWI_SHIFT (4U)
#define | RFAL_ISODEP_FWI_DEFAULT (4U)
#define | RFAL_ISODEP_ADV_FEATURE (0x0FU)
#define | RFAL_ISODEP_DID_MAX (14U)
#define | RFAL_ISODEP_BRI_MASK (0x07U)
#define | RFAL_ISODEP_BSI_MASK (0x70U)
#define | RFAL_ISODEP_SAME_BITRATE_MASK (0x80U)
#define | RFAL_ISODEP_BITRATE_RFU_MASK (0x08U)
#define | RFAL_ISODEP_MAX_FWT ((uint32_t)1U<<26)
#define | RFAL_ISODEP_FSDI_DEFAULT RFAL_ISODEP_FSXI_256
#define | RFAL_ISODEP_FSX_KEEP (0xFFU)
#define | RFAL_ISODEP_DEFAULT_FSCI RFAL_ISODEP_FSXI_256
#define | RFAL_ISODEP_DEFAULT_FSC RFAL_ISODEP_FSX_256
#define | RFAL_ISODEP_DEFAULT_SFGI (0U)
#define | RFAL_ISODEP_DEFAULT_FWI (8U)
#define | RFAL_ISODEP_APDU_MAX_LEN RFAL_ISODEP_FSX_1024
#define | RFAL_ISODEP_ATTRIB_RES_MBLI_NO_INFO (0x00U)
#define | RFAL_ISODEP_ATTRIB_REQ_PARAM1_DEFAULT (0x00U)
#define | RFAL_ISODEP_ATTRIB_HLINFO_LEN (32U)
#define | RFAL_ISODEP_ATS_HB_MAX_LEN (15U)
#define | RFAL_ISODEP_ATTRIB_REQ_MIN_LEN (9U)
#define | RFAL_ISODEP_ATTRIB_RES_MIN_LEN (1U)
#define | RFAL_ISODEP_SPARAM_VALUES_MAX_LEN (16U)
#define | RFAL_ISODEP_SPARAM_TAG_BLOCKINFO (0xA0U)
#define | RFAL_ISODEP_SPARAM_TAG_BRREQ (0xA1U)
#define | RFAL_ISODEP_SPARAM_TAG_BRIND (0xA2U)
#define | RFAL_ISODEP_SPARAM_TAG_BRACT (0xA3U)
#define | RFAL_ISODEP_SPARAM_TAG_BRACK (0xA4U)
#define | RFAL_ISODEP_SPARAM_TAG_SUP_PCD2PICC (0x80U)
#define | RFAL_ISODEP_SPARAM_TAG_SUP_PICC2PCD (0x81U)
#define | RFAL_ISODEP_SPARAM_TAG_SUP_FRAME (0x82U)
#define | RFAL_ISODEP_SPARAM_TAG_SEL_PCD2PICC (0x83U)
#define | RFAL_ISODEP_SPARAM_TAG_SEL_PICC2PCD (0x84U)
#define | RFAL_ISODEP_SPARAM_TAG_SEL_FRAME (0x85U)
#define | RFAL_ISODEP_SPARAM_TAG_LEN (1)
#define | RFAL_ISODEP_SPARAM_TAG_BRREQ_LEN (0U)
#define | RFAL_ISODEP_SPARAM_TAG_PICC2PCD_LEN (2U)
#define | RFAL_ISODEP_SPARAM_TAG_PCD2PICC_LEN (2U)
#define | RFAL_ISODEP_SPARAM_TAG_BRACK_LEN (0U)
#define | RFAL_ISODEP_ATS_TA_DPL_212 (0x01U)
#define | RFAL_ISODEP_ATS_TA_DPL_424 (0x02U)
#define | RFAL_ISODEP_ATS_TA_DPL_848 (0x04U)
#define | RFAL_ISODEP_ATS_TA_DLP_212 (0x10U)
#define | RFAL_ISODEP_ATS_TA_DLP_424 (0x20U)
#define | RFAL_ISODEP_ATS_TA_DLP_848 (0x40U)
#define | RFAL_ISODEP_ATS_TA_SAME_D (0x80U)
#define | RFAL_ISODEP_ATS_TB_FWI_MASK (0xF0U)
#define | RFAL_ISODEP_ATS_TB_SFGI_MASK (0x0FU)
#define | RFAL_ISODEP_ATS_T0_TA_PRESENCE_MASK (0x10U)
#define | RFAL_ISODEP_ATS_T0_TB_PRESENCE_MASK (0x20U)
#define | RFAL_ISODEP_ATS_T0_TC_PRESENCE_MASK (0x40U)
#define | RFAL_ISODEP_ATS_T0_FSCI_MASK (0x0FU)
#define | RFAL_ISODEP_ATS_T0_OFFSET (0x01U)
#define | RFAL_ISODEP_MAX_I_RETRYS (2U)
#define | RFAL_ISODEP_MAX_R_RETRYS (3U)
#define | RFAL_ISODEP_MAX_WTX_NACK_RETRYS (3U)
#define | RFAL_ISODEP_MAX_WTX_RETRYS (20U)
#define | RFAL_ISODEP_MAX_WTX_RETRYS_ULTD (255U)
#define | RFAL_ISODEP_MAX_DSL_RETRYS (0U)
#define | RFAL_ISODEP_RATS_RETRIES (1U)

Enumerations

enum rfalIsoDepFSxI {
RFAL_ISODEP_FSXI_16 = 0, RFAL_ISODEP_FSXI_24 = 1, RFAL_ISODEP_FSXI_32 = 2, RFAL_ISODEP_FSXI_40 = 3,
RFAL_ISODEP_FSXI_48 = 4, RFAL_ISODEP_FSXI_64 = 5, RFAL_ISODEP_FSXI_96 = 6, RFAL_ISODEP_FSXI_128 = 7,
RFAL_ISODEP_FSXI_256 = 8, RFAL_ISODEP_FSXI_512 = 9, RFAL_ISODEP_FSXI_1024 = 10, RFAL_ISODEP_FSXI_2048 = 11,
RFAL_ISODEP_FSXI_4096 = 12
}
enum rfalIsoDepFSx {
RFAL_ISODEP_FSX_16 = 16, RFAL_ISODEP_FSX_24 = 24, RFAL_ISODEP_FSX_32 = 32, RFAL_ISODEP_FSX_40 = 40,
RFAL_ISODEP_FSX_48 = 48, RFAL_ISODEP_FSX_64 = 64, RFAL_ISODEP_FSX_96 = 96, RFAL_ISODEP_FSX_128 = 128,
RFAL_ISODEP_FSX_256 = 256, RFAL_ISODEP_FSX_512 = 512, RFAL_ISODEP_FSX_1024 = 1024, RFAL_ISODEP_FSX_2048 = 2048,
RFAL_ISODEP_FSX_4096 = 4096
}

Functions

void | rfalIsoDepInitialize (void)
Initialize the ISO-DEP protocol. More...
void | rfalIsoDepInitializeWithParams (rfalComplianceMode compMode, uint8_t maxRetriesR, uint8_t maxRetriesSnWTX, uint8_t maxRetriesSWTX, uint8_t maxRetriesSDSL, uint8_t maxRetriesI, uint8_t maxRetriesRATS)
Initialize the ISO-DEP protocol. More...
uint16_t | rfalIsoDepFSxI2FSx (uint8_t FSxI)
FSxI to FSx. More...
uint32_t | rfalIsoDepFWI2FWT (uint8_t fwi)
FWI to FWT. More...
bool | rfalIsoDepIsRats (const uint8_t *buf, uint8_t bufLen)
Check if the buffer data contains a valid RATS command. More...
bool | rfalIsoDepIsAttrib (const uint8_t *buf, uint8_t bufLen)
Check if the buffer data contains a valid ATTRIB command. More...
ReturnCode | rfalIsoDepListenStartActivation (rfalIsoDepAtsParam *atsParam, const rfalIsoDepAttribResParam *attribResParam, const uint8_t *buf, uint16_t bufLen, rfalIsoDepListenActvParam actParam)
Start Listen Activation Handling. More...
ReturnCode | rfalIsoDepListenGetActivationStatus (void)
Get the current Activation Status. More...
uint16_t | rfalIsoDepGetMaxInfLen (void)
Get the ISO-DEP Communication Information. More...
ReturnCode | rfalIsoDepStartTransceive (rfalIsoDepTxRxParam param)
ISO-DEP Start Transceive. More...
ReturnCode | rfalIsoDepGetTransceiveStatus (void)
Get the Transceive status. More...
ReturnCode | rfalIsoDepStartApduTransceive (rfalIsoDepApduTxRxParam param)
ISO-DEP Start APDU Transceive. More...
ReturnCode | rfalIsoDepGetApduTransceiveStatus (void)
Get the APDU Transceive status. More...
ReturnCode | rfalIsoDepRATS (rfalIsoDepFSxI FSDI, uint8_t DID, rfalIsoDepAts *ats, uint8_t *atsLen)
ISO-DEP Send RATS. More...
ReturnCode | rfalIsoDepPPS (uint8_t DID, rfalBitRate DSI, rfalBitRate DRI, rfalIsoDepPpsRes *ppsRes)
ISO-DEP Send PPS. More...
ReturnCode | rfalIsoDepATTRIB (const uint8_t *nfcid0, uint8_t PARAM1, rfalBitRate DSI, rfalBitRate DRI, rfalIsoDepFSxI FSDI, uint8_t PARAM3, uint8_t DID, const uint8_t *HLInfo, uint8_t HLInfoLen, uint32_t fwt, rfalIsoDepAttribRes *attribRes, uint8_t *attribResLen)
ISO-DEP Send ATTRIB. More...
ReturnCode | rfalIsoDepDeselect (void)
Deselects PICC. More...
ReturnCode | rfalIsoDepPollAHandleActivation (rfalIsoDepFSxI FSDI, uint8_t DID, rfalBitRate maxBR, rfalIsoDepDevice *isoDepDev)
ISO-DEP Poller Handle NFC-A Activation. More...
ReturnCode | rfalIsoDepPollBHandleActivation (rfalIsoDepFSxI FSDI, uint8_t DID, rfalBitRate maxBR, uint8_t PARAM1, const rfalNfcbListenDevice *nfcbDev, const uint8_t *HLInfo, uint8_t HLInfoLen, rfalIsoDepDevice *isoDepDev)
ISO-DEP Poller Handle NFC-B Activation. More...
ReturnCode | rfalIsoDepPollHandleSParameters (rfalIsoDepDevice *isoDepDev, rfalBitRate maxTxBR, rfalBitRate maxRxBR)
ISO-DEP Poller Handle S(Parameters) More...
ReturnCode | rfalIsoDepPollAStartActivation (rfalIsoDepFSxI FSDI, uint8_t DID, rfalBitRate maxBR, rfalIsoDepDevice *isoDepDev)
ISO-DEP Poller Start NFC-A Activation. More...
ReturnCode | rfalIsoDepPollAGetActivationStatus (void)
ISO-DEP Poller Get NFC-A Activation Status. More...
ReturnCode | rfalIsoDepPollBStartActivation (rfalIsoDepFSxI FSDI, uint8_t DID, rfalBitRate maxBR, uint8_t PARAM1, const rfalNfcbListenDevice *nfcbDev, const uint8_t *HLInfo, uint8_t HLInfoLen, rfalIsoDepDevice *isoDepDev)
ISO-DEP Poller Start NFC-B Activation. More...
ReturnCode | rfalIsoDepPollBGetActivationStatus (void)
ISO-DEP Poller Get NFC-B Activation Status. More...

Detailed Description

Macro Definition Documentation

#define RFAL_FEATURE_ISO_DEP false

ISO-DEP module configuration missing. Disabled by default

#define RFAL_FEATURE_ISO_DEP_APDU_MAX_LEN (1U)

ISO-DEP APDU max length, set to "none"

#define RFAL_FEATURE_ISO_DEP_IBLOCK_MAX_LEN (1U)

ISO-DEP I-Block max length, set to "none"

#define RFAL_ISODEP_ADV_FEATURE (0x0FU)

Indicate 256 Bytes FSD and Advanc Proto Feature support:NAD & DID

#define RFAL_ISODEP_APDU_MAX_LEN RFAL_ISODEP_FSX_1024

Max APDU length

#define RFAL_ISODEP_ATS_HB_MAX_LEN (15U)

Maximum length of Historical Bytes Digital 1.1 13.6.2.23

#define RFAL_ISODEP_ATS_T0_FSCI_MASK (0x0FU)

Mask bit for FSCI presence

#define RFAL_ISODEP_ATS_T0_OFFSET (0x01U)

Offset of T0 in ATS Response

#define RFAL_ISODEP_ATS_T0_TA_PRESENCE_MASK (0x10U)

Mask bit for TA presence

#define RFAL_ISODEP_ATS_T0_TB_PRESENCE_MASK (0x20U)

Mask bit for TB presence

#define RFAL_ISODEP_ATS_T0_TC_PRESENCE_MASK (0x40U)

Mask bit for TC presence

#define RFAL_ISODEP_ATS_TA_DLP_212 (0x10U)

ATS TA DSI 212 kbps support bit mask

#define RFAL_ISODEP_ATS_TA_DLP_424 (0x20U)

ATS TA DRI 424 kbps support bit mask

#define RFAL_ISODEP_ATS_TA_DLP_848 (0x40U)

ATS TA DRI 848 kbps support bit mask

#define RFAL_ISODEP_ATS_TA_DPL_212 (0x01U)

ATS TA DSI 212 kbps support bit mask

#define RFAL_ISODEP_ATS_TA_DPL_424 (0x02U)

ATS TA DSI 424 kbps support bit mask

#define RFAL_ISODEP_ATS_TA_DPL_848 (0x04U)

ATS TA DSI 848 kbps support bit mask

#define RFAL_ISODEP_ATS_TA_SAME_D (0x80U)

ATS TA same bit both directions bit mask

#define RFAL_ISODEP_ATS_TB_FWI_MASK (0xF0U)

Mask bits for FWI (Frame Waiting Integer) in TB byte

#define RFAL_ISODEP_ATS_TB_SFGI_MASK (0x0FU)

Mask bits for SFGI (Start-Up Frame Guard Integer) in TB byte

#define RFAL_ISODEP_ATTRIB_HLINFO_LEN (32U)

Maximum Size of Higher Layer Information

#define RFAL_ISODEP_ATTRIB_REQ_MIN_LEN (9U)

Minimum Length of ATTRIB_REQ command

#define RFAL_ISODEP_ATTRIB_REQ_PARAM1_DEFAULT (0x00U)

Default values of Param 1 of ATTRIB_REQ Digital 1.0 12.6.1.3-5

#define RFAL_ISODEP_ATTRIB_RES_MBLI_NO_INFO (0x00U)

MBLI indicating no information on its internal input buffer size

#define RFAL_ISODEP_ATTRIB_RES_MIN_LEN (1U)

Minimum Length of ATTRIB_RES response

#define RFAL_ISODEP_BITRATE_RFU_MASK (0x08U)

Mask bit for RFU

#define RFAL_ISODEP_BRI_MASK (0x07U)

Mask bits for Poll to Listen Send bitrate

#define RFAL_ISODEP_BSI_MASK (0x70U)

Mask bits for Listen to Poll Send bitrate

#define RFAL_ISODEP_DEFAULT_FSC RFAL_ISODEP_FSX_256

FSC default value (aligned RFAL_ISODEP_DEFAULT_FSCI)

#define RFAL_ISODEP_DEFAULT_FSCI RFAL_ISODEP_FSXI_256

FSCI default value to be used in Listen Mode

#define RFAL_ISODEP_DEFAULT_FWI (8U)

Default Listener FWI (Max) Digital 2.0 B7 & B3

#define RFAL_ISODEP_DEFAULT_SFGI (0U)

SFGI Default value to be used in Listen Mode

#define RFAL_ISODEP_DID_LEN (1U)

DID length

#define RFAL_ISODEP_DID_MAX (14U)

Maximum DID value

#define RFAL_ISODEP_FSDI_DEFAULT RFAL_ISODEP_FSXI_256

Default Frame Size Integer in Poll mode

Examples:
exampleRfalPoller.c.
#define RFAL_ISODEP_FSX_KEEP (0xFFU)

Flag to keep FSX from activation

Examples:
exampleRfalPoller.c.
#define RFAL_ISODEP_FWI_DEFAULT (4U)

Default value for FWI Digital 1.0 11.6.2.17

#define RFAL_ISODEP_FWI_MASK (0xF0U)

Mask bits of FWI

#define RFAL_ISODEP_FWI_SHIFT (4U)

Shift val of FWI

#define RFAL_ISODEP_MAX_DSL_RETRYS (0U)

Number of retries for a S(DESELECT) Digital 2.0 B9 - nRETRY DESELECT: [0,5]

#define RFAL_ISODEP_MAX_FWT ((uint32_t)1U<<26)

Maximum Frame Waiting Time = ((256 * 16/fc) * 2^FWImax) = ((256*16/fc)*2^14) = (67108864)/fc = 2^26 (1/fc)

#define RFAL_ISODEP_MAX_I_RETRYS (2U)

Number of retries for a I-Block Digital 2.0 16.2.5.4

#define RFAL_ISODEP_MAX_R_RETRYS (3U)

Number of retries for a R-Block Digital 2.0 B9 - nRETRY ACK/NAK: [2,5]

#define RFAL_ISODEP_MAX_WTX_NACK_RETRYS (3U)

Number of S(WTX) replied with NACK Digital 2.0 B9 - nRETRY WTX[2,5]

#define RFAL_ISODEP_MAX_WTX_RETRYS (20U)

Number of overall S(WTX) retries Digital 2.0 16.2.5.2

#define RFAL_ISODEP_MAX_WTX_RETRYS_ULTD (255U)

Use unlimited number of overall S(WTX)

#define RFAL_ISODEP_NAD_LEN (1U)

NAD length

#define RFAL_ISODEP_NO_DID (0x00U)

DID value indicating the ISO-DEP layer not to use DID

Examples:
exampleRfalPoller.c.
#define RFAL_ISODEP_NO_NAD (0xFFU)

NAD value indicating the ISO-DEP layer not to use NAD

#define RFAL_ISODEP_PCB_LEN (1U)

PCB length

#define RFAL_ISODEP_PROLOGUE_SIZE (3U)

Length of Prologue Field for I-Block Format

#define RFAL_ISODEP_RATS_RETRIES (1U)

RATS retries upon fail Digital 2.0 B7 - nRETRY RATS [0,1]

#define RFAL_ISODEP_SAME_BITRATE_MASK (0x80U)

Mask bit indicate only same bit rate D for both direction support

#define RFAL_ISODEP_SPARAM_TAG_BLOCKINFO (0xA0U)

S(PARAMETERS) tag Block information

#define RFAL_ISODEP_SPARAM_TAG_BRACK (0xA4U)

S(PARAMETERS) tag Bit rates Acknowledgement

#define RFAL_ISODEP_SPARAM_TAG_BRACK_LEN (0U)

S(PARAMETERS) tag Bit rates Acknowledgement Length

#define RFAL_ISODEP_SPARAM_TAG_BRACT (0xA3U)

S(PARAMETERS) tag Bit rates Activation

#define RFAL_ISODEP_SPARAM_TAG_BRIND (0xA2U)

S(PARAMETERS) tag Bit rates Indication

#define RFAL_ISODEP_SPARAM_TAG_BRREQ (0xA1U)

S(PARAMETERS) tag Bit rates Request

#define RFAL_ISODEP_SPARAM_TAG_BRREQ_LEN (0U)

S(PARAMETERS) tag Bit rates Request Length

#define RFAL_ISODEP_SPARAM_TAG_LEN (1)

S(PARAMETERS) Tag Length

#define RFAL_ISODEP_SPARAM_TAG_PCD2PICC_LEN (2U)

S(PARAMETERS) bit rates from PICC to PCD Length

#define RFAL_ISODEP_SPARAM_TAG_PICC2PCD_LEN (2U)

S(PARAMETERS) bit rates from PCD to PICC Length

#define RFAL_ISODEP_SPARAM_TAG_SEL_FRAME (0x85U)

S(PARAMETERS) tag Selected framing options PICC to PCD

#define RFAL_ISODEP_SPARAM_TAG_SEL_PCD2PICC (0x83U)

S(PARAMETERS) tag Selected bit rate from PCD to PICC

#define RFAL_ISODEP_SPARAM_TAG_SEL_PICC2PCD (0x84U)

S(PARAMETERS) tag Selected bit rate from PICC to PCD

#define RFAL_ISODEP_SPARAM_TAG_SUP_FRAME (0x82U)

S(PARAMETERS) tag Supported framing options PICC to PCD

#define RFAL_ISODEP_SPARAM_TAG_SUP_PCD2PICC (0x80U)

S(PARAMETERS) tag Supported bit rates from PCD to PICC

#define RFAL_ISODEP_SPARAM_TAG_SUP_PICC2PCD (0x81U)

S(PARAMETERS) tag Supported bit rates from PICC to PCD

#define RFAL_ISODEP_SPARAM_VALUES_MAX_LEN (16U)

Maximum Length of the value field on S(PARAMETERS)

Enumeration Type Documentation

enum rfalIsoDepFSx

Frame Size for Proximity Card definitions

Enumerator
RFAL_ISODEP_FSX_16 | Frame Size for Proximity Card with 16 bytes
RFAL_ISODEP_FSX_24 | Frame Size for Proximity Card with 24 bytes
RFAL_ISODEP_FSX_32 | Frame Size for Proximity Card with 32 bytes
RFAL_ISODEP_FSX_40 | Frame Size for Proximity Card with 40 bytes
RFAL_ISODEP_FSX_48 | Frame Size for Proximity Card with 48 bytes
RFAL_ISODEP_FSX_64 | Frame Size for Proximity Card with 64 bytes
RFAL_ISODEP_FSX_96 | Frame Size for Proximity Card with 96 bytes
RFAL_ISODEP_FSX_128 | Frame Size for Proximity Card with 128 bytes
RFAL_ISODEP_FSX_256 | Frame Size for Proximity Card with 256 bytes
RFAL_ISODEP_FSX_512 | Frame Size for Proximity Card with 512 bytes ISO14443-3 Amd2 2012
RFAL_ISODEP_FSX_1024 | Frame Size for Proximity Card with 1024 bytes ISO14443-3 Amd2 2012
RFAL_ISODEP_FSX_2048 | Frame Size for Proximity Card with 2048 bytes ISO14443-3 Amd2 2012
RFAL_ISODEP_FSX_4096 | Frame Size for Proximity Card with 4096 bytes ISO14443-3 Amd2 2012
enum rfalIsoDepFSxI

Frame Size for Proximity Card Integer definitions

Enumerator
RFAL_ISODEP_FSXI_16 | Frame Size for Proximity Card Integer with 16 bytes
RFAL_ISODEP_FSXI_24 | Frame Size for Proximity Card Integer with 24 bytes
RFAL_ISODEP_FSXI_32 | Frame Size for Proximity Card Integer with 32 bytes
RFAL_ISODEP_FSXI_40 | Frame Size for Proximity Card Integer with 40 bytes
RFAL_ISODEP_FSXI_48 | Frame Size for Proximity Card Integer with 48 bytes
RFAL_ISODEP_FSXI_64 | Frame Size for Proximity Card Integer with 64 bytes
RFAL_ISODEP_FSXI_96 | Frame Size for Proximity Card Integer with 96 bytes
RFAL_ISODEP_FSXI_128 | Frame Size for Proximity Card Integer with 128 bytes
RFAL_ISODEP_FSXI_256 | Frame Size for Proximity Card Integer with 256 bytes
RFAL_ISODEP_FSXI_512 | Frame Size for Proximity Card Integer with 512 bytes ISO14443-3 Amd2 2012
RFAL_ISODEP_FSXI_1024 | Frame Size for Proximity Card Integer with 1024 bytes ISO14443-3 Amd2 2012
RFAL_ISODEP_FSXI_2048 | Frame Size for Proximity Card Integer with 2048 bytes ISO14443-3 Amd2 2012
RFAL_ISODEP_FSXI_4096 | Frame Size for Proximity Card Integer with 4096 bytes ISO14443-3 Amd2 2012

Function Documentation

ReturnCode rfalIsoDepATTRIB | ( | const uint8_t * | nfcid0,
 |  | uint8_t | PARAM1,
 |  | rfalBitRate | DSI,
 |  | rfalBitRate | DRI,
 |  | rfalIsoDepFSxI | FSDI,
 |  | uint8_t | PARAM3,
 |  | uint8_t | DID,
 |  | const uint8_t * | HLInfo,
 |  | uint8_t | HLInfoLen,
 |  | uint32_t | fwt,
 |  | rfalIsoDepAttribRes * | attribRes,
 |  | uint8_t * | attribResLen
 | ) |  |

This sends a ATTRIB to make a NFC-B Listen Device to enter ISO-DEP layer (ISO14443-4) and checks if the received ATTRIB Response is valid

Parameters
[in] | nfcid0 | : NFCID0 to be used for the ATTRIB
[in] | PARAM1 | : ATTRIB PARAM1 byte (communication parameters)
[in] | DSI | : DSI code the divisor from Listener (PICC) to Poller (PCD)
[in] | DRI | : DRI code the divisor from Poller (PCD) to Listener (PICC)
[in] | FSDI | : PCD's Frame Size to be announced on the ATTRIB
[in] | PARAM3 | : ATTRIB PARAM1 byte (protocol type)
[in] | DID | : Device ID to be used or RFAL_ISODEP_NO_DID for not use DID
[in] | HLInfo | : pointer to Higher layer INF (NULL if none)
[in] | HLInfoLen | : Length HLInfo
[in] | fwt | : Frame Waiting Time to be used (from SENSB_RES)
[out] | attribRes | : pointer to place the ATTRIB Response
[out] | attribResLen | : pointer to place the ATTRIB Response length
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_TIMEOUT : Timeout error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_NONE : No error, ATTRIB Response received
ReturnCode rfalIsoDepDeselect ( void )

This function sends a deselect command to PICC and waits for it`s responce in a blocking way

Returns
ERR_NONE : Deselect successfully sent and acknowledged by PICC
ERR_TIMEOUT: No response rcvd from PICC
Examples:
exampleRfalPoller.c.
uint16_t rfalIsoDepFSxI2FSx ( uint8_t FSxI )

Convert Frame Size for proximity coupling Device Integer (FSxI) to Frame Size for proximity coupling Device (FSx)

FSD - maximum frame size for NFC Forum Device in Poll Mode FSC - maximum frame size for NFC Forum Device in Listen Mode

FSxI = FSDI or FSCI FSx = FSD or FSC

The FSD/FSC value includes the header and CRC

Parameters
[in] FSxI : Frame Size for proximity coupling Device Integer
Returns
fsx : Frame Size for proximity coupling Device (FSD or FSC)
uint32_t rfalIsoDepFWI2FWT ( uint8_t fwi )

Convert Frame Waiting time Integer (FWI) to Frame Waiting Time (FWT) in 1/fc units

Parameters
[in] fwi : Frame Waiting time Integer
Returns
fwt : Frame Waiting Time in 1/fc units
ReturnCode rfalIsoDepGetApduTransceiveStatus ( void )
Returns
ERR_NONE : if Transceive has been completed successfully
ERR_BUSY : if Transceive is ongoing
ERR_PROTO : if a protocol error occurred
ERR_TIMEOUT : if a timeout error occurred
ERR_SLEEP_REQ : if Deselect is received and responded
ERR_NOMEM : if the received INF does not fit into the receive buffer
ERR_LINK_LOSS : if communication is lost because Reader/Writer has turned off its field
uint16_t rfalIsoDepGetMaxInfLen ( void )

Gets the maximum INF length in bytes based on current Frame Size for proximity coupling Device (FSD or FSC) excluding the header and CRC

Returns
maximum INF length in bytes
ReturnCode rfalIsoDepGetTransceiveStatus ( void )

Returns the status of the ISO-DEP Transceive

Warning
When the other device is performing chaining once a chained block is received the error ERR_AGAIN is sent. At this point caller must handle the received data immediately. When ERR_AGAIN is returned an ACK has already been sent to the other device and the next block might be incoming. If rfalWorker() is called frequently it will place the next block on the given buffer
Returns
ERR_NONE : Transceive has been completed successfully
ERR_BUSY : Transceive is ongoing
ERR_PROTO : Protocol error occurred
ERR_TIMEOUT : Timeout error occurred
ERR_SLEEP_REQ : Deselect has been received and responded
ERR_NOMEM : The received INF does not fit into the receive buffer
ERR_LINK_LOSS : Communication is lost because Reader/Writer has turned off its field
ERR_AGAIN : received one chaining block, continue to call this method to retrieve the remaining blocks
Examples:
exampleRfalPoller.c.
void rfalIsoDepInitialize ( void )

Initialize the ISO-DEP protocol layer with default config

Examples:
exampleRfalPoller.c.
void rfalIsoDepInitializeWithParams | ( | rfalComplianceMode | compMode,
 |  | uint8_t | maxRetriesR,
 |  | uint8_t | maxRetriesSnWTX,
 |  | uint8_t | maxRetriesSWTX,
 |  | uint8_t | maxRetriesSDSL,
 |  | uint8_t | maxRetriesI,
 |  | uint8_t | maxRetriesRATS
 | ) |  |

Initialize the ISO-DEP protocol layer with additional parameters allowing to customise the protocol layer for specific behaviours

Parameters
[in] | compMode | : Compliance mode to be performed
[in] | maxRetriesR | : Number of retries for a R-Block Digital 2.0 B9 - nRETRY ACK/NAK: [2,5]
[in] | maxRetriesSnWTX | : Number of retries for a S(WTX) (only in case of NAKs) Digital 2.0 B9 - nRETRY WTX[2,5]
[in] | maxRetriesSWTX | : Number of overall S(WTX) retries. Use RFAL_ISODEP_MAX_WTX_RETRYS_ULTD for disabling this limit check Digital 2.0 16.2.5.2
[in] | maxRetriesSDSL | : Number of retries for a S(DESELECT) Digital 2.0 B9 - nRETRY DESELECT: [0,5]
[in] | maxRetriesI | : Number of retries for a I-Block Digital 2.0 16.2.5.4
[in] | maxRetriesRATS | : Number of retries for RATS Digital 2.0 B7 - nRETRY RATS [0,1]
bool rfalIsoDepIsAttrib | ( | const uint8_t * | buf,
 |  | uint8_t | bufLen
 | ) |  |

Check if it is a well formed ATTRIB command, but does not check the validity of the information inside

Parameters
[in] | buf | : reference to buffer containing the data to be checked
[in] | bufLen | : length of data in the buffer in bytes
Returns
true if the data indicates a ATTRIB command; false otherwise
bool rfalIsoDepIsRats | ( | const uint8_t * | buf,
 |  | uint8_t | bufLen
 | ) |  |

Check if it is a well formed RATS command with 2 bytes This function does not check the validity of FSDI and DID

Parameters
[in] | buf | : reference to buffer containing the data to be checked
[in] | bufLen | : length of data in the buffer in bytes
Returns
true if the data indicates a RATS command; false otherwise
ReturnCode rfalIsoDepListenGetActivationStatus ( void )
Returns
ERR_NONE if Activation is already completed
ERR_BUSY if Activation is ongoing
ERR_LINK_LOSS if Remote Field is turned off
ReturnCode rfalIsoDepListenStartActivation | ( | rfalIsoDepAtsParam * | atsParam,
 |  | const rfalIsoDepAttribResParam * | attribResParam,
 |  | const uint8_t * | buf,
 |  | uint16_t | bufLen,
 |  | rfalIsoDepListenActvParam | actParam
 | ) |  |

Start Listen Activation Handling and setup to receive first I-block which may contain complete or partial APDU after activation is completed

Pass in RATS for T4AT, or ATTRIB for T4BT, to handle ATS or ATTRIB Response respectively The Activation Handling handles ATS and ATTRIB Response; and additionally PPS Response if a PPS is received for T4AT. The method uses the current RFAL state machine to determine if it is expecting RATS or ATTRIB

Activation is completed if PPS Response is sent or if first PDU is received in T4T-A Activation is completed if ATTRIB Response is sent in T4T-B

rfalIsoDepListenGetActivationStatus provide status if activation is completed. rfalIsoDepStartTransceive shall be called right after activation is completed

Parameters
[in] | atsParam | : reference to ATS parameters
[in] | attribResParam | : reference to ATTRIB_RES parameters
[in] | buf | : reference to buffer containing RATS or ATTRIB
[in] | bufLen | : length in bytes of the given bufffer
[in] | actParam | : reference to incoming reception information will be placed
Warning
Once the Activation has been completed the method rfalIsoDepGetTransceiveStatus() must be called. If activation has completed due to reception of a data block (not PPS) the buffer owned by the caller and passed on actParam must still contain this data. The first data will be processed (I-Block or S-DSL) by rfalIsoDepGetTransceiveStatus() inform the caller and then for the next transaction use rfalIsoDepStartTransceive()
Returns
ERR_NONE : RATS/ATTRIB is valid and activation has started
ERR_PARAM : Invalid parameters
ERR_PROTO : Invalid request
ERR_NOTSUPP : Feature not supported
ReturnCode rfalIsoDepPollAGetActivationStatus ( void )

Returns the activation status started by rfalIsoDepPollAStartActivation

See Also
rfalIsoDepPollAStartActivation
Returns
ERR_BUSY : Operation is ongoing
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_TIMEOUT : Timeout error
ERR_PAR : Parity error detected
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_NONE : No error, activation successful
ReturnCode rfalIsoDepPollAHandleActivation | ( | rfalIsoDepFSxI | FSDI,
 |  | uint8_t | DID,
 |  | rfalBitRate | maxBR,
 |  | rfalIsoDepDevice * | isoDepDev
 | ) |  |

This performs a NFC-A Activation into ISO-DEP layer (ISO14443-4) with the given parameters. It sends RATS and if the higher bit rates are supported by both devices it additionally sends PPS Once Activated all details of the device are provided on isoDepDev

Parameters
[in] | FSDI | : Frame Size Device Integer to be used
[in] | DID | : Device ID to be used or RFAL_ISODEP_NO_DID for not use DID
[in] | maxBR | : Max bit rate supported by the Poller
[out] | isoDepDev | : ISO-DEP information of the activated Listen device
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_TIMEOUT : Timeout error
ERR_PAR : Parity error detected
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_NONE : No error, activation successful
Examples:
exampleRfalPoller.c.
ReturnCode rfalIsoDepPollAStartActivation | ( | rfalIsoDepFSxI | FSDI,
 |  | uint8_t | DID,
 |  | rfalBitRate | maxBR,
 |  | rfalIsoDepDevice * | isoDepDev
 | ) |  |

This starts a NFC-A Activation into ISO-DEP layer (ISO14443-4) with the given parameters. It sends RATS and if the higher bit rates are supported by both devices it additionally sends PPS Once Activated all details of the device are provided on isoDepDev

See Also
rfalIsoDepPollAGetActivationStatus
Parameters
[in] | FSDI | : Frame Size Device Integer to be used
[in] | DID | : Device ID to be used or RFAL_ISODEP_NO_DID for not use DID
[in] | maxBR | : Max bit rate supported by the Poller
[out] | isoDepDev | : ISO-DEP information of the activated Listen device
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_TIMEOUT : Timeout error
ERR_PAR : Parity error detected
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_NONE : No error, start of asynchronous operation successful
ReturnCode rfalIsoDepPollBGetActivationStatus ( void )

Returns the activation status started by rfalIsoDepPollBStartActivation

See Also
rfalIsoDepPollBStartActivation
Returns
ERR_BUSY : Operation is ongoing
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_TIMEOUT : Timeout error
ERR_PAR : Parity error detected
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_NONE : No error, activation successful
ReturnCode rfalIsoDepPollBHandleActivation | ( | rfalIsoDepFSxI | FSDI,
 |  | uint8_t | DID,
 |  | rfalBitRate | maxBR,
 |  | uint8_t | PARAM1,
 |  | const rfalNfcbListenDevice * | nfcbDev,
 |  | const uint8_t * | HLInfo,
 |  | uint8_t | HLInfoLen,
 |  | rfalIsoDepDevice * | isoDepDev
 | ) |  |

This performs a NFC-B Activation into ISO-DEP layer (ISO14443-4) with the given parameters. It sends ATTRIB and calculates supported higher bit rates of both devices and performs activation. Once Activated all details of the device are provided on isoDepDev

Parameters
[in] | FSDI | : Frame Size Device Integer to be used
[in] | DID | : Device ID to be used or RFAL_ISODEP_NO_DID for not use DID
[in] | maxBR | : Max bit rate supported by the Poller
[in] | PARAM1 | : ATTRIB PARAM1 byte (communication parameters)
[in] | nfcbDev | : pointer to the NFC-B Device containing the SENSB_RES
[in] | HLInfo | : pointer to Higher layer INF (NULL if none)
[in] | HLInfoLen | : Length HLInfo
[out] | isoDepDev | : ISO-DEP information of the activated Listen device
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_TIMEOUT : Timeout error
ERR_PAR : Parity error detected
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_NONE : No error, activation successful
Examples:
exampleRfalPoller.c.
ReturnCode rfalIsoDepPollBStartActivation | ( | rfalIsoDepFSxI | FSDI,
 |  | uint8_t | DID,
 |  | rfalBitRate | maxBR,
 |  | uint8_t | PARAM1,
 |  | const rfalNfcbListenDevice * | nfcbDev,
 |  | const uint8_t * | HLInfo,
 |  | uint8_t | HLInfoLen,
 |  | rfalIsoDepDevice * | isoDepDev
 | ) |  |

This starts a NFC-B Activation into ISO-DEP layer (ISO14443-4) with the given parameters. It will send ATTRIB and calculate supported higher bit rates of both devices and perform activation. Once Activated all details of the device are provided on isoDepDev

See Also
rfalIsoDepPollBGetActivationStatus
Parameters
[in] | FSDI | : Frame Size Device Integer to be used
[in] | DID | : Device ID to be used or RFAL_ISODEP_NO_DID for not use DID
[in] | maxBR | : Max bit rate supported by the Poller
[in] | PARAM1 | : ATTRIB PARAM1 byte (communication parameters)
[in] | nfcbDev | : pointer to the NFC-B Device containing the SENSB_RES
[in] | HLInfo | : pointer to Higher layer INF (NULL if none)
[in] | HLInfoLen | : Length HLInfo
[out] | isoDepDev | : ISO-DEP information of the activated Listen device
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_TIMEOUT : Timeout error
ERR_PAR : Parity error detected
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_NONE : No error, start of asynchronous operation successful
ReturnCode rfalIsoDepPollHandleSParameters | ( | rfalIsoDepDevice * | isoDepDev,
 |  | rfalBitRate | maxTxBR,
 |  | rfalBitRate | maxRxBR
 | ) |  |

This checks if PICC supports S(PARAMETERS), retieves PICC's capabilities and sets the Bit Rate at the highest supported by both devices

Parameters
[out] | isoDepDev | : ISO-DEP information of the activated Listen device
[in] | maxTxBR | : Maximum Tx bit rate supported by PCD
[in] | maxRxBR | : Maximum Rx bit rate supported by PCD
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_TIMEOUT : Timeout error
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_NONE : No error, S(PARAMETERS) selection successful
ReturnCode rfalIsoDepPPS | ( | uint8_t | DID,
 |  | rfalBitRate | DSI,
 |  | rfalBitRate | DRI,
 |  | rfalIsoDepPpsRes * | ppsRes
 | ) |  |

This sends a PPS to make a NFC-A Listen Device change the communications bit rate from 106kbps to one of the supported bit rates Additionally checks if the received PPS response is valid

Parameters
[in] | DID | : Device ID
[in] | DSI | : DSI code the divisor from Listener (PICC) to Poller (PCD)
[in] | DRI | : DRI code the divisor from Poller (PCD) to Listener (PICC)
[out] | ppsRes | : pointer to place the PPS Response
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_TIMEOUT : Timeout error
ERR_PAR : Parity error detected
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_NONE : No error, PPS Response received
ReturnCode rfalIsoDepRATS | ( | rfalIsoDepFSxI | FSDI,
 |  | uint8_t | DID,
 |  | rfalIsoDepAts * | ats,
 |  | uint8_t * | atsLen
 | ) |  |

This sends a RATS to make a NFC-A Listen Device to enter ISO-DEP layer (ISO14443-4) and checks if the received ATS is valid

Parameters
[in] | FSDI | : Frame Size Device Integer to be used
[in] | DID | : Device ID to be used or RFAL_ISODEP_NO_DID for not use DID
[out] | ats | : pointer to place the ATS Response
[out] | atsLen | : pointer to place the ATS length
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_TIMEOUT : Timeout error
ERR_PAR : Parity error detected
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_NONE : No error, ATS received
ReturnCode rfalIsoDepStartApduTransceive ( rfalIsoDepApduTxRxParam param )

This method triggers a ISO-DEP Transceive containing a complete APDU It transmits the given message and handles all protocol retransmitions, error handling and control messages

The txBuf contains a complete APDU to be transmitted The Prologue field will be manipulated by the Transceive

Warning
the txBuf will be modified during the transmission
the maximum RF frame which can be received is limited by param.tmpBuf
Parameters
[in] param reference parameters to be used for the Transceive
Returns
ERR_PARAM : Bad request
ERR_WRONG_STATE : The module is not in a proper state
ERR_NONE : The Transceive request has been started
ReturnCode rfalIsoDepStartTransceive ( rfalIsoDepTxRxParam param )

This method triggers a ISO-DEP Transceive containing a complete or partial APDU It transmits the given message and handles all protocol retransmitions, error handling and control messages

The txBuf contains a complete or partial APDU (INF) to be transmitted The Prologue field will be manipulated by the Transceive

If the buffer contains a partial APDU and is not the last block, then isTxChaining must be set to true

Parameters
[in] param reference parameters to be used for the Transceive
Returns
ERR_PARAM : Bad request
ERR_WRONG_STATE : The module is not in a proper state
ERR_NONE : The Transceive request has been started
Examples:
exampleRfalPoller.c.
Generated on Wed May 20 2020 18:07:14 for RFAL by doxygen 1.8.6


RFAL: rfalIsoDepRats Struct Reference

Data Fields
rfalIsoDepRats Struct Reference
ISO-DEP

#include <rfal_isoDep.h>

Data Fields

uint8_t | CMD
uint8_t | PARAM

Detailed Description

RATS format Digital 1.1 13.6.1

Field Documentation

uint8_t rfalIsoDepRats::CMD

RATS command byte: 0xE0

uint8_t rfalIsoDepRats::PARAM

Param indicating FSDI and DID

The documentation for this struct was generated from the following file:
  • rfal_isoDep.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalIsoDepAts Struct Reference

Data Fields
rfalIsoDepAts Struct Reference
ISO-DEP

#include <rfal_isoDep.h>

Data Fields

uint8_t | TL
uint8_t | T0
uint8_t | TA
uint8_t | TB
uint8_t | TC
uint8_t | HB [RFAL_ISODEP_ATS_HB_MAX_LEN]

Detailed Description

ATS response format Digital 1.1 13.6.2

Field Documentation

uint8_t rfalIsoDepAts::HB[RFAL_ISODEP_ATS_HB_MAX_LEN]

Historical Bytes

uint8_t rfalIsoDepAts::T0

Format Byte T0 indicating if TA, TB, TC

uint8_t rfalIsoDepAts::TA

Interface Byte TA(1)

uint8_t rfalIsoDepAts::TB

Interface Byte TB(1)

uint8_t rfalIsoDepAts::TC

Interface Byte TC(1)

uint8_t rfalIsoDepAts::TL

Length Byte, including TL byte itself

The documentation for this struct was generated from the following file:
  • rfal_isoDep.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalIsoDepPpsReq Struct Reference

Data Fields
rfalIsoDepPpsReq Struct Reference
ISO-DEP

#include <rfal_isoDep.h>

Data Fields

uint8_t | PPSS
uint8_t | PPS0
uint8_t | PPS1

Detailed Description

PPS Request format (Protocol and Parameter Selection) ISO14443-4 5.3

Field Documentation

uint8_t rfalIsoDepPpsReq::PPS0

Parameter 0:[ 000b | PPS1[1n] | 0001b ]

uint8_t rfalIsoDepPpsReq::PPS1

Parameter 1:[ 0000b | DSI[2b] | DRI[2b] ]

uint8_t rfalIsoDepPpsReq::PPSS

Start Byte: [ 1101b | CID[4b] ]

The documentation for this struct was generated from the following file:
  • rfal_isoDep.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalIsoDepPpsRes Struct Reference

Data Fields
rfalIsoDepPpsRes Struct Reference
ISO-DEP

#include <rfal_isoDep.h>

Data Fields

uint8_t PPSS

Detailed Description

PPS Response format (Protocol and Parameter Selection) ISO14443-4 5.4

Field Documentation

uint8_t rfalIsoDepPpsRes::PPSS

Start Byte: [ 1101b | CID[4b] ]

The documentation for this struct was generated from the following file:
  • rfal_isoDep.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalIsoDepAttribCmd Struct Reference

Data Fields
rfalIsoDepAttribCmd Struct Reference
ISO-DEP

#include <rfal_isoDep.h>

Data Fields

uint8_t | cmd
uint8_t | nfcid0 [RFAL_NFCB_NFCID0_LEN]
struct {
uint8_t PARAM1
uint8_t PARAM2
uint8_t PARAM3
uint8_t PARAM4
} Param
uint8_t | HLInfo [RFAL_ISODEP_ATTRIB_HLINFO_LEN]

Detailed Description

ATTRIB Command Format Digital 1.1 15.6.1

Field Documentation

uint8_t rfalIsoDepAttribCmd::cmd

ATTRIB_REQ command byte

uint8_t rfalIsoDepAttribCmd::HLInfo[RFAL_ISODEP_ATTRIB_HLINFO_LEN]

Higher Layer Information

uint8_t rfalIsoDepAttribCmd::nfcid0[RFAL_NFCB_NFCID0_LEN]

NFCID0 of the card to be selected

struct { ... } rfalIsoDepAttribCmd::Param

Parameter of ATTRIB command

uint8_t rfalIsoDepAttribCmd::PARAM1

PARAM1 of ATTRIB command

uint8_t rfalIsoDepAttribCmd::PARAM2

PARAM2 of ATTRIB command

uint8_t rfalIsoDepAttribCmd::PARAM3

PARAM3 of ATTRIB command

uint8_t rfalIsoDepAttribCmd::PARAM4

PARAM4 of ATTRIB command

The documentation for this struct was generated from the following file:
  • rfal_isoDep.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalIsoDepAttribRes Struct Reference

Data Fields
rfalIsoDepAttribRes Struct Reference
ISO-DEP

#include <rfal_isoDep.h>

Data Fields

uint8_t | mbliDid
uint8_t | HLInfo [RFAL_ISODEP_ATTRIB_HLINFO_LEN]

Detailed Description

ATTRIB Response Format Digital 1.1 15.6.2

Field Documentation

uint8_t rfalIsoDepAttribRes::HLInfo[RFAL_ISODEP_ATTRIB_HLINFO_LEN]

Higher Layer Information

uint8_t rfalIsoDepAttribRes::mbliDid

Contains MBLI and DID

The documentation for this struct was generated from the following file:
  • rfal_isoDep.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalIsoDepSParameter Struct Reference

Data Fields
rfalIsoDepSParameter Struct Reference
ISO-DEP

#include <rfal_isoDep.h>

Data Fields

uint8_t | tag
uint8_t | length
uint8_t | value [RFAL_ISODEP_SPARAM_VALUES_MAX_LEN]

Detailed Description

S(Parameters) Command Format ISO14443-4 (2016) Table 4

Field Documentation

uint8_t rfalIsoDepSParameter::length

S(PARAMETERS) Length field

uint8_t rfalIsoDepSParameter::tag

S(PARAMETERS) Tag field

uint8_t rfalIsoDepSParameter::value[RFAL_ISODEP_SPARAM_VALUES_MAX_LEN]

S(PARAMETERS) Value field

The documentation for this struct was generated from the following file:
  • rfal_isoDep.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalIsoDepActivation Union Reference

Data Fields
rfalIsoDepActivation Union Reference
ISO-DEP

#include <rfal_isoDep.h>

Collaboration diagram for rfalIsoDepActivation:
[legend]

Data Fields

union {
struct {
rfalIsoDepAts ATS
uint8_t ATSLen
} Listener
struct {
rfalIsoDepRats RATS
} Poller
} A
union {
struct {
rfalIsoDepAttribRes ATTRIB_RES
uint8_t ATTRIB_RESLen
} Listener
struct {
rfalIsoDepAttribCmd ATTRIB
uint8_t ATTRIBLen
} Poller
} B

Detailed Description

Activation info as Poller and Listener for NFC-A and NFC-B

Field Documentation

union { ... } rfalIsoDepActivation::A

NFC-A information

rfalIsoDepAts rfalIsoDepActivation::ATS

ATS response (Poller mode)

uint8_t rfalIsoDepActivation::ATSLen

ATS response length (Poller mode)

rfalIsoDepAttribCmd rfalIsoDepActivation::ATTRIB

ATTRIB request (Listener mode)

rfalIsoDepAttribRes rfalIsoDepActivation::ATTRIB_RES

ATTRIB_RES (Poller mode)

uint8_t rfalIsoDepActivation::ATTRIB_RESLen

ATTRIB_RES length (Poller mode)

uint8_t rfalIsoDepActivation::ATTRIBLen

ATTRIB request length (Listener mode)

union { ... } rfalIsoDepActivation::B

NFC-B information

rfalIsoDepRats rfalIsoDepActivation::RATS

RATS request (Listener mode)

The documentation for this union was generated from the following file:
  • rfal_isoDep.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalIsoDepInfo Struct Reference

Data Fields
rfalIsoDepInfo Struct Reference
ISO-DEP

#include <rfal_isoDep.h>

Data Fields

uint8_t | FWI
uint32_t | FWT
uint32_t | dFWT
uint32_t | SFGI
uint32_t | SFGT
uint8_t | FSxI
uint16_t | FSx
uint32_t | MBL
rfalBitRate DSI
rfalBitRate DRI
uint8_t | DID
uint8_t | NAD
bool | supDID
bool | supNAD
bool | supAdFt

Detailed Description

ISO-DEP device Info

Field Documentation

uint32_t rfalIsoDepInfo::dFWT

Delta Frame Waiting Time (1/fc)

uint8_t rfalIsoDepInfo::DID

Device ID

rfalBitRate rfalIsoDepInfo::DRI

Bit Rate coding from Poller (PCD) to Listener (PICC)

rfalBitRate rfalIsoDepInfo::DSI

Bit Rate coding from Listener (PICC) to Poller (PCD)

uint16_t rfalIsoDepInfo::FSx

Frame Size Device/Card (FSD or FSC)

uint8_t rfalIsoDepInfo::FSxI

Frame Size Device/Card Integer (FSDI or FSCI)

uint8_t rfalIsoDepInfo::FWI

Frame Waiting Integer

uint32_t rfalIsoDepInfo::FWT

Frame Waiting Time (1/fc)

uint32_t rfalIsoDepInfo::MBL

Maximum Buffer Length (optional for NFC-B)

uint8_t rfalIsoDepInfo::NAD

Node ADdress

uint32_t rfalIsoDepInfo::SFGI

Start-up Frame Guard time Integer

uint32_t rfalIsoDepInfo::SFGT

Start-up Frame Guard Time (ms)

bool rfalIsoDepInfo::supAdFt

Advanced Features supported flag

bool rfalIsoDepInfo::supDID

DID supported flag

bool rfalIsoDepInfo::supNAD

NAD supported flag

The documentation for this struct was generated from the following file:
  • rfal_isoDep.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalIsoDepDevice Struct Reference

Data Fields
rfalIsoDepDevice Struct Reference
ISO-DEP

#include <rfal_isoDep.h>

Collaboration diagram for rfalIsoDepDevice:
[legend]

Data Fields

rfalIsoDepActivation activation
rfalIsoDepInfo info

Detailed Description

ISO-DEP Device structure

Examples:
exampleRfalPoller.c.

Field Documentation

rfalIsoDepActivation rfalIsoDepDevice::activation

Activation Info

rfalIsoDepInfo rfalIsoDepDevice::info

ISO-DEP (ISO14443-4) device Info

The documentation for this struct was generated from the following file:
  • rfal_isoDep.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalIsoDepAttribResParam Struct Reference

Data Fields
rfalIsoDepAttribResParam Struct Reference
ISO-DEP

#include <rfal_isoDep.h>

Data Fields

uint8_t | mbli
uint8_t | HLInfo [RFAL_ISODEP_ATTRIB_HLINFO_LEN]
uint8_t | HLInfoLen

Detailed Description

ATTRIB Response parameters

Field Documentation

uint8_t rfalIsoDepAttribResParam::HLInfo[RFAL_ISODEP_ATTRIB_HLINFO_LEN]

Hi Layer Information

uint8_t rfalIsoDepAttribResParam::HLInfoLen

Hi Layer Information Length

uint8_t rfalIsoDepAttribResParam::mbli

MBLI

The documentation for this struct was generated from the following file:
  • rfal_isoDep.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalIsoDepAtsParam Struct Reference

Data Fields
rfalIsoDepAtsParam Struct Reference
ISO-DEP

#include <rfal_isoDep.h>

Data Fields

uint8_t | fsci
uint8_t | fwi
uint8_t | sfgi
bool | didSupport
uint8_t | ta
uint8_t * | hb
uint8_t | hbLen

Detailed Description

ATS Response parameter

Field Documentation

bool rfalIsoDepAtsParam::didSupport

DID Supported

uint8_t rfalIsoDepAtsParam::fsci

Frame Size of Proximity Card Integer

uint8_t rfalIsoDepAtsParam::fwi

Frame Waiting Time Integer

uint8_t* rfalIsoDepAtsParam::hb

Historical Bytes data

uint8_t rfalIsoDepAtsParam::hbLen

Historical Bytes Length

uint8_t rfalIsoDepAtsParam::sfgi

Start-Up Frame Guard Time Integer

uint8_t rfalIsoDepAtsParam::ta

Max supported bitrate both direction

The documentation for this struct was generated from the following file:
  • rfal_isoDep.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalIsoDepBufFormat Struct Reference

Data Fields
rfalIsoDepBufFormat Struct Reference
ISO-DEP

#include <rfal_isoDep.h>

Data Fields

uint8_t | prologue [RFAL_ISODEP_PROLOGUE_SIZE]
uint8_t | inf [RFAL_FEATURE_ISO_DEP_IBLOCK_MAX_LEN]

Detailed Description

Structure of I-Block Buffer format from caller

Examples:
exampleRfalPoller.c.

Field Documentation

uint8_t rfalIsoDepBufFormat::inf[RFAL_FEATURE_ISO_DEP_IBLOCK_MAX_LEN]

INF/Payload buffer

uint8_t rfalIsoDepBufFormat::prologue[RFAL_ISODEP_PROLOGUE_SIZE]

Prologue/SoD buffer

The documentation for this struct was generated from the following file:
  • rfal_isoDep.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalIsoDepApduBufFormat Struct Reference

Data Fields
rfalIsoDepApduBufFormat Struct Reference
ISO-DEP

#include <rfal_isoDep.h>

Data Fields

uint8_t | prologue [RFAL_ISODEP_PROLOGUE_SIZE]
uint8_t | apdu [RFAL_FEATURE_ISO_DEP_APDU_MAX_LEN]

Detailed Description

Structure of APDU Buffer format from caller

Field Documentation

uint8_t rfalIsoDepApduBufFormat::apdu[RFAL_FEATURE_ISO_DEP_APDU_MAX_LEN]

APDU/Payload buffer

uint8_t rfalIsoDepApduBufFormat::prologue[RFAL_ISODEP_PROLOGUE_SIZE]

Prologue/SoD buffer

The documentation for this struct was generated from the following file:
  • rfal_isoDep.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalIsoDepListenActvParam Struct Reference

Data Fields
rfalIsoDepListenActvParam Struct Reference
ISO-DEP

#include <rfal_isoDep.h>

Collaboration diagram for rfalIsoDepListenActvParam:
[legend]

Data Fields

rfalIsoDepBufFormat * rxBuf
uint16_t * | rxLen
bool * | isRxChaining
rfalIsoDepDevice * isoDepDev

Detailed Description

Listen Activation Parameters Structure

Field Documentation

rfalIsoDepDevice* rfalIsoDepListenActvParam::isoDepDev

ISO-DEP device info

bool* rfalIsoDepListenActvParam::isRxChaining

Received data is not complete

rfalIsoDepBufFormat* rfalIsoDepListenActvParam::rxBuf

Receive Buffer struct reference

uint16_t* rfalIsoDepListenActvParam::rxLen

Received INF data length in Bytes

The documentation for this struct was generated from the following file:
  • rfal_isoDep.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalIsoDepTxRxParam Struct Reference

Data Fields
rfalIsoDepTxRxParam Struct Reference
ISO-DEP

#include <rfal_isoDep.h>

Collaboration diagram for rfalIsoDepTxRxParam:
[legend]

Data Fields

rfalIsoDepBufFormat * txBuf
uint16_t | txBufLen
bool | isTxChaining
rfalIsoDepBufFormat * rxBuf
uint16_t * | rxLen
bool * | isRxChaining
uint32_t | FWT
uint32_t | dFWT
uint16_t | ourFSx
uint16_t | FSx
uint8_t | DID

Detailed Description

Structure of parameters used on ISO DEP Transceive

Examples:
exampleRfalPoller.c.

Field Documentation

uint32_t rfalIsoDepTxRxParam::dFWT

Delta FWT to be used

Examples:
exampleRfalPoller.c.
uint8_t rfalIsoDepTxRxParam::DID

Device ID (RFAL_ISODEP_NO_DID if no DID)

Examples:
exampleRfalPoller.c.
uint16_t rfalIsoDepTxRxParam::FSx

Other device Frame Size (FSD or FSC)

Examples:
exampleRfalPoller.c.
uint32_t rfalIsoDepTxRxParam::FWT

FWT to be used (ignored in Listen Mode)

Examples:
exampleRfalPoller.c.
bool* rfalIsoDepTxRxParam::isRxChaining

Received data is not complete

Examples:
exampleRfalPoller.c.
bool rfalIsoDepTxRxParam::isTxChaining

Transmit data is not complete

Examples:
exampleRfalPoller.c.
uint16_t rfalIsoDepTxRxParam::ourFSx

Our device Frame Size (FSD or FSC)

Examples:
exampleRfalPoller.c.
rfalIsoDepBufFormat* rfalIsoDepTxRxParam::rxBuf

Receive Buffer struct reference in Bytes

Examples:
exampleRfalPoller.c.
uint16_t* rfalIsoDepTxRxParam::rxLen

Received INF data length in Bytes

Examples:
exampleRfalPoller.c.
rfalIsoDepBufFormat* rfalIsoDepTxRxParam::txBuf

Transmit Buffer struct reference

Examples:
exampleRfalPoller.c.
uint16_t rfalIsoDepTxRxParam::txBufLen

Transmit Buffer INF field length in Bytes

Examples:
exampleRfalPoller.c.
The documentation for this struct was generated from the following file:
  • rfal_isoDep.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalIsoDepApduTxRxParam Struct Reference

Data Fields
rfalIsoDepApduTxRxParam Struct Reference
ISO-DEP

#include <rfal_isoDep.h>

Collaboration diagram for rfalIsoDepApduTxRxParam:
[legend]

Data Fields

rfalIsoDepApduBufFormat * txBuf
uint16_t | txBufLen
rfalIsoDepApduBufFormat * rxBuf
uint16_t * | rxLen
rfalIsoDepBufFormat * tmpBuf
uint32_t | FWT
uint32_t | dFWT
uint16_t | FSx
uint16_t | ourFSx
uint8_t | DID

Detailed Description

Structure of parameters used on ISO DEP APDU Transceive

Field Documentation

uint32_t rfalIsoDepApduTxRxParam::dFWT

Delta FWT to be used

uint8_t rfalIsoDepApduTxRxParam::DID

Device ID (RFAL_ISODEP_NO_DID if no DID)

uint16_t rfalIsoDepApduTxRxParam::FSx

Other device Frame Size (FSD or FSC)

uint32_t rfalIsoDepApduTxRxParam::FWT

FWT to be used (ignored in Listen Mode)

uint16_t rfalIsoDepApduTxRxParam::ourFSx

Our device Frame Size (FSD or FSC)

rfalIsoDepApduBufFormat* rfalIsoDepApduTxRxParam::rxBuf

Receive Buffer struct reference in Bytes

uint16_t* rfalIsoDepApduTxRxParam::rxLen

Received INF data length in Bytes

rfalIsoDepBufFormat* rfalIsoDepApduTxRxParam::tmpBuf

Temp buffer for Rx I-Blocks (internal)

rfalIsoDepApduBufFormat* rfalIsoDepApduTxRxParam::txBuf

Transmit Buffer struct reference

uint16_t rfalIsoDepApduTxRxParam::txBufLen

Transmit Buffer INF field length in Bytes

The documentation for this struct was generated from the following file:
  • rfal_isoDep.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: NFC-A

Data Structures | Macros | Enumerations | Functions
NFC-A
RFAL-AL

RFAL NFC-A Module. More...

Collaboration diagram for NFC-A:

Data Structures

struct | rfalNfcaSensRes
struct | rfalNfcaSddReq
struct | rfalNfcaSddRes
struct | rfalNfcaSelReq
struct | rfalNfcaSelRes
struct | rfalNfcaListenDevice

Macros

#define | RFAL_NFCA_CASCADE_1_UID_LEN 4U
#define | RFAL_NFCA_CASCADE_2_UID_LEN 7U
#define | RFAL_NFCA_CASCADE_3_UID_LEN 10U
#define | RFAL_NFCA_SENS_RES_PLATFORM_MASK 0x0FU
#define | RFAL_NFCA_SENS_RES_PLATFORM_T1T 0x0CU
#define | RFAL_NFCA_SEL_RES_CONF_MASK 0x60U
#define | RFAL_NFCA_SEL_RES_CONF_T2T 0x00U
#define | RFAL_NFCA_SEL_RES_CONF_T4T 0x20U
#define | RFAL_NFCA_SEL_RES_CONF_NFCDEP 0x40U
#define | RFAL_NFCA_SEL_RES_CONF_T4T_NFCDEP 0x60U
#define | RFAL_NFCA_FDTMIN 1620U
#define | rfalNfcaIsSensResT1T(sensRes) ((((rfalNfcaSensRes*)(sensRes))->platformInfo & RFAL_NFCA_SENS_RES_PLATFORM_MASK) == RFAL_NFCA_SENS_RES_PLATFORM_T1T )
#define | rfalNfcaIsSelResT2T(selRes) ((((rfalNfcaSelRes*)(selRes))->sak & RFAL_NFCA_SEL_RES_CONF_MASK) == RFAL_NFCA_SEL_RES_CONF_T2T )
#define | rfalNfcaIsSelResT4T(selRes) ((((rfalNfcaSelRes*)(selRes))->sak & RFAL_NFCA_SEL_RES_CONF_MASK) == RFAL_NFCA_SEL_RES_CONF_T4T )
#define | rfalNfcaIsSelResNFCDEP(selRes) ((((rfalNfcaSelRes*)(selRes))->sak & RFAL_NFCA_SEL_RES_CONF_MASK) == RFAL_NFCA_SEL_RES_CONF_NFCDEP )
#define | rfalNfcaIsSelResT4TNFCDEP(selRes) ((((rfalNfcaSelRes*)(selRes))->sak & RFAL_NFCA_SEL_RES_CONF_MASK) == RFAL_NFCA_SEL_RES_CONF_T4T_NFCDEP )
#define | rfalNfcaLisDevIsMultiProto(lisDev) (((rfalNfcaListenDevice*)(lisDev))->type == RFAL_NFCA_T4T_NFCDEP )

Enumerations

enum rfalNfcaListenDeviceType {
RFAL_NFCA_T1T = 0x01, RFAL_NFCA_T2T = 0x00, RFAL_NFCA_T4T = 0x20, RFAL_NFCA_NFCDEP = 0x40,
RFAL_NFCA_T4T_NFCDEP = 0x60
}

Functions

ReturnCode | rfalNfcaPollerInitialize (void)
Initialize NFC-A Poller mode. More...
ReturnCode | rfalNfcaPollerCheckPresence (rfal14443AShortFrameCmd cmd, rfalNfcaSensRes *sensRes)
NFC-A Poller Check Presence. More...
ReturnCode | rfalNfcaPollerSelect (const uint8_t *nfcid1, uint8_t nfcidLen, rfalNfcaSelRes *selRes)
NFC-A Poller Select. More...
ReturnCode | rfalNfcaPollerSleep (void)
NFC-A Poller Sleep. More...
ReturnCode | rfalNfcaPollerTechnologyDetection (rfalComplianceMode compMode, rfalNfcaSensRes *sensRes)
NFC-A Technology Detection. More...
ReturnCode | rfalNfcaPollerSingleCollisionResolution (uint8_t devLimit, bool *collPending, rfalNfcaSelRes *selRes, uint8_t *nfcId1, uint8_t *nfcId1Len)
NFC-A Poller Collision Resolution. More...
ReturnCode | rfalNfcaPollerFullCollisionResolution (rfalComplianceMode compMode, uint8_t devLimit, rfalNfcaListenDevice *nfcaDevList, uint8_t *devCnt)
NFC-A Poller Full Collision Resolution. More...
ReturnCode | rfalNfcaPollerSleepFullCollisionResolution (uint8_t devLimit, rfalNfcaListenDevice *nfcaDevList, uint8_t *devCnt)
NFC-A Poller Full Collision Resolution with Sleep. More...
ReturnCode | rfalNfcaPollerStartFullCollisionResolution (rfalComplianceMode compMode, uint8_t devLimit, rfalNfcaListenDevice *nfcaDevList, uint8_t *devCnt)
NFC-A Poller Start Full Collision Resolution. More...
ReturnCode | rfalNfcaPollerGetFullCollisionResolutionStatus (void)
NFC-A Get Full Collision Resolution Status. More...
bool | rfalNfcaListenerIsSleepReq (const uint8_t *buf, uint16_t bufLen)
NFC-A Listener is SLP_REQ. More...

Detailed Description

Macro Definition Documentation

#define RFAL_NFCA_CASCADE_1_UID_LEN 4U

UID length of cascade level 1 only tag

Examples:
exampleRfalPoller.c.
#define RFAL_NFCA_CASCADE_2_UID_LEN 7U

UID length of cascade level 2 only tag

#define RFAL_NFCA_CASCADE_3_UID_LEN 10U

UID length of cascade level 3 only tag

#define RFAL_NFCA_FDTMIN 1620U

NFC-A minimum FDT(listen) = ((n * 128 + (84)) / fc) with n_min = 9 Digital 1.1 6.10.1 = (1236)/fc Relax with 3etu: (3*128)/fc as with multiple NFC-A cards, response may take longer (JCOP cards) = (1236 + 384)/fc = 1620 / fc

#define RFAL_NFCA_SEL_RES_CONF_MASK 0x60U

SEL_RES (SAK) platform configuration mask Digital 1.1 Table 19

#define RFAL_NFCA_SEL_RES_CONF_NFCDEP 0x40U

SEL_RES (SAK) NFC-DEP configuration Digital 1.1 Table 19

#define RFAL_NFCA_SEL_RES_CONF_T2T 0x00U

SEL_RES (SAK) T2T configuration Digital 1.1 Table 19

#define RFAL_NFCA_SEL_RES_CONF_T4T 0x20U

SEL_RES (SAK) T4T configuration Digital 1.1 Table 19

#define RFAL_NFCA_SEL_RES_CONF_T4T_NFCDEP 0x60U

SEL_RES (SAK) T4T and NFC-DEP configuration Digital 1.1 Table 19

#define RFAL_NFCA_SENS_RES_PLATFORM_MASK 0x0FU

SENS_RES (ATQA) platform configuration mask Digital 1.1 Table 10

#define RFAL_NFCA_SENS_RES_PLATFORM_T1T 0x0CU

SENS_RES (ATQA) T1T platform configuration Digital 1.1 Table 10

#define rfalNfcaIsSelResNFCDEP ( selRes ) ((((rfalNfcaSelRes*)(selRes))->sak & RFAL_NFCA_SEL_RES_CONF_MASK) == RFAL_NFCA_SEL_RES_CONF_NFCDEP )

Checks if device supports NFC-DEP protocol given its SENS_RES

#define rfalNfcaIsSelResT2T ( selRes ) ((((rfalNfcaSelRes*)(selRes))->sak & RFAL_NFCA_SEL_RES_CONF_MASK) == RFAL_NFCA_SEL_RES_CONF_T2T )

Checks if device is a T2T given its SENS_RES

#define rfalNfcaIsSelResT4T ( selRes ) ((((rfalNfcaSelRes*)(selRes))->sak & RFAL_NFCA_SEL_RES_CONF_MASK) == RFAL_NFCA_SEL_RES_CONF_T4T )

Checks if device is a T4T given its SENS_RES

#define rfalNfcaIsSelResT4TNFCDEP ( selRes ) ((((rfalNfcaSelRes*)(selRes))->sak & RFAL_NFCA_SEL_RES_CONF_MASK) == RFAL_NFCA_SEL_RES_CONF_T4T_NFCDEP )

Checks if device supports ISO-DEP and NFC-DEP protocol given its SENS_RES

#define rfalNfcaIsSensResT1T ( sensRes ) ((((rfalNfcaSensRes*)(sensRes))->platformInfo & RFAL_NFCA_SENS_RES_PLATFORM_MASK) == RFAL_NFCA_SENS_RES_PLATFORM_T1T )

Checks if device is a T1T given its SENS_RES

#define rfalNfcaLisDevIsMultiProto ( lisDev ) (((rfalNfcaListenDevice*)(lisDev))->type == RFAL_NFCA_T4T_NFCDEP )

Checks if a NFC-A listener device supports multiple protocols (ISO-DEP and NFC-DEP)

Enumeration Type Documentation

enum rfalNfcaListenDeviceType

NFC-A Listen device types

Function Documentation

bool rfalNfcaListenerIsSleepReq | ( | const uint8_t * | buf,
 |  | uint16_t | bufLen
 | ) |  |

Checks if the given buffer contains valid NFC-A SLP_REQ (HALT)

Parameters
[in] | buf | buffer containing data
[in] | bufLen | length of the data in buffer to be checked
Returns
true if data in buf contains a SLP_REQ ; false otherwise
ReturnCode rfalNfcaPollerCheckPresence | ( | rfal14443AShortFrameCmd | cmd,
 |  | rfalNfcaSensRes * | sensRes
 | ) |  |

This method checks if a NFC-A Listen device (PICC) is present on the field by sending an ALL_REQ (WUPA) or SENS_REQ (REQA)

Parameters
[in] | cmd | : Indicate if to send an ALL_REQ or a SENS_REQ
[out] | sensRes | : If received, the SENS_RES
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_RF_COLLISION : Collision detected one or more device in the field
ERR_PAR : Parity error detected, one or more device in the field
ERR_CRC : CRC error detected, one or more device in the field
ERR_FRAMING : Framing error detected, one or more device in the field
ERR_PROTO : Protocol error detected, one or more device in the field
ERR_TIMEOUT : Timeout error, no listener device detected
ERR_NONE : No error, one or more device in the field
Examples:
exampleRfalNfca.c, and exampleRfalPoller.c.
ReturnCode rfalNfcaPollerFullCollisionResolution | ( | rfalComplianceMode | compMode,
 |  | uint8_t | devLimit,
 |  | rfalNfcaListenDevice * | nfcaDevList,
 |  | uint8_t * | devCnt
 | ) |  |

Performs a full Collision resolution as defined in Activity 2.1 9.3.4

Parameters
[in] | compMode | : compliance mode to be performed
[in] | devLimit | : device limit value, and size nfcaDevList
[out] | nfcaDevList | : NFC-A listener device info
[out] | devCnt | : Devices found counter

When compMode is set to ISO compliance it assumes that the device is not sleeping and therefore no ALL_REQ (WUPA) is sent at the beginning. When compMode is set to NFC compliance an additional ALL_REQ (WUPA) is sent at the beginning.

When devLimit = 0 it is configured to perform collision detection only. Once a collision is detected the collision resolution is aborted immidiatly. If only one device is found with no collisions, it will properly resolved.

Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_NONE : No error
Examples:
exampleRfalNfca.c, and exampleRfalPoller.c.
ReturnCode rfalNfcaPollerGetFullCollisionResolutionStatus ( void )

Returns the Collision Resolution status

Returns
ERR_BUSY : Operation is ongoing
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_TIMEOUT : Timeout error
ERR_PAR : Parity error detected
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_NONE : No error, activation successful
ReturnCode rfalNfcaPollerInitialize ( void )

This methods configures RFAL RF layer to perform as a NFC-A Poller/RW (ISO14443A PCD) including all default timings and bit rate to 106 kbps

Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_NONE : No error
Examples:
exampleRfalNfca.c, and exampleRfalPoller.c.
ReturnCode rfalNfcaPollerSelect | ( | const uint8_t * | nfcid1,
 |  | uint8_t | nfcidLen,
 |  | rfalNfcaSelRes * | selRes
 | ) |  |

This method selects a NFC-A Listener device (PICC)

Parameters
[in] | nfcid1 | : Listener device NFCID1 to be selected
[in] | nfcidLen | : Length of the NFCID1 to be selected
[out] | selRes | : pointer to place the SEL_RES
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_TIMEOUT : Timeout error
ERR_PAR : Parity error detected
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_NONE : No error, SEL_RES received
Examples:
exampleRfalNfca.c, and exampleRfalPoller.c.
ReturnCode rfalNfcaPollerSingleCollisionResolution | ( | uint8_t | devLimit,
 |  | bool * | collPending,
 |  | rfalNfcaSelRes * | selRes,
 |  | uint8_t * | nfcId1,
 |  | uint8_t * | nfcId1Len
 | ) |  |

Collision resolution for one NFC-A Listener device/card (PICC) as defined in Activity 2.1 9.3.4

This method executes anti collision loop and select the device with higher NFCID1

When devLimit = 0 it is configured to perform collision detection only. Once a collision is detected the collision resolution is aborted immidiatly. If only one device is found with no collisions, it will properly resolved.

Parameters
[in] | devLimit | : device limit value (CON_DEVICES_LIMIT)
[out] | collPending | : pointer to collision pending flag (INT_COLL_PEND)
[out] | selRes | : location to store the last Select Response from listener device (PICC)
[out] | nfcId1 | : location to store the NFCID1 (UID), ensure RFAL_NFCA_CASCADE_3_UID_LEN
[out] | nfcId1Len | : pointer to length of NFCID1 (UID)
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_PROTO : Card length invalid
ERR_IGNORE : conDevLimit is 0 and there is a collision
ERR_NONE : No error
ReturnCode rfalNfcaPollerSleep ( void )

This method sends a SLP_REQ (HLTA) No response is expected afterwards Digital 1.1 6.9.2.1

Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_NONE : No error
Examples:
exampleRfalNfca.c.
ReturnCode rfalNfcaPollerSleepFullCollisionResolution | ( | uint8_t | devLimit,
 |  | rfalNfcaListenDevice * | nfcaDevList,
 |  | uint8_t * | devCnt
 | ) |  |

Performs a full Collision resolution similar to rfalNfcaPollerFullCollisionResolution but an additional SLP_REQ (HLTA) -> SENS_RES (REQA) is sent regardless if there was a collision. This proprietary behaviour ensures proper activation of certain devices that suffer from influence of Type B commands as foreseen in ISO14443-3 5.2.3 or were somehow not detected by the first round of collision resolution

Parameters
[in] | devLimit | : device limit value, and size nfcaDevList
[out] | nfcaDevList | : NFC-A listener device info
[out] | devCnt | : Devices found counter
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_NONE : No error
ReturnCode rfalNfcaPollerStartFullCollisionResolution | ( | rfalComplianceMode | compMode,
 |  | uint8_t | devLimit,
 |  | rfalNfcaListenDevice * | nfcaDevList,
 |  | uint8_t * | devCnt
 | ) |  |

This method starts the full Collision resolution as defined in Activity 1.0 or 1.1 9.3.4

Parameters
[in] | compMode | : compliance mode to be performed
[in] | devLimit | : device limit value, and size nfcaDevList
[out] | nfcaDevList | : NFC-A listener device info
[out] | devCnt | : Devices found counter

When compMode is set to ISO compliance it assumes that the device is not sleeping and therefore no ALL_REQ (WUPA) is sent at the beginning. When compMode is set to NFC compliance an additional ALL_REQ (WUPA) is sent at the beginning.

When devLimit = 0 it is configured to perform collision detection only. Once a collision is detected the collision resolution is aborted immidiatly. If only one device is found with no collisions, it will properly resolved.

Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_NONE : No error
ReturnCode rfalNfcaPollerTechnologyDetection | ( | rfalComplianceMode | compMode,
 |  | rfalNfcaSensRes * | sensRes
 | ) |  |

This method performs NFC-A Technology Detection as defined in the spec given in the compliance mode

Parameters
[in] | compMode | : compliance mode to be performed
[out] | sensRes | : location to store the SENS_RES, if received

When compMode is set to ISO compliance a SLP_REQ (HLTA) is not sent after detection. When set to EMV a ALL_REQ (WUPA) is sent instead of a SENS_REQ (REQA)

Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_NONE : No error, one or more device in the field
Examples:
exampleRfalNfca.c, and exampleRfalPoller.c.
Generated on Wed May 20 2020 18:07:14 for RFAL by doxygen 1.8.6


RFAL: rfalNfcaSensRes Struct Reference

Data Fields
rfalNfcaSensRes Struct Reference
NFC-A

#include <rfal_nfca.h>

Data Fields

uint8_t | anticollisionInfo
uint8_t | platformInfo

Detailed Description

SENS_RES (ATQA) format Digital 1.1 6.6.3 & Table 7

Examples:
exampleRfalNfca.c, and exampleRfalPoller.c.

Field Documentation

uint8_t rfalNfcaSensRes::anticollisionInfo

SENS_RES Anticollision Information

uint8_t rfalNfcaSensRes::platformInfo

SENS_RES Platform Information

The documentation for this struct was generated from the following file:
  • rfal_nfca.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalNfcaSddReq Struct Reference

Data Fields
rfalNfcaSddReq Struct Reference
NFC-A

#include <rfal_nfca.h>

Data Fields

uint8_t | selCmd
uint8_t | selPar

Detailed Description

SDD_REQ (Anticollision) format Digital 1.1 6.7.1 & Table 11

Field Documentation

uint8_t rfalNfcaSddReq::selCmd

SDD_REQ SEL_CMD: cascade Level

uint8_t rfalNfcaSddReq::selPar

SDD_REQ SEL_PAR: Byte Count[4b] | Bit Count[4b] (NVB: Number of Valid Bits)

The documentation for this struct was generated from the following file:
  • rfal_nfca.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalNfcaSddRes Struct Reference

Data Fields
rfalNfcaSddRes Struct Reference
NFC-A

#include <rfal_nfca.h>

Data Fields

uint8_t | nfcid1 [RFAL_NFCA_CASCADE_1_UID_LEN]
uint8_t | bcc

Detailed Description

SDD_RES (UID CLn) format Digital 1.1 6.7.2 & Table 15

Field Documentation

uint8_t rfalNfcaSddRes::bcc

BCC Exclusive-OR over first 4 bytes of SDD_RES

uint8_t rfalNfcaSddRes::nfcid1[RFAL_NFCA_CASCADE_1_UID_LEN]

NFCID1 cascade level NFCID

The documentation for this struct was generated from the following file:
  • rfal_nfca.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalNfcaSelReq Struct Reference

Data Fields
rfalNfcaSelReq Struct Reference
NFC-A

#include <rfal_nfca.h>

Data Fields

uint8_t | selCmd
uint8_t | selPar
uint8_t | nfcid1 [RFAL_NFCA_CASCADE_1_UID_LEN]
uint8_t | bcc

Detailed Description

SEL_REQ (Select) format Digital 1.1 6.8.1 & Table 17

Field Documentation

uint8_t rfalNfcaSelReq::bcc

Checksum calculated as exclusive-OR over the 4 bytes of NFCID1 CLn

uint8_t rfalNfcaSelReq::nfcid1[RFAL_NFCA_CASCADE_1_UID_LEN]

NFCID1 data

uint8_t rfalNfcaSelReq::selCmd

SDD_REQ SEL_CMD: cascade Level

uint8_t rfalNfcaSelReq::selPar

SDD_REQ SEL_PAR: Byte Count[4b] | Bit Count[4b] (NVB: Number of Valid Bits)

The documentation for this struct was generated from the following file:
  • rfal_nfca.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalNfcaSelRes Struct Reference

Data Fields
rfalNfcaSelRes Struct Reference
NFC-A

#include <rfal_nfca.h>

Data Fields

uint8_t sak

Detailed Description

SEL_RES (SAK) format Digital 1.1 6.8.2 & Table 19

Examples:
exampleRfalNfca.c, and exampleRfalPoller.c.

Field Documentation

uint8_t rfalNfcaSelRes::sak

Select Acknowledge

The documentation for this struct was generated from the following file:
  • rfal_nfca.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalNfcaListenDevice Struct Reference

Data Fields
rfalNfcaListenDevice Struct Reference
NFC-A

#include <rfal_nfca.h>

Collaboration diagram for rfalNfcaListenDevice:
[legend]

Data Fields

rfalNfcaListenDeviceType type
rfalNfcaSensRes sensRes
rfalNfcaSelRes selRes
uint8_t | nfcId1Len
uint8_t | nfcId1 [RFAL_NFCA_CASCADE_3_UID_LEN]
bool | isSleep

Detailed Description

NFC-A listener device (PICC) struct

Examples:
exampleRfalNfca.c, and exampleRfalPoller.c.

Field Documentation

bool rfalNfcaListenDevice::isSleep

Device sleeping flag

uint8_t rfalNfcaListenDevice::nfcId1[RFAL_NFCA_CASCADE_3_UID_LEN]

NFCID1 (UID)

uint8_t rfalNfcaListenDevice::nfcId1Len

NFCID1 Length

rfalNfcaSelRes rfalNfcaListenDevice::selRes

SEL_RES (SAK)

rfalNfcaSensRes rfalNfcaListenDevice::sensRes

SENS_RES (ATQA)

rfalNfcaListenDeviceType rfalNfcaListenDevice::type

NFC-A Listen device type

The documentation for this struct was generated from the following file:
  • rfal_nfca.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: NFC-B

Data Structures | Macros | Enumerations | Functions
NFC-B
RFAL-AL

RFAL NFC-B Module. More...

Collaboration diagram for NFC-B:

Data Structures

struct | rfalNfcbSensbResAppData
struct | rfalNfcbSensbResProtocolInfo
struct | rfalNfcbSensbRes
struct | rfalNfcbListenDevice

Macros

#define | RFAL_NFCB_FWTSENSB 7680U
#define | RFAL_NFCB_DFWT 49152U
#define | RFAL_NFCB_DTPOLL_10 rfalConvMsTo1fc(20)
#define | RFAL_NFCB_DTPOLL_20 rfalConvMsTo1fc(17)
#define | RFAL_NFCB_AFI 0x00U
#define | RFAL_NFCB_PARAM 0x00U
#define | RFAL_NFCB_CRC_LEN 2U
#define | RFAL_NFCB_NFCID0_LEN 4U
#define | RFAL_NFCB_CMD_LEN 1U
#define | RFAL_NFCB_SENSB_RES_LEN 12U
#define | RFAL_NFCB_SENSB_RES_EXT_LEN 13U
#define | RFAL_NFCB_SENSB_REQ_ADV_FEATURE 0x20U
#define | RFAL_NFCB_SENSB_RES_FSCI_MASK 0x0FU
#define | RFAL_NFCB_SENSB_RES_FSCI_SHIFT 4U
#define | RFAL_NFCB_SENSB_RES_PROTO_RFU_MASK 0x08U
#define | RFAL_NFCB_SENSB_RES_PROTO_TR2_MASK 0x03U
#define | RFAL_NFCB_SENSB_RES_PROTO_TR2_SHIFT 1U
#define | RFAL_NFCB_SENSB_RES_PROTO_ISO_MASK 0x01U
#define | RFAL_NFCB_SENSB_RES_FWI_MASK 0x0FU
#define | RFAL_NFCB_SENSB_RES_FWI_SHIFT 4U
#define | RFAL_NFCB_SENSB_RES_ADC_MASK 0x0CU
#define | RFAL_NFCB_SENSB_RES_ADC_ADV_FEATURE_MASK 0x08U
#define | RFAL_NFCB_SENSB_RES_ADC_PROPRIETARY_MASK 0x04U
#define | RFAL_NFCB_SENSB_RES_FO_DID_MASK 0x01U
#define | RFAL_NFCB_SENSB_RES_FO_NAD_MASK 0x02U
#define | RFAL_NFCB_SENSB_RES_FO_MASK 0x03U
#define | RFAL_NFCB_SENSB_RES_SFGI_MASK 0x0FU
#define | RFAL_NFCB_SENSB_RES_SFGI_SHIFT 4U
#define | rfalNfcbGetFSCI(sensbRes) ((((rfalNfcbSensbRes*)(sensbRes))->protInfo.FsciProType >> RFAL_NFCB_SENSB_RES_FSCI_SHIFT) & RFAL_NFCB_SENSB_RES_FSCI_MASK )
#define | rfalNfcbIsIsoDepSupported(dev) ( (((rfalNfcbListenDevice*)(dev))->sensbRes.protInfo.FsciProType & RFAL_NFCB_SENSB_RES_PROTO_ISO_MASK) != 0U )

Enumerations

enum rfalNfcbSensCmd { RFAL_NFCB_SENS_CMD_ALLB_REQ = 0x08, RFAL_NFCB_SENS_CMD_SENSB_REQ = 0x00 }
enum rfalNfcbSlots {
RFAL_NFCB_SLOT_NUM_1 = 0, RFAL_NFCB_SLOT_NUM_2 = 1, RFAL_NFCB_SLOT_NUM_4 = 2, RFAL_NFCB_SLOT_NUM_8 = 3,
RFAL_NFCB_SLOT_NUM_16 = 4
}

Functions

ReturnCode | rfalNfcbPollerInitialize (void)
Initialize NFC-B Poller mode. More...
ReturnCode | rfalNfcbPollerInitializeWithParams (uint8_t AFI, uint8_t PARAM)
Set NFC-B Poller parameters. More...
ReturnCode | rfalNfcbPollerCheckPresence (rfalNfcbSensCmd cmd, rfalNfcbSlots slots, rfalNfcbSensbRes *sensbRes, uint8_t *sensbResLen)
NFC-B Poller Check Presence. More...
ReturnCode | rfalNfcbPollerSleep (const uint8_t *nfcid0)
NFC-B Poller Sleep. More...
ReturnCode | rfalNfcbPollerSlotMarker (uint8_t slotCode, rfalNfcbSensbRes *sensbRes, uint8_t *sensbResLen)
NFC-B Poller Slot Marker. More...
ReturnCode | rfalNfcbPollerTechnologyDetection (rfalComplianceMode compMode, rfalNfcbSensbRes *sensbRes, uint8_t *sensbResLen)
NFC-B Technology Detection. More...
ReturnCode | rfalNfcbPollerCollisionResolution (rfalComplianceMode compMode, uint8_t devLimit, rfalNfcbListenDevice *nfcbDevList, uint8_t *devCnt)
NFC-B Poller Collision Resolution. More...
ReturnCode | rfalNfcbPollerSlottedCollisionResolution (rfalComplianceMode compMode, uint8_t devLimit, rfalNfcbSlots initSlots, rfalNfcbSlots endSlots, rfalNfcbListenDevice *nfcbDevList, uint8_t *devCnt, bool *colPending)
NFC-B Poller Collision Resolution Slotted. More...
uint32_t | rfalNfcbTR2ToFDT (uint8_t tr2Code)
NFC-B TR2 code to FDT. More...

Detailed Description

Macro Definition Documentation

#define RFAL_NFCB_AFI 0x00U

NFC-B default Application Family Digital 1.1 7.6.1.1

#define RFAL_NFCB_CMD_LEN 1U

Length of NFC-B Command

#define RFAL_NFCB_CRC_LEN 2U

NFC-B CRC length and CRC_B(AID) Digital 1.1 Table 28

#define RFAL_NFCB_DFWT 49152U

NFC-B dFWT Delta 2.0 7.9.1.3 & B.3

#define RFAL_NFCB_DTPOLL_10 rfalConvMsTo1fc(20)

NFC-B Delta Tb Poll Digital 1.0 A.2

#define RFAL_NFCB_DTPOLL_20 rfalConvMsTo1fc(17)

NFC-B Delta Tb Poll Digital 2.1 B.3

#define RFAL_NFCB_FWTSENSB 7680U

NFC-B FWT(SENSB) Digital 2.0 B.3

#define RFAL_NFCB_NFCID0_LEN 4U

Length of NFC-B NFCID0

#define RFAL_NFCB_PARAM 0x00U

NFC-B default SENSB_REQ PARAM

#define RFAL_NFCB_SENSB_REQ_ADV_FEATURE 0x20U

Bit mask for Advance Feature in SENSB_REQ

#define RFAL_NFCB_SENSB_RES_ADC_ADV_FEATURE_MASK 0x08U

Bit mask for ADC.Advanced Proto Features in SENSB_RES

#define RFAL_NFCB_SENSB_RES_ADC_MASK 0x0CU

Bit mask for ADC value in SENSB_RES

#define RFAL_NFCB_SENSB_RES_ADC_PROPRIETARY_MASK 0x04U

Bit mask for ADC.Proprietary Application in SENSB_RES

#define RFAL_NFCB_SENSB_RES_EXT_LEN 13U

Extended length of SENSB_RES with SFGI byte

#define RFAL_NFCB_SENSB_RES_FO_DID_MASK 0x01U

Bit mask for DID in SENSB_RES

#define RFAL_NFCB_SENSB_RES_FO_MASK 0x03U

Bit mask for FO value in SENSB_RES (NAD and DID)

#define RFAL_NFCB_SENSB_RES_FO_NAD_MASK 0x02U

Bit mask for DID in SENSB_RES

#define RFAL_NFCB_SENSB_RES_FSCI_MASK 0x0FU

Bit mask for FSCI value in SENSB_RES

#define RFAL_NFCB_SENSB_RES_FSCI_SHIFT 4U

Shift for FSCI value in SENSB_RES

#define RFAL_NFCB_SENSB_RES_FWI_MASK 0x0FU

Bit mask for FWI value in SENSB_RES

#define RFAL_NFCB_SENSB_RES_FWI_SHIFT 4U

Bit mask for FWI value in SENSB_RES

#define RFAL_NFCB_SENSB_RES_LEN 12U

Standard length of SENSB_RES without SFGI byte

#define RFAL_NFCB_SENSB_RES_PROTO_ISO_MASK 0x01U

Bit mask Protocol Type ISO14443 Compliant in SENSB_RES

#define RFAL_NFCB_SENSB_RES_PROTO_RFU_MASK 0x08U

Bit mask for Protocol Type RFU in SENSB_RES

#define RFAL_NFCB_SENSB_RES_PROTO_TR2_MASK 0x03U

Bit mask for Protocol Type TR2 in SENSB_RES

#define RFAL_NFCB_SENSB_RES_PROTO_TR2_SHIFT 1U

Shift for Protocol Type TR2 in SENSB_RES

#define RFAL_NFCB_SENSB_RES_SFGI_MASK 0x0FU

Bit mask for SFGI in SENSB_RES

#define RFAL_NFCB_SENSB_RES_SFGI_SHIFT 4U

Shift for SFGI in SENSB_RES

#define rfalNfcbGetFSCI ( sensbRes ) ((((rfalNfcbSensbRes*)(sensbRes))->protInfo.FsciProType >> RFAL_NFCB_SENSB_RES_FSCI_SHIFT) & RFAL_NFCB_SENSB_RES_FSCI_MASK )

Get device's FSCI given its SENSB_RES Digital 1.1 7.6.2

#define rfalNfcbIsIsoDepSupported ( dev ) ( (((rfalNfcbListenDevice*)(dev))->sensbRes.protInfo.FsciProType & RFAL_NFCB_SENSB_RES_PROTO_ISO_MASK) != 0U )

Checks if the given NFC-B device indicates ISO-DEP support

Enumeration Type Documentation

enum rfalNfcbSensCmd

SENSB_REQ and ALLB_REQ param Digital 1.1 7.6.1

Enumerator
RFAL_NFCB_SENS_CMD_ALLB_REQ | ALLB_REQ (WUPB)
RFAL_NFCB_SENS_CMD_SENSB_REQ | SENSB_REQ (REQB)
enum rfalNfcbSlots

Number of Slots (NI) codes used for NFC-B anti collision Digital 1.1 Table 26

Enumerator
RFAL_NFCB_SLOT_NUM_1 | N=0 : 1 slot
RFAL_NFCB_SLOT_NUM_2 | N=1 : 2 slots
RFAL_NFCB_SLOT_NUM_4 | N=2 : 4 slots
RFAL_NFCB_SLOT_NUM_8 | N=3 : 8 slots
RFAL_NFCB_SLOT_NUM_16 | N=4 : 16 slots

Function Documentation

ReturnCode rfalNfcbPollerCheckPresence | ( | rfalNfcbSensCmd | cmd,
 |  | rfalNfcbSlots | slots,
 |  | rfalNfcbSensbRes * | sensbRes,
 |  | uint8_t * | sensbResLen
 | ) |  |

This method checks if a NFC-B Listen device (PICC) is present on the field by sending an ALLB_REQ (WUPB) or SENSB_REQ (REQB)

Parameters
[in] | cmd | : Indicate if to send an ALL_REQ or a SENS_REQ
[in] | slots | : The number of slots to be announced
[out] | sensbRes | : If received, the SENSB_RES
[out] | sensbResLen | : If received, the SENSB_RES length
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_PAR : Parity error detected, one or more device in the field
ERR_CRC : CRC error detected, one or more device in the field
ERR_FRAMING : Framing error detected, one or more device in the field
ERR_PROTO : Protocol error detected, invalid SENSB_RES received
ERR_NONE : No error, SENSB_RES received
Examples:
exampleRfalPoller.c.
ReturnCode rfalNfcbPollerCollisionResolution | ( | rfalComplianceMode | compMode,
 |  | uint8_t | devLimit,
 |  | rfalNfcbListenDevice * | nfcbDevList,
 |  | uint8_t * | devCnt
 | ) |  |

NFC-B Collision resolution Listener device/card (PICC) as defined in Activity 1.1 9.3.5

This function is used to perform collision resolution for detection in case of multiple NFC Forum Devices with Technology B detected. Target with valid SENSB_RES will be stored in devInfo and nfcbDevCount incremented.

Parameters
[in] | compMode | : compliance mode to be performed
[in] | devLimit | : device limit value, and size nfcbDevList
[out] | nfcbDevList | : NFC-B listener device info
[out] | devCnt | : devices found counter
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_PROTO : Protocol error detected
ERR_NONE : No error
Examples:
exampleRfalPoller.c.
ReturnCode rfalNfcbPollerInitialize ( void )

This methods configures RFAL RF layer to perform as a NFC-B Poller/RW (ISO14443B PCD) including all default timings

It sets NFC-B parameters (AFI, PARAM) to default values

Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_NONE : No error
Examples:
exampleRfalPoller.c.
ReturnCode rfalNfcbPollerInitializeWithParams | ( | uint8_t | AFI,
 |  | uint8_t | PARAM
 | ) |  |

This methods configures RFAL RF layer to perform as a NFCA Poller/RW (ISO14443A PCD) including all default timings

Additionally configures NFC-B specific parameters to be used on the following communications

Parameters
[in] | AFI | : Application Family Identifier to be used
[in] | PARAM | : PARAM to be used, it announces whether Advanced Features or Extended SENSB_RES is supported
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_NONE : No error
ReturnCode rfalNfcbPollerSleep ( const uint8_t * nfcid0 )

This function is used to send the SLPB_REQ (HLTB) command to put the PICC with the given NFCID0 to state HALT so that they do not reply to further SENSB_REQ commands (only to ALLB_REQ)

Parameters
[in] nfcid0 : NFCID of the device to be put to Sleep
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_NONE : No error
ReturnCode rfalNfcbPollerSlotMarker | ( | uint8_t | slotCode,
 |  | rfalNfcbSensbRes * | sensbRes,
 |  | uint8_t * | sensbResLen
 | ) |  |

This method selects a NFC-B Slot marker frame

Parameters
[in] | slotCode | : Slot Code [1-15]
[out] | sensbRes | : If received, the SENSB_RES
[out] | sensbResLen | : If received, the SENSB_RES length
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_TIMEOUT : Timeout error
ERR_PAR : Parity error detected
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_NONE : No error, SEL_RES received
ReturnCode rfalNfcbPollerSlottedCollisionResolution | ( | rfalComplianceMode | compMode,
 |  | uint8_t | devLimit,
 |  | rfalNfcbSlots | initSlots,
 |  | rfalNfcbSlots | endSlots,
 |  | rfalNfcbListenDevice * | nfcbDevList,
 |  | uint8_t * | devCnt,
 |  | bool * | colPending
 | ) |  |

NFC-B Collision resolution Listener device/card (PICC). The sequence can be configured to be according to NFC Forum Activity 1.1 9.3.5, ISO10373 or EMVCo

This function is used to perform collision resolution for detection in case of multiple NFC Forum Devices with Technology B are detected. Target with valid SENSB_RES will be stored in devInfo and nfcbDevCount incremented.

This method provides the means to perform a collision resolution loop with specific initial and end number of slots. This allows to user to start the loop already with greater number of slots, and or limit the end number of slots. At the end a flag indicating whether there were collisions pending is returned.

If RFAL_COMPLIANCE_MODE_ISO is used initSlots must be set to RFAL_NFCB_SLOT_NUM_1

Parameters
[in] | compMode | : compliance mode to be performed
[in] | devLimit | : device limit value, and size nfcbDevList
[in] | initSlots | : number of slots to open initially
[in] | endSlots | : number of slots when to stop collision resolution
[out] | nfcbDevList | : NFC-B listener device info
[out] | devCnt | : devices found counter
[out] | colPending | : flag indicating whether collision are still pending
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_PROTO : Protocol error detected
ERR_NONE : No error
ReturnCode rfalNfcbPollerTechnologyDetection | ( | rfalComplianceMode | compMode,
 |  | rfalNfcbSensbRes * | sensbRes,
 |  | uint8_t * | sensbResLen
 | ) |  |

This method performs NFC-B Technology Detection as defined in the spec given in the compliance mode

Parameters
[in] | compMode | : compliance mode to be performed
[out] | sensbRes | : location to store the SENSB_RES, if received
[out] | sensbResLen | : length of the SENSB_RES, if received
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_NONE : No error, one or more device in the field
Examples:
exampleRfalPoller.c.
uint32_t rfalNfcbTR2ToFDT ( uint8_t tr2Code )

Converts the TR2 code as defined in Digital 1.1 Table 33 Minimum TR2 Coding to Frame Delay Time (FDT) in 1/Fc

Parameters
[in] tr2Code : TR2 code as defined in Digital 1.1 Table 33
Returns
FDT in 1/Fc
Generated on Wed May 20 2020 18:07:14 for RFAL by doxygen 1.8.6


RFAL: rfalNfcbSensbResAppData Struct Reference

Data Fields
rfalNfcbSensbResAppData Struct Reference
NFC-B

#include <rfal_nfcb.h>

Data Fields

uint8_t | AFI
uint8_t | CRC_B [RFAL_NFCB_CRC_LEN]
uint8_t | numApps

Detailed Description

SENSB_RES (ATQB) Application Data Format Digital 1.1 Table 28

Field Documentation

uint8_t rfalNfcbSensbResAppData::AFI

Application Family Identifier

uint8_t rfalNfcbSensbResAppData::CRC_B[RFAL_NFCB_CRC_LEN]

CRC_B of AID

uint8_t rfalNfcbSensbResAppData::numApps

Number of Applications

The documentation for this struct was generated from the following file:
  • rfal_nfcb.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalNfcbSensbResProtocolInfo Struct Reference

Data Fields
rfalNfcbSensbResProtocolInfo Struct Reference
NFC-B

#include <rfal_nfcb.h>

Data Fields

uint8_t | BRC
uint8_t | FsciProType
uint8_t | FwiAdcFo
uint8_t | SFGI

Detailed Description

SENSB_RES Protocol Info format Digital 1.1 Table 29

Field Documentation

uint8_t rfalNfcbSensbResProtocolInfo::BRC

Bit Rate Capability

uint8_t rfalNfcbSensbResProtocolInfo::FsciProType

Frame Size Card Integer [4b] | Protocol Type[4 bits]

uint8_t rfalNfcbSensbResProtocolInfo::FwiAdcFo

Frame Waiting Integer [4b] | Application Data Coding [2b] | Frame Options [2b]

uint8_t rfalNfcbSensbResProtocolInfo::SFGI

Optional: Start-Up Frame Guard Time Integer[4b] | RFU [4b]

The documentation for this struct was generated from the following file:
  • rfal_nfcb.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalNfcbSensbRes Struct Reference

Data Fields
rfalNfcbSensbRes Struct Reference
NFC-B

#include <rfal_nfcb.h>

Collaboration diagram for rfalNfcbSensbRes:
[legend]

Data Fields

uint8_t | cmd
uint8_t | nfcid0 [RFAL_NFCB_NFCID0_LEN]
rfalNfcbSensbResAppData appData
rfalNfcbSensbResProtocolInfo protInfo

Detailed Description

SENSB_RES format Digital 1.1 7.6.2

Examples:
exampleRfalPoller.c.

Field Documentation

rfalNfcbSensbResAppData rfalNfcbSensbRes::appData

Application Data

uint8_t rfalNfcbSensbRes::cmd

SENSB_RES: 50h

uint8_t rfalNfcbSensbRes::nfcid0[RFAL_NFCB_NFCID0_LEN]

NFC Identifier (PUPI)

rfalNfcbSensbResProtocolInfo rfalNfcbSensbRes::protInfo

Protocol Information

The documentation for this struct was generated from the following file:
  • rfal_nfcb.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalNfcbListenDevice Struct Reference

Data Fields
rfalNfcbListenDevice Struct Reference
NFC-B

#include <rfal_nfcb.h>

Collaboration diagram for rfalNfcbListenDevice:
[legend]

Data Fields

uint8_t | sensbResLen
rfalNfcbSensbRes sensbRes
bool | isSleep

Detailed Description

NFC-B listener device (PICC) struct

Examples:
exampleRfalPoller.c.

Field Documentation

bool rfalNfcbListenDevice::isSleep

Device sleeping flag

rfalNfcbSensbRes rfalNfcbListenDevice::sensbRes

SENSB_RES

uint8_t rfalNfcbListenDevice::sensbResLen

SENSB_RES length

The documentation for this struct was generated from the following file:
  • rfal_nfcb.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: NFC-DEP

Data Structures | Macros | Typedefs | Enumerations | Functions
NFC-DEP
RFAL-AL

RFAL NFC-DEP Module. More...

Collaboration diagram for NFC-DEP:

Data Structures

struct | rfalNfcDepConfigs
struct | rfalNfcDepAtrReq
struct | rfalNfcDepAtrRes
struct | rfalNfcDepBufFormat
struct | rfalNfcDepPduBufFormat
union | rfalNfcDepActivation
struct | rfalNfcDepInfo
struct | rfalNfcDepDevice
struct | rfalNfcDepAtrParam
struct | rfalNfcDepListenActvParam
struct | rfalNfcDepTargetParam
struct | rfalNfcDepTxRxParam
struct | rfalNfcDepPduTxRxParam

Macros

#define | RFAL_FEATURE_NFC_DEP false
#define | RFAL_FEATURE_NFC_DEP_BLOCK_MAX_LEN 1U
#define | RFAL_FEATURE_NFC_DEP_PDU_MAX_LEN 1U
#define | RFAL_NFCDEP_FRAME_SIZE_MAX_LEN 254U
#define | RFAL_NFCDEP_DEPREQ_HEADER_LEN 5U
#define | RFAL_NFCDEP_DEP_HEADER ( RFAL_NFCDEP_LEN_LEN + RFAL_NFCDEP_CMDTYPE_LEN + RFAL_NFCDEP_CMD_LEN + RFAL_NFCDEP_DEP_PFB_LEN )
#define | RFAL_NFCDEP_HEADER ( RFAL_NFCDEP_CMDTYPE_LEN + RFAL_NFCDEP_CMD_LEN )
#define | RFAL_NFCDEP_SB_LEN 1U
#define | RFAL_NFCDEP_LEN_LEN 1U
#define | RFAL_NFCDEP_CMDTYPE_LEN 1U
#define | RFAL_NFCDEP_CMD_LEN 1U
#define | RFAL_NFCDEP_DID_LEN 1U
#define | RFAL_NFCDEP_DEP_PFB_LEN 1U
#define | RFAL_NFCDEP_DSL_RLS_LEN_NO_DID (RFAL_NFCDEP_LEN_LEN + RFAL_NFCDEP_CMDTYPE_LEN + RFAL_NFCDEP_CMD_LEN)
#define | RFAL_NFCDEP_DSL_RLS_LEN_DID (RFAL_NFCDEP_DSL_RLS_LEN_NO_DID + RFAL_NFCDEP_DID_LEN)
#define | RFAL_NFCDEP_FS_VAL_MIN 64U
#define | RFAL_NFCDEP_LR_VAL_MASK 0x03U
#define | RFAL_NFCDEP_PP_LR_MASK 0x30U
#define | RFAL_NFCDEP_PP_LR_SHIFT 4U
#define | RFAL_NFCDEP_DID_MAX 14U
#define | RFAL_NFCDEP_DID_KEEP 0xFFU
#define | RFAL_NFCDEP_DID_NO 0x00U
#define | RFAL_NFCDEP_NAD_NO 0x00U
#define | RFAL_NFCDEP_OPER_RTOX_REQ_DIS 0x01U
#define | RFAL_NFCDEP_OPER_RTOX_REQ_EN 0x00U
#define | RFAL_NFCDEP_OPER_ATN_DIS 0x00U
#define | RFAL_NFCDEP_OPER_ATN_EN 0x02U
#define | RFAL_NFCDEP_OPER_EMPTY_DEP_DIS 0x04U
#define | RFAL_NFCDEP_OPER_EMPTY_DEP_EN 0x00U
#define | RFAL_NFCDEP_OPER_FULL_MI_DIS 0x00U
#define | RFAL_NFCDEP_OPER_FULL_MI_EN 0x08U
#define | RFAL_NFCDEP_BRS_MAINTAIN 0xC0U
#define | RFAL_NFCDEP_BRS_Dx_MASK 0x07U
#define | RFAL_NFCDEP_BRS_DSI_POS 3U
#define | RFAL_NFCDEP_WT_DELTA (16U - RFAL_NFCDEP_WT_DELTA_ADJUST)
#define | RFAL_NFCDEP_WT_DELTA_ADJUST 4U
#define | RFAL_NFCDEP_ATR_REQ_NFCID3_POS 2U
#define | RFAL_NFCDEP_NFCID3_LEN 10U
#define | RFAL_NFCDEP_LEN_MIN 3U
#define | RFAL_NFCDEP_LEN_MAX 255U
#define | RFAL_NFCDEP_ATRRES_HEADER_LEN 2U
#define | RFAL_NFCDEP_ATRRES_MIN_LEN 17U
#define | RFAL_NFCDEP_ATRRES_MAX_LEN 64U
#define | RFAL_NFCDEP_ATRREQ_MIN_LEN 16U
#define | RFAL_NFCDEP_ATRREQ_MAX_LEN RFAL_NFCDEP_ATRRES_MAX_LEN
#define | RFAL_NFCDEP_GB_MAX_LEN (RFAL_NFCDEP_ATRREQ_MAX_LEN - RFAL_NFCDEP_ATRREQ_MIN_LEN)
#define | RFAL_NFCDEP_WT_INI_DEFAULT RFAL_NFCDEP_WT_INI_MAX
#define | RFAL_NFCDEP_WT_INI_MIN 0U
#define | RFAL_NFCDEP_WT_INI_MAX 14U
#define | RFAL_NFCDEP_RWT_INI_MAX rfalNfcDepWT2RWT( RFAL_NFCDEP_WT_INI_MAX )
#define | RFAL_NFCDEP_WT_TRG_MAX_D10 8U
#define | RFAL_NFCDEP_WT_TRG_MAX_D11 14U
#define | RFAL_NFCDEP_WT_TRG_MAX_L13 10U
#define | RFAL_NFCDEP_WT_TRG_MAX RFAL_NFCDEP_WT_TRG_MAX_D11
#define | RFAL_NFCDEP_RWT_TRG_MAX rfalNfcDepWT2RWT( RFAL_NFCDEP_WT_TRG_MAX )
#define | RFAL_NFCDEP_MAX_FWT ((uint32_t)1U<<20)
#define | RFAL_NFCDEP_WT_MASK 0x0FU
#define | RFAL_NFCDEP_BR_MASK_106 0x01U
#define | RFAL_NFCDEP_BR_MASK_212 0x02U
#define | RFAL_NFCDEP_BR_MASK_424 0x04U
#define | rfalNfcDepWT2RWT(wt) ( (uint32_t)1U << (((uint32_t)(wt) & RFAL_NFCDEP_WT_MASK) + 12U) )
#define | rfalNfcDepDx2BRS(br) ( (((uint8_t)(br) & RFAL_NFCDEP_BRS_Dx_MASK) << RFAL_NFCDEP_BRS_DSI_POS) | ((uint8_t)(br) & RFAL_NFCDEP_BRS_Dx_MASK) )
#define | rfalNfcDepBRS2DRI(brs) (uint8_t)( (uint8_t)(brs) & RFAL_NFCDEP_BRS_Dx_MASK )
#define | rfalNfcDepBRS2DSI(brs) (uint8_t)( ((uint8_t)(brs) >> RFAL_NFCDEP_BRS_DSI_POS) & RFAL_NFCDEP_BRS_Dx_MASK )
#define | rfalNfcDepPP2LR(PPx) ( ((uint8_t)(PPx) & RFAL_NFCDEP_PP_LR_MASK ) >> RFAL_NFCDEP_PP_LR_SHIFT)
#define | rfalNfcDepLR2PP(LRx) ( ((uint8_t)(LRx) << RFAL_NFCDEP_PP_LR_SHIFT) & RFAL_NFCDEP_PP_LR_MASK)
#define | rfalNfcDepLR2FS(LRx) (uint16_t)(MIN( (RFAL_NFCDEP_FS_VAL_MIN * ((uint16_t)(LRx) + 1U) ), RFAL_NFCDEP_FRAME_SIZE_MAX_LEN ))
#define | rfalNfcDepSetNFCID(dst, src, len)

Typedefs

typedef bool(* rfalNfcDepDeactCallback )(void)

Enumerations

enum {
RFAL_NFCDEP_Bx_NO_HIGH_BR = 0x00, RFAL_NFCDEP_Bx_08_848 = 0x01, RFAL_NFCDEP_Bx_16_1695 = 0x02, RFAL_NFCDEP_Bx_32_3390 = 0x04,
RFAL_NFCDEP_Bx_64_6780 = 0x08
}
enum {
RFAL_NFCDEP_Dx_01_106 = RFAL_BR_106, RFAL_NFCDEP_Dx_02_212 = RFAL_BR_212, RFAL_NFCDEP_Dx_04_424 = RFAL_BR_424, RFAL_NFCDEP_Dx_08_848 = RFAL_BR_848,
RFAL_NFCDEP_Dx_16_1695 = RFAL_BR_1695, RFAL_NFCDEP_Dx_32_3390 = RFAL_BR_3390, RFAL_NFCDEP_Dx_64_6780 = RFAL_BR_6780
}
enum | { RFAL_NFCDEP_LR_64 = 0x00, RFAL_NFCDEP_LR_128 = 0x01, RFAL_NFCDEP_LR_192 = 0x02, RFAL_NFCDEP_LR_254 = 0x03 }
enum | rfalNfcDepCommMode { RFAL_NFCDEP_COMM_PASSIVE, RFAL_NFCDEP_COMM_ACTIVE }
enum | rfalNfcDepRole { RFAL_NFCDEP_ROLE_INITIATOR, RFAL_NFCDEP_ROLE_TARGET }

Functions

void | rfalNfcDepInitialize (void)
NFCIP Initialize. More...
void | rfalNfcDepSetDeactivatingCallback (rfalNfcDepDeactCallback pFunc)
Set deactivating callback. More...
uint32_t | rfalNfcDepCalculateRWT (uint8_t wt)
Calculate Response Waiting Time. More...
ReturnCode | rfalNfcDepATR (const rfalNfcDepAtrParam *param, rfalNfcDepAtrRes *atrRes, uint8_t *atrResLen)
NFC-DEP Initiator ATR (Attribute Request) More...
ReturnCode | rfalNfcDepPSL (uint8_t BRS, uint8_t FSL)
NFC-DEP Initiator PSL (Parameter Selection) More...
ReturnCode | rfalNfcDepDSL (void)
NFC-DEP Initiator DSL (Deselect) More...
ReturnCode | rfalNfcDepRLS (void)
NFC-DEP Initiator RLS (Release) More...
ReturnCode | rfalNfcDepInitiatorHandleActivation (rfalNfcDepAtrParam *param, rfalBitRate desiredBR, rfalNfcDepDevice *nfcDepDev)
NFC-DEP Initiator Handle Activation. More...
bool | rfalNfcDepIsAtrReq (const uint8_t *buf, uint16_t bufLen, uint8_t *nfcid3)
Check if buffer contains valid ATR_REQ. More...
bool | rfalNfcDepTargetRcvdATR (void)
Check is Target has received ATR. More...
ReturnCode | rfalNfcDepListenStartActivation (const rfalNfcDepTargetParam *param, const uint8_t *atrReq, uint16_t atrReqLength, rfalNfcDepListenActvParam rxParam)
NFCDEP Start Listen Activation Handling. More...
ReturnCode | rfalNfcDepListenGetActivationStatus (void)
Get the current NFC-DEP Activation Status. More...
ReturnCode | rfalNfcDepStartTransceive (const rfalNfcDepTxRxParam *param)
Start Transceive. More...
ReturnCode | rfalNfcDepGetTransceiveStatus (void)
Return the Transceive status. More...
ReturnCode | rfalNfcDepStartPduTransceive (rfalNfcDepPduTxRxParam param)
Start PDU Transceive. More...
ReturnCode | rfalNfcDepGetPduTransceiveStatus (void)
Return the PSU Transceive status. More...

Detailed Description

Macro Definition Documentation

#define RFAL_FEATURE_NFC_DEP false

NFC-DEP module configuration missing. Disabled by default

#define RFAL_FEATURE_NFC_DEP_BLOCK_MAX_LEN 1U

NFC-DEP Block/Payload length, set to "none"

#define RFAL_FEATURE_NFC_DEP_PDU_MAX_LEN 1U

NFC-DEP PDU length, set to "none"

#define RFAL_NFCDEP_ATR_REQ_NFCID3_POS 2U

NFCID3 offset in ATR_REQ frame

#define RFAL_NFCDEP_ATRREQ_MAX_LEN RFAL_NFCDEP_ATRRES_MAX_LEN

Maximum length for an ATR REQ Digital 1.0 14.6.1

#define RFAL_NFCDEP_ATRREQ_MIN_LEN 16U

Minimum length for an ATR REQ

#define RFAL_NFCDEP_ATRRES_HEADER_LEN 2U

ATR RES Header Len: CmdType: 0xD5 + Cod: 0x01

#define RFAL_NFCDEP_ATRRES_MAX_LEN 64U

Maximum length for an ATR RES Digital 1.0 14.6.1

#define RFAL_NFCDEP_ATRRES_MIN_LEN 17U

Minimum length for an ATR RES

#define RFAL_NFCDEP_BR_MASK_106 0x01U

Enable mask bit rate 106

#define RFAL_NFCDEP_BR_MASK_212 0x02U

Enable mask bit rate 242

#define RFAL_NFCDEP_BR_MASK_424 0x04U

Enable mask bit rate 424

#define RFAL_NFCDEP_BRS_DSI_POS 3U

Value signalling that BR is to be maintained (no PSL)

#define RFAL_NFCDEP_BRS_Dx_MASK 0x07U

Value signalling that BR is to be maintained (no PSL)

#define RFAL_NFCDEP_BRS_MAINTAIN 0xC0U

Value signalling that BR is to be maintained (no PSL)

#define RFAL_NFCDEP_CMD_LEN 1U

Length of the cmd on NFCIP frame

#define RFAL_NFCDEP_CMDTYPE_LEN 1U

Length of the cmd type (REQ | RES) on NFCIP frame

#define RFAL_NFCDEP_DEP_HEADER ( RFAL_NFCDEP_LEN_LEN + RFAL_NFCDEP_CMDTYPE_LEN + RFAL_NFCDEP_CMD_LEN + RFAL_NFCDEP_DEP_PFB_LEN )

Length NFCIP DEP REQ or RES header (incl LEN)

#define RFAL_NFCDEP_DEP_PFB_LEN 1U

Length of the PFB field on NFCIP frame

#define RFAL_NFCDEP_DEPREQ_HEADER_LEN 5U

DEP_REQ header length: CMD_TYPE + CMD_CMD + PBF + DID + NAD

#define RFAL_NFCDEP_DID_KEEP 0xFFU

Keep DID value already configured

Examples:
exampleRfalPoller.c.
#define RFAL_NFCDEP_DID_LEN 1U

Length of did on NFCIP frame

#define RFAL_NFCDEP_DID_MAX 14U

Max DID value Digital 14.6.2.3

#define RFAL_NFCDEP_DID_NO 0x00U

No DID shall be used

Examples:
exampleRfalPoller.c.
#define RFAL_NFCDEP_DSL_RLS_LEN_DID (RFAL_NFCDEP_DSL_RLS_LEN_NO_DID + RFAL_NFCDEP_DID_LEN)

Length of DSL_REQ and RLS_REQ with DID

#define RFAL_NFCDEP_DSL_RLS_LEN_NO_DID (RFAL_NFCDEP_LEN_LEN + RFAL_NFCDEP_CMDTYPE_LEN + RFAL_NFCDEP_CMD_LEN)

Length of DSL_REQ and RLS_REQ with no DID

#define RFAL_NFCDEP_FRAME_SIZE_MAX_LEN 254U

Maximum Frame Size Digital 2.0 Table 90

#define RFAL_NFCDEP_FS_VAL_MIN 64U

Minimum LR value

#define RFAL_NFCDEP_GB_MAX_LEN (RFAL_NFCDEP_ATRREQ_MAX_LEN - RFAL_NFCDEP_ATRREQ_MIN_LEN)

Maximum length the General Bytes on ATR Digital 1.1 16.6.3

#define RFAL_NFCDEP_HEADER ( RFAL_NFCDEP_CMDTYPE_LEN + RFAL_NFCDEP_CMD_LEN )

NFCIP header length

#define RFAL_NFCDEP_LEN_LEN 1U

LEN length on NFCIP frame

#define RFAL_NFCDEP_LEN_MAX 255U

Maximum length byte LEN value

#define RFAL_NFCDEP_LEN_MIN 3U

Minimum length byte LEN value

#define RFAL_NFCDEP_LR_VAL_MASK 0x03U

Bit mask for a LR value

#define RFAL_NFCDEP_MAX_FWT ((uint32_t)1U<<20)

Maximum Frame Waiting Time = ((256 * 16/fc)*2^FWImax) = ((256*16/fc)*2^14) = (1048576 / 64)/fc = (100000h*64)/fc

#define RFAL_NFCDEP_NAD_NO 0x00U

No NAD shall be used

Examples:
exampleRfalPoller.c.
#define RFAL_NFCDEP_NFCID3_LEN 10U

NFCID3 Length

Examples:
exampleRfalPoller.c.
#define RFAL_NFCDEP_OPER_ATN_DIS 0x00U

Operation config: ATN disable

#define RFAL_NFCDEP_OPER_ATN_EN 0x02U

Operation config: ATN enable

Examples:
exampleRfalPoller.c.
#define RFAL_NFCDEP_OPER_EMPTY_DEP_DIS 0x04U

Operation config: empty DEPs disable

Examples:
exampleRfalPoller.c.
#define RFAL_NFCDEP_OPER_EMPTY_DEP_EN 0x00U

Operation config: empty DEPs enable

#define RFAL_NFCDEP_OPER_FULL_MI_DIS 0x00U

Operation config: full chaining DEPs disable

#define RFAL_NFCDEP_OPER_FULL_MI_EN 0x08U

Operation config: full chaining DEPs enable

Examples:
exampleRfalPoller.c.
#define RFAL_NFCDEP_OPER_RTOX_REQ_DIS 0x01U

Operation config: RTOX REQ disable

#define RFAL_NFCDEP_OPER_RTOX_REQ_EN 0x00U

Operation config: RTOX REQ enable

Examples:
exampleRfalPoller.c.
#define RFAL_NFCDEP_PP_LR_MASK 0x30U

Bit mask for LR value in PP byte on a ATR REQ/RES

#define RFAL_NFCDEP_PP_LR_SHIFT 4U

Position of LR value in PP byte on a ATR REQ/RES

#define RFAL_NFCDEP_RWT_INI_MAX rfalNfcDepWT2RWT( RFAL_NFCDEP_WT_INI_MAX )

RWT Initiator maximum value

#define RFAL_NFCDEP_RWT_TRG_MAX rfalNfcDepWT2RWT( RFAL_NFCDEP_WT_TRG_MAX )

RWT Initiator maximum value

#define RFAL_NFCDEP_SB_LEN 1U

SB length on NFCIP fram for NFC-A

#define RFAL_NFCDEP_WT_DELTA (16U - RFAL_NFCDEP_WT_DELTA_ADJUST)

NFC-DEP dWRT (adjusted) Digital 2.0 B.10

#define RFAL_NFCDEP_WT_DELTA_ADJUST 4U

dWRT value adjustment

#define RFAL_NFCDEP_WT_INI_DEFAULT RFAL_NFCDEP_WT_INI_MAX

WT Initiator default value Digital 1.0 14.6.3.8

#define RFAL_NFCDEP_WT_INI_MAX 14U

WT Initiator maximum value Digital 1.0 14.6.3.8 A.10

#define RFAL_NFCDEP_WT_INI_MIN 0U

WT Initiator minimum value Digital 1.0 14.6.3.8

#define RFAL_NFCDEP_WT_MASK 0x0FU

Bit mask for the Wait Time value

#define RFAL_NFCDEP_WT_TRG_MAX RFAL_NFCDEP_WT_TRG_MAX_D11

WT target max Digital x.x | LLCP x.x

#define RFAL_NFCDEP_WT_TRG_MAX_D10 8U

WT target max Digital 1.0 14.6.3.8 A.10

#define RFAL_NFCDEP_WT_TRG_MAX_D11 14U

WT target max Digital 1.1 16.6.3.9 A.9

#define RFAL_NFCDEP_WT_TRG_MAX_L13 10U

WT target max [LLCP] 1.3 6.2.1

#define rfalNfcDepBRS2DRI ( brs ) (uint8_t)( (uint8_t)(brs) & RFAL_NFCDEP_BRS_Dx_MASK )

Returns the DRI value from the given BRS byte

#define rfalNfcDepBRS2DSI ( brs ) (uint8_t)( ((uint8_t)(brs) >> RFAL_NFCDEP_BRS_DSI_POS) & RFAL_NFCDEP_BRS_Dx_MASK )

Returns the DSI value from the given BRS byte

#define rfalNfcDepDx2BRS ( br ) ( (((uint8_t)(br) & RFAL_NFCDEP_BRS_Dx_MASK) << RFAL_NFCDEP_BRS_DSI_POS) | ((uint8_t)(br) & RFAL_NFCDEP_BRS_Dx_MASK) )

Returns the BRS value from the given bit rate

#define rfalNfcDepLR2FS ( LRx ) (uint16_t)(MIN( (RFAL_NFCDEP_FS_VAL_MIN * ((uint16_t)(LRx) + 1U) ), RFAL_NFCDEP_FRAME_SIZE_MAX_LEN ))

Returns the Frame size value from the given LRx value

Examples:
exampleRfalPoller.c.
#define rfalNfcDepLR2PP ( LRx ) ( ((uint8_t)(LRx) << RFAL_NFCDEP_PP_LR_SHIFT) & RFAL_NFCDEP_PP_LR_MASK)

Returns the PP byte with the given LRx value

#define rfalNfcDepPP2LR ( PPx ) ( ((uint8_t)(PPx) & RFAL_NFCDEP_PP_LR_MASK ) >> RFAL_NFCDEP_PP_LR_SHIFT)

Returns the LR value from the given PPx byte

Examples:
exampleRfalPoller.c.
#define rfalNfcDepSetNFCID | ( | dst,
 |  | src,
 |  | len
 | ) |
Value:
ST_MEMSET( (dst), 0x00, RFAL_NFCDEP_NFCID3_LEN ); \
if( (len) > 0U ) {ST_MEMCPY( (dst), (src), (len) );}
RFAL_NFCDEP_NFCID3_LEN
#define RFAL_NFCDEP_NFCID3_LEN
Definition: rfal_nfcDep.h:141

Despite DIGITAL 1.0 14.6.2.1 stating that the last two bytes may filled with any value, some devices (Samsung Google Nexus) only accept when these are 0

#define rfalNfcDepWT2RWT ( wt ) ( (uint32_t)1U << (((uint32_t)(wt) & RFAL_NFCDEP_WT_MASK) + 12U) )

Converts WT value to RWT (1/fc)

Typedef Documentation

typedef bool(* rfalNfcDepDeactCallback)(void)

NFC-DEP callback to check if upper layer has deactivation pending

Enumeration Type Documentation

anonymous enum

Enumeration of NFC-DEP bit rate Dividor in PSL Digital 1.0 Table 100

Enumerator
RFAL_NFCDEP_Dx_01_106 | Divisor D = 1 : bit rate = 106
RFAL_NFCDEP_Dx_02_212 | Divisor D = 2 : bit rate = 212
RFAL_NFCDEP_Dx_04_424 | Divisor D = 4 : bit rate = 424
RFAL_NFCDEP_Dx_08_848 | Divisor D = 8 : bit rate = 848
RFAL_NFCDEP_Dx_16_1695 | Divisor D = 16 : bit rate = 1695
RFAL_NFCDEP_Dx_32_3390 | Divisor D = 32 : bit rate = 3390
RFAL_NFCDEP_Dx_64_6780 | Divisor D = 64 : bit rate = 6780
anonymous enum

Enumeration of NFC-DEP Length Reduction (LR) Digital 1.0 Table 91

Enumerator
RFAL_NFCDEP_LR_64 | Maximum payload size is 64 bytes
RFAL_NFCDEP_LR_128 | Maximum payload size is 128 bytes
RFAL_NFCDEP_LR_192 | Maximum payload size is 192 bytes
RFAL_NFCDEP_LR_254 | Maximum payload size is 254 bytes
anonymous enum

Enumeration of NFC-DEP bit rate in ATR Digital 1.0 Table 93 and 94

Enumerator
RFAL_NFCDEP_Bx_NO_HIGH_BR | Peer supports no high bit rates
RFAL_NFCDEP_Bx_08_848 | Peer also supports 848
RFAL_NFCDEP_Bx_16_1695 | Peer also supports 1695
RFAL_NFCDEP_Bx_32_3390 | Peer also supports 3390
RFAL_NFCDEP_Bx_64_6780 | Peer also supports 6780
enum rfalNfcDepCommMode

Enumeration of the nfcip communication modes

Enumerator
RFAL_NFCDEP_COMM_PASSIVE | Passive communication mode
RFAL_NFCDEP_COMM_ACTIVE | Active communication mode
enum rfalNfcDepRole

Enumeration of the nfcip roles

Enumerator
RFAL_NFCDEP_ROLE_INITIATOR | Perform as Initiator
RFAL_NFCDEP_ROLE_TARGET | Perform as Target

Function Documentation

ReturnCode rfalNfcDepATR | ( | const rfalNfcDepAtrParam * | param,
 |  | rfalNfcDepAtrRes * | atrRes,
 |  | uint8_t * | atrResLen
 | ) |  |

This method configures the NFC-DEP layer with given parameters and then sends an ATR to the Target with and checks for a valid response response

Parameters
[in] | param | : parameters to initialize and compose the ATR
[out] | atrRes | : location to store the ATR_RES
[out] | atrResLen | : length of the ATR_RES received
Returns
ERR_NONE : No error
ERR_TIMEOUT : Timeout occurred
ERR_PROTO : Protocol error occurred
uint32_t rfalNfcDepCalculateRWT ( uint8_t wt )

Calculates the Response Waiting Time (RWT) from the given Waiting Time (WT)

Parameters
[in] wt : the WT value to calculate RWT
Returns
RWT value in 1/fc
ReturnCode rfalNfcDepDSL ( void )

This method checks if the NFCIP module is configured as initiator and if so sends a DSL REQ, waits the target's response and checks it

In case of performing as target no action is taken

Returns
ERR_NONE : No error
ERR_TIMEOUT : Timeout occurred
ERR_MAX_RERUNS : Timeout occurred
ERR_PROTO : Protocol error occurred
ReturnCode rfalNfcDepGetPduTransceiveStatus ( void )

Returns the status of the NFC-DEP PDU Transceive

Returns
ERR_NONE : Transceive has been completed successfully
ERR_BUSY : Transceive is ongoing
ERR_PROTO : Protocol error occurred
ERR_TIMEOUT : Timeout error occurred
ERR_SLEEP_REQ : Deselect has been received and responded
ERR_NOMEM : The received I-PDU does not fit into the receive buffer
ERR_LINK_LOSS : Communication is lost because Reader/Writer has turned off its field
ReturnCode rfalNfcDepGetTransceiveStatus ( void )

Returns the status of the NFC-DEP Transceive

Warning
When the other device is performing chaining once a chained block is received the error ERR_AGAIN is sent. At this point caller must handle the received data immediately. When ERR_AGAIN is returned an ACK has already been sent to the other device and the next block might be incoming. If rfalWorker() is called frequently it will place the next block on the given buffer
Returns
ERR_NONE : Transceive has been completed successfully
ERR_BUSY : Transceive is ongoing
ERR_PROTO : Protocol error occurred
ERR_TIMEOUT : Timeout error occurred
ERR_SLEEP_REQ : Deselect has been received and responded
ERR_NOMEM : The received I-PDU does not fit into the receive buffer
ERR_LINK_LOSS : Communication is lost because Reader/Writer has turned off its field
ERR_AGAIN : received one chaining block, continue to call this method to retrieve the remaining blocks
Examples:
exampleRfalPoller.c.
void rfalNfcDepInitialize ( void )

This method resets all NFC-DEP inner states, counters and context and sets default values

ReturnCode rfalNfcDepInitiatorHandleActivation | ( | rfalNfcDepAtrParam * | param,
 |  | rfalBitRate | desiredBR,
 |  | rfalNfcDepDevice * | nfcDepDev
 | ) |  |

This performs a Activation into NFC-DEP layer with the given parameters. It sends ATR_REQ and if the higher bit rates are supported by both devices it additionally sends PSL Once Activated all details of the device are provided on nfcDepDev

Parameters
[in] | param | : required parameters to initialize and send ATR_REQ
[in] | desiredBR | : Desired bit rate supported by the Poller
[out] | nfcDepDev | : NFC-DEP information of the activated Listen device
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_TIMEOUT : Timeout error
ERR_PAR : Parity error detected
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_NONE : No error, activation successful
Examples:
exampleRfalPoller.c.
bool rfalNfcDepIsAtrReq | ( | const uint8_t * | buf,
 |  | uint16_t | bufLen,
 |  | uint8_t * | nfcid3
 | ) |  |

This method checks if the given ATR_REQ is valid

Parameters
[in] | buf | : buffer holding Initiator's received request
[in] | bufLen | : size of the msg contained on the buf in Bytes
[out] | nfcid3 | : pointer to where the NFCID3 may be outputed, nfcid3 has NFCF_SENSF_NFCID3_LEN as length Pass NULL if output parameter not desired
Returns
true : Valid ATR_REQ received, the ATR_RES has been computed in txBuf
false : Invalid protocol request
ReturnCode rfalNfcDepListenGetActivationStatus ( void )
Returns
ERR_NONE : Activation has completed successfully
ERR_BUSY : Activation is ongoing
ERR_LINK_LOSS : Remote Field was turned off
ReturnCode rfalNfcDepListenStartActivation | ( | const rfalNfcDepTargetParam * | param,
 |  | const uint8_t * | atrReq,
 |  | uint16_t | atrReqLength,
 |  | rfalNfcDepListenActvParam | rxParam
 | ) |  |

Start Activation Handling and setup to receive first frame which may contain complete or partial DEP-REQ after activation is completed

Pass in ATR_REQ for NFC-DEP to handle ATR_RES. The Activation Handling handles ATR_RES and PSL_RES if a PSL_REQ is received

Activation is completed if PSL_RES is sent or if first I-PDU is received

rfalNfcDepListenGetActivationStatus() provide status of the ongoing activation

Warning
nfcDepGetTransceiveStatus() shall be called right after activation is completed (i.e. rfalNfcDepListenGetActivationStatus() return ERR_NONE) to check for first received frame.
Parameters
[in] | param | : Target parameters to be used
[in] | atrReq | : reference to buffer containing ATR_REQ
[in] | atrReqLength | Length of ATR_REQ
[out] | rxParam | : references to buffer, length and chaining indication for first complete LLCP to be received
Returns
ERR_NONE : ATR_REQ is valid and activation ongoing
ERR_PARAM : ATR_REQ or other params are invalid
ERR_LINK_LOSS : Remote Field is turned off
ReturnCode rfalNfcDepPSL | ( | uint8_t | BRS,
 |  | uint8_t | FSL
 | ) |  |

This method sends a PSL to the Target with the given parameters and checks for a valid response response

The parameters must be coded according to Digital 1.1 16.7.1

Parameters
[in] | BRS | : the selected Bit Rates for Initiator and Target
[in] | FSL | : the maximum length of Commands and Responses
Returns
ERR_NONE : No error
ERR_TIMEOUT : Timeout occurred
ERR_PROTO : Protocol error occurred
ReturnCode rfalNfcDepRLS ( void )

This method checks if the NFCIP module is configured as initiator and if so sends a RLS REQ, waits target's response and checks it

In case of performing as target no action is taken

Returns
ERR_NONE : No error
ERR_TIMEOUT : Timeout occurred
ERR_MAX_RERUNS : Timeout occurred
ERR_PROTO : Protocol error occurred
Examples:
exampleRfalPoller.c.
void rfalNfcDepSetDeactivatingCallback ( rfalNfcDepDeactCallback pFunc )

Sets the deactivating callback so that nfcip layer can check if upper layer has a deactivation pending, and not perform error recovery upon specific errors

Parameters
[in] pFunc : method pointer to deactivation flag check
ReturnCode rfalNfcDepStartPduTransceive ( rfalNfcDepPduTxRxParam param )

This method triggers a NFC-DEP Transceive containing a complete PDU It transmits the given message and handles all protocol retransmitions, error handling and control messages

The txBuf contains a complete PDU to be transmitted The Prologue field will be manipulated by the Transceive

Warning
the txBuf will be modified during the transmission
the maximum RF frame which can be received is limited by param.tmpBuf
Parameters
[in] param reference parameters to be used for the Transceive
Returns
ERR_PARAM : Bad request
ERR_WRONG_STATE : The module is not in a proper state
ERR_NONE : The Transceive request has been started
ReturnCode rfalNfcDepStartTransceive ( const rfalNfcDepTxRxParam * param )

Transceives a complete or partial DEP block

The txBuf contains complete or partial of DEP to be transmitted. The Prologue field of the I-PDU is handled internally

If the buffer contains partial LLCP and is not the last block, then isTxChaining must be set to true

Parameters
[in] param reference parameters to be used for the Transceive
Returns
ERR_PARAM : Bad request
ERR_WRONG_STATE : The module is not in a proper state
ERR_NONE : The Transceive request has been started
Examples:
exampleRfalPoller.c.
bool rfalNfcDepTargetRcvdATR ( void )

This method checks if the NFCIP module is configured as target and if a ATR REQ has been received ( whether is in activation or in data exchange)

Returns
true : a ATR has already been received
false : no ATR has been received
Generated on Wed May 20 2020 18:07:14 for RFAL by doxygen 1.8.6


RFAL: rfalNfcDepConfigs Struct Reference

Data Fields
rfalNfcDepConfigs Struct Reference
NFC-DEP

#include <rfal_nfcDep.h>

Data Fields

rfalNfcDepRole role
rfalNfcDepCommMode commMode
uint8_t | oper
uint8_t | did
uint8_t | nad
uint8_t | bs
uint8_t | br
uint8_t | nfcid [RFAL_NFCDEP_NFCID3_LEN]
uint8_t | nfcidLen
uint8_t | gb [RFAL_NFCDEP_GB_MAX_LEN]
uint8_t | gbLen
uint8_t | lr
uint8_t | to
uint32_t | fwt
uint32_t | dFwt

Detailed Description

Struct that holds all NFCIP configs

Field Documentation

uint8_t rfalNfcDepConfigs::br

Bit rate in Receiving Direction

uint8_t rfalNfcDepConfigs::bs

Bit rate in Sending Direction

rfalNfcDepCommMode rfalNfcDepConfigs::commMode

Current NFCIP communication mode

uint32_t rfalNfcDepConfigs::dFwt

Delta Frame Waiting Time (dFWT) to be used

uint8_t rfalNfcDepConfigs::did

Current Device ID (DID)

uint32_t rfalNfcDepConfigs::fwt

Frame Waiting Time (FWT) to be used

uint8_t rfalNfcDepConfigs::gb[RFAL_NFCDEP_GB_MAX_LEN]

Pointer General Bytes (GB) to be used

uint8_t rfalNfcDepConfigs::gbLen

Length of the given GB in gb

uint8_t rfalNfcDepConfigs::lr

Length Reduction (LR) to be used

uint8_t rfalNfcDepConfigs::nad

Current Node Addressing (NAD)

uint8_t rfalNfcDepConfigs::nfcid[RFAL_NFCDEP_NFCID3_LEN]

Pointer to the NFCID to be used

uint8_t rfalNfcDepConfigs::nfcidLen

Length of the given NFCID in nfcid

uint8_t rfalNfcDepConfigs::oper

Operation config similar to NCI 1.0 Table 81

rfalNfcDepRole rfalNfcDepConfigs::role

Current NFCIP role

uint8_t rfalNfcDepConfigs::to

Timeout (TO) to be used

The documentation for this struct was generated from the following file:
  • rfal_nfcDep.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalNfcDepAtrReq Struct Reference

Data Fields
rfalNfcDepAtrReq Struct Reference
NFC-DEP

#include <rfal_nfcDep.h>

Data Fields

uint8_t | CMD1
uint8_t | CMD2
uint8_t | NFCID3 [RFAL_NFCDEP_NFCID3_LEN]
uint8_t | DID
uint8_t | BSi
uint8_t | BRi
uint8_t | PPi
uint8_t | GBi [RFAL_NFCDEP_GB_MAX_LEN]

Detailed Description

ATR_REQ command Digital 1.1 16.6.2

Field Documentation

uint8_t rfalNfcDepAtrReq::BRi

Receiving Bitrate for Initiator

uint8_t rfalNfcDepAtrReq::BSi

Sending Bitrate for Initiator

uint8_t rfalNfcDepAtrReq::CMD1

Command format 0xD4

uint8_t rfalNfcDepAtrReq::CMD2

Command Value

uint8_t rfalNfcDepAtrReq::DID

DID

uint8_t rfalNfcDepAtrReq::GBi[RFAL_NFCDEP_GB_MAX_LEN]

General Bytes

uint8_t rfalNfcDepAtrReq::NFCID3[RFAL_NFCDEP_NFCID3_LEN]

NFCID3 value

uint8_t rfalNfcDepAtrReq::PPi

Optional Parameters presence indicator

The documentation for this struct was generated from the following file:
  • rfal_nfcDep.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalNfcDepAtrRes Struct Reference

Data Fields
rfalNfcDepAtrRes Struct Reference
NFC-DEP

#include <rfal_nfcDep.h>

Data Fields

uint8_t | CMD1
uint8_t | CMD2
uint8_t | NFCID3 [RFAL_NFCDEP_NFCID3_LEN]
uint8_t | DID
uint8_t | BSt
uint8_t | BRt
uint8_t | TO
uint8_t | PPt
uint8_t | GBt [RFAL_NFCDEP_GB_MAX_LEN]

Detailed Description

ATR_RES response Digital 1.1 16.6.3

Field Documentation

uint8_t rfalNfcDepAtrRes::BRt

Receiving Bitrate for Initiator

uint8_t rfalNfcDepAtrRes::BSt

Sending Bitrate for Initiator

uint8_t rfalNfcDepAtrRes::CMD1

Response Byte 0xD5

uint8_t rfalNfcDepAtrRes::CMD2

Command Value

uint8_t rfalNfcDepAtrRes::DID

DID

uint8_t rfalNfcDepAtrRes::GBt[RFAL_NFCDEP_GB_MAX_LEN]

General Bytes

uint8_t rfalNfcDepAtrRes::NFCID3[RFAL_NFCDEP_NFCID3_LEN]

NFCID3 value

uint8_t rfalNfcDepAtrRes::PPt

Optional Parameters presence indicator

uint8_t rfalNfcDepAtrRes::TO

Timeout

The documentation for this struct was generated from the following file:
  • rfal_nfcDep.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalNfcDepBufFormat Struct Reference

Data Fields
rfalNfcDepBufFormat Struct Reference
NFC-DEP

#include <rfal_nfcDep.h>

Data Fields

uint8_t | prologue [RFAL_NFCDEP_DEPREQ_HEADER_LEN]
uint8_t | inf [RFAL_FEATURE_NFC_DEP_BLOCK_MAX_LEN]

Detailed Description

Structure of transmit I-PDU Buffer format from caller

Examples:
exampleRfalPoller.c.

Field Documentation

uint8_t rfalNfcDepBufFormat::inf[RFAL_FEATURE_NFC_DEP_BLOCK_MAX_LEN]

INF | Data area of the buffer

uint8_t rfalNfcDepBufFormat::prologue[RFAL_NFCDEP_DEPREQ_HEADER_LEN]

Prologue space for NFC-DEP header

The documentation for this struct was generated from the following file:
  • rfal_nfcDep.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalNfcDepPduBufFormat Struct Reference

Data Fields
rfalNfcDepPduBufFormat Struct Reference
NFC-DEP

#include <rfal_nfcDep.h>

Data Fields

uint8_t | prologue [RFAL_NFCDEP_DEPREQ_HEADER_LEN]
uint8_t | pdu [RFAL_FEATURE_NFC_DEP_PDU_MAX_LEN]

Detailed Description

Structure of APDU Buffer format from caller

Field Documentation

uint8_t rfalNfcDepPduBufFormat::pdu[RFAL_FEATURE_NFC_DEP_PDU_MAX_LEN]

Complete PDU/Payload buffer

uint8_t rfalNfcDepPduBufFormat::prologue[RFAL_NFCDEP_DEPREQ_HEADER_LEN]

Prologue/SoD buffer

The documentation for this struct was generated from the following file:
  • rfal_nfcDep.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalNfcDepActivation Union Reference

Data Fields
rfalNfcDepActivation Union Reference
NFC-DEP

#include <rfal_nfcDep.h>

Collaboration diagram for rfalNfcDepActivation:
[legend]

Data Fields

struct {
rfalNfcDepAtrRes ATR_RES
uint8_t ATR_RESLen
} Target
struct {
rfalNfcDepAtrReq ATR_REQ
uint8_t ATR_REQLen
} Initiator

Detailed Description

Activation info as Initiator and Target

Field Documentation

rfalNfcDepAtrReq rfalNfcDepActivation::ATR_REQ

ATR REQ (Target mode)

uint8_t rfalNfcDepActivation::ATR_REQLen

ATR REQ length (Target mode)

rfalNfcDepAtrRes rfalNfcDepActivation::ATR_RES

ATR RES (Initiator mode)

uint8_t rfalNfcDepActivation::ATR_RESLen

ATR RES length (Initiator mode)

struct { ... } rfalNfcDepActivation::Initiator

Initiator

struct { ... } rfalNfcDepActivation::Target

Target

The documentation for this union was generated from the following file:
  • rfal_nfcDep.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalNfcDepInfo Struct Reference

Data Fields
rfalNfcDepInfo Struct Reference
NFC-DEP

#include <rfal_nfcDep.h>

Data Fields

uint8_t | GBLen
uint8_t | WT
uint32_t | FWT
uint32_t | dFWT
uint8_t | LR
uint16_t | FS
rfalBitRate DSI
rfalBitRate DRI
uint8_t | DID
uint8_t | NAD

Detailed Description

NFC-DEP device Info

Field Documentation

uint32_t rfalNfcDepInfo::dFWT

Delta FWT to be used (1/fc)

uint8_t rfalNfcDepInfo::DID

Device ID (RFAL_NFCDEP_DID_NO if no DID)

rfalBitRate rfalNfcDepInfo::DRI

Bit Rate coding from Target to Initiator

rfalBitRate rfalNfcDepInfo::DSI

Bit Rate coding from Initiator to Target

uint16_t rfalNfcDepInfo::FS

Frame Size

uint32_t rfalNfcDepInfo::FWT

FWT to be used (1/fc)(ignored Listen Mode)

uint8_t rfalNfcDepInfo::GBLen

General Bytes length

uint8_t rfalNfcDepInfo::LR

Length Reduction coding the max payload

uint8_t rfalNfcDepInfo::NAD

Node ADdress (RFAL_NFCDEP_NAD_NO if no NAD)

uint8_t rfalNfcDepInfo::WT

WT to be used (ignored in Listen Mode)

The documentation for this struct was generated from the following file:
  • rfal_nfcDep.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalNfcDepDevice Struct Reference

Data Fields
rfalNfcDepDevice Struct Reference
NFC-DEP

#include <rfal_nfcDep.h>

Collaboration diagram for rfalNfcDepDevice:
[legend]

Data Fields

rfalNfcDepActivation activation
rfalNfcDepInfo info

Detailed Description

NFC-DEP Device structure

Examples:
exampleRfalPoller.c.

Field Documentation

rfalNfcDepActivation rfalNfcDepDevice::activation

Activation Info

rfalNfcDepInfo rfalNfcDepDevice::info

NFC-DEP device Info

The documentation for this struct was generated from the following file:
  • rfal_nfcDep.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalNfcDepAtrParam Struct Reference

Data Fields
rfalNfcDepAtrParam Struct Reference
NFC-DEP

#include <rfal_nfcDep.h>

Data Fields

rfalNfcDepCommMode commMode
uint8_t | operParam
uint8_t * | nfcid
uint8_t | nfcidLen
uint8_t | DID
uint8_t | NAD
uint8_t | BS
uint8_t | BR
uint8_t | LR
uint8_t * | GB
uint8_t | GBLen

Detailed Description

NFCIP Protocol structure for P2P Target

operParam : derives from NFC-Forum NCI NFC-DEP Operation Parameter NCI 1.1 Table 86: NFC-DEP Operation Parameter and it's a bit mask composed as: [ 0000b | Chain SHALL use max. Transport Data Byte[1b] | I-PDU with no Transport Data SHALL NOT be sent [1b] | NFC-DEP Target SHALL NOT send RTOX request [1b] ]

Examples:
exampleRfalPoller.c.

Field Documentation

uint8_t rfalNfcDepAtrParam::BR

Initiator's Bit Rates supported in Rx

Examples:
exampleRfalPoller.c.
uint8_t rfalNfcDepAtrParam::BS

Initiator's Bit Rates supported in Tx

Examples:
exampleRfalPoller.c.
rfalNfcDepCommMode rfalNfcDepAtrParam::commMode

Initiator in Active P2P or Passive P2P

Examples:
exampleRfalPoller.c.
uint8_t rfalNfcDepAtrParam::DID

Initiator's Device ID DID

Examples:
exampleRfalPoller.c.
uint8_t* rfalNfcDepAtrParam::GB

Initiator's General Bytes (Gi)

Examples:
exampleRfalPoller.c.
uint8_t rfalNfcDepAtrParam::GBLen

Initiator's General Bytes length

Examples:
exampleRfalPoller.c.
uint8_t rfalNfcDepAtrParam::LR

Initiator's Length reduction

Examples:
exampleRfalPoller.c.
uint8_t rfalNfcDepAtrParam::NAD

Initiator's Node ID NAD

Examples:
exampleRfalPoller.c.
uint8_t* rfalNfcDepAtrParam::nfcid

Initiator's NFCID2 or NFCID3

Examples:
exampleRfalPoller.c.
uint8_t rfalNfcDepAtrParam::nfcidLen

Initiator's NFCID length (NFCID2/3)

Examples:
exampleRfalPoller.c.
uint8_t rfalNfcDepAtrParam::operParam

NFC-DEP Operation Parameter

Examples:
exampleRfalPoller.c.
The documentation for this struct was generated from the following file:
  • rfal_nfcDep.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalNfcDepListenActvParam Struct Reference

Data Fields
rfalNfcDepListenActvParam Struct Reference
NFC-DEP

#include <rfal_nfcDep.h>

Collaboration diagram for rfalNfcDepListenActvParam:
[legend]

Data Fields

rfalNfcDepBufFormat * rxBuf
uint16_t * | rxLen
bool * | isRxChaining
rfalNfcDepDevice * nfcDepDev

Detailed Description

Structure of parameters to be passed in for nfcDepListenStartActivation

Field Documentation

bool* rfalNfcDepListenActvParam::isRxChaining

Received data is not complete

rfalNfcDepDevice* rfalNfcDepListenActvParam::nfcDepDev

NFC-DEP device info

rfalNfcDepBufFormat* rfalNfcDepListenActvParam::rxBuf

Receive Buffer struct reference

uint16_t* rfalNfcDepListenActvParam::rxLen

Receive INF data length in bytes

The documentation for this struct was generated from the following file:
  • rfal_nfcDep.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalNfcDepTargetParam Struct Reference

Data Fields
rfalNfcDepTargetParam Struct Reference
NFC-DEP

#include <rfal_nfcDep.h>

Data Fields

rfalNfcDepCommMode commMode
uint8_t | nfcid3 [RFAL_NFCDEP_NFCID3_LEN]
uint8_t | bst
uint8_t | brt
uint8_t | to
uint8_t | ppt
uint8_t | GBt [RFAL_NFCDEP_GB_MAX_LEN]
uint8_t | GBtLen
uint8_t | operParam

Detailed Description

NFCIP Protocol structure for P2P Target

operParam : derives from NFC-Forum NCI NFC-DEP Operation Parameter NCI 1.1 Table 86: NFC-DEP Operation Parameter and it's a bit mask composed as: [ 0000b | Chain SHALL use max. Transport Data Byte[1b] | I-PDU with no Transport Data SHALL NOT be sent [1b] | NFC-DEP Target SHALL NOT send RTOX request [1b] ]

Field Documentation

uint8_t rfalNfcDepTargetParam::brt

Target's Bit Rates supported in Rx

uint8_t rfalNfcDepTargetParam::bst

Target's Bit Rates supported in Tx

rfalNfcDepCommMode rfalNfcDepTargetParam::commMode

Target in Active P2P or Passive P2P

uint8_t rfalNfcDepTargetParam::GBt[RFAL_NFCDEP_GB_MAX_LEN]

Target's General Bytes (Gt)

uint8_t rfalNfcDepTargetParam::GBtLen

Target's General Bytes length

uint8_t rfalNfcDepTargetParam::nfcid3[RFAL_NFCDEP_NFCID3_LEN]

Target's NFCID3

uint8_t rfalNfcDepTargetParam::operParam

NFC-DEP Operation Parameter

uint8_t rfalNfcDepTargetParam::ppt

Target's Presence optional Params(PPt)

uint8_t rfalNfcDepTargetParam::to

Target's timeout (TO) value

The documentation for this struct was generated from the following file:
  • rfal_nfcDep.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalNfcDepTxRxParam Struct Reference

Data Fields
rfalNfcDepTxRxParam Struct Reference
NFC-DEP

#include <rfal_nfcDep.h>

Collaboration diagram for rfalNfcDepTxRxParam:
[legend]

Data Fields

rfalNfcDepBufFormat * txBuf
uint16_t | txBufLen
bool | isTxChaining
rfalNfcDepBufFormat * rxBuf
uint16_t * | rxLen
bool * | isRxChaining
uint32_t | FWT
uint32_t | dFWT
uint16_t | FSx
uint8_t | DID

Detailed Description

Structure of parameters to be passed in for nfcDepStartIpduTransceive

Examples:
exampleRfalPoller.c.

Field Documentation

uint32_t rfalNfcDepTxRxParam::dFWT

Delta FWT to be used

Examples:
exampleRfalPoller.c.
uint8_t rfalNfcDepTxRxParam::DID

Device ID (RFAL_ISODEP_NO_DID if no DID)

Examples:
exampleRfalPoller.c.
uint16_t rfalNfcDepTxRxParam::FSx

Other device Frame Size (FSD or FSC)

Examples:
exampleRfalPoller.c.
uint32_t rfalNfcDepTxRxParam::FWT

FWT to be used (ignored in Listen Mode)

Examples:
exampleRfalPoller.c.
bool* rfalNfcDepTxRxParam::isRxChaining

Received data is not complete

Examples:
exampleRfalPoller.c.
bool rfalNfcDepTxRxParam::isTxChaining

Transmit data is not complete

Examples:
exampleRfalPoller.c.
rfalNfcDepBufFormat* rfalNfcDepTxRxParam::rxBuf

Receive Buffer struct reference

Examples:
exampleRfalPoller.c.
uint16_t* rfalNfcDepTxRxParam::rxLen

Receive INF data length

Examples:
exampleRfalPoller.c.
rfalNfcDepBufFormat* rfalNfcDepTxRxParam::txBuf

Transmit Buffer struct reference

Examples:
exampleRfalPoller.c.
uint16_t rfalNfcDepTxRxParam::txBufLen

Transmit Buffer INF field length in bytes

Examples:
exampleRfalPoller.c.
The documentation for this struct was generated from the following file:
  • rfal_nfcDep.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalNfcDepPduTxRxParam Struct Reference

Data Fields
rfalNfcDepPduTxRxParam Struct Reference
NFC-DEP

#include <rfal_nfcDep.h>

Collaboration diagram for rfalNfcDepPduTxRxParam:
[legend]

Data Fields

rfalNfcDepPduBufFormat * txBuf
uint16_t | txBufLen
rfalNfcDepPduBufFormat * rxBuf
uint16_t * | rxLen
rfalNfcDepBufFormat * tmpBuf
uint32_t | FWT
uint32_t | dFWT
uint16_t | FSx
uint8_t | DID

Detailed Description

Structure of parameters used on NFC DEP PDU Transceive

Field Documentation

uint32_t rfalNfcDepPduTxRxParam::dFWT

Delta FWT to be used

uint8_t rfalNfcDepPduTxRxParam::DID

Device ID (RFAL_ISODEP_NO_DID if no DID)

uint16_t rfalNfcDepPduTxRxParam::FSx

Other device Frame Size (FSD or FSC)

uint32_t rfalNfcDepPduTxRxParam::FWT

FWT to be used (ignored in Listen Mode)

rfalNfcDepPduBufFormat* rfalNfcDepPduTxRxParam::rxBuf

Receive Buffer struct reference in Bytes

uint16_t* rfalNfcDepPduTxRxParam::rxLen

Received INF data length in Bytes

rfalNfcDepBufFormat* rfalNfcDepPduTxRxParam::tmpBuf

Temp buffer for single PDUs (internal)

rfalNfcDepPduBufFormat* rfalNfcDepPduTxRxParam::txBuf

Transmit Buffer struct reference

uint16_t rfalNfcDepPduTxRxParam::txBufLen

Transmit Buffer INF field length in Bytes

The documentation for this struct was generated from the following file:
  • rfal_nfcDep.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: NFC-F

Data Structures | Macros | Typedefs | Enumerations | Functions
NFC-F
RFAL-AL

RFAL NFC-F Module. More...

Collaboration diagram for NFC-F:

Data Structures

struct | rfalNfcfSensfRes
struct | rfalNfcfPollDevice
struct | rfalNfcfListenDevice
struct | rfalNfcfBlockListElem
struct | rfalNfcfServBlockListParam

Macros

#define | RFAL_NFCF_NFCID2_LEN 8U
#define | RFAL_NFCF_SENSF_RES_LEN_MIN 16U
#define | RFAL_NFCF_SENSF_RES_LEN_MAX 18U
#define | RFAL_NFCF_SENSF_RES_PAD0_LEN 2U
#define | RFAL_NFCF_SENSF_RES_PAD1_LEN 2U
#define | RFAL_NFCF_SENSF_RES_RD_LEN 2U
#define | RFAL_NFCF_SENSF_RES_BYTE1 1U
#define | RFAL_NFCF_SENSF_SC_LEN 2U
#define | RFAL_NFCF_SENSF_PARAMS_SC1_POS 0U
#define | RFAL_NFCF_SENSF_PARAMS_SC2_POS 1U
#define | RFAL_NFCF_SENSF_PARAMS_RC_POS 2U
#define | RFAL_NFCF_SENSF_PARAMS_TSN_POS 3U
#define | RFAL_NFCF_POLL_MAXCARDS 16U
#define | RFAL_NFCF_CMD_POS 0U
#define | RFAL_NFCF_CMD_LEN 1U
#define | RFAL_NFCF_LENGTH_LEN 1U
#define | RFAL_NFCF_HEADER_LEN (RFAL_NFCF_LENGTH_LEN + RFAL_NFCF_CMD_LEN)
#define | RFAL_NFCF_SENSF_NFCID2_BYTE1_POS 0U
#define | RFAL_NFCF_SENSF_NFCID2_BYTE2_POS 1U
#define | RFAL_NFCF_SENSF_NFCID2_PROT_TYPE_LEN 2U
#define | RFAL_NFCF_SENSF_NFCID2_BYTE1_NFCDEP 0x01U
#define | RFAL_NFCF_SENSF_NFCID2_BYTE2_NFCDEP 0xFEU
#define | RFAL_NFCF_SYSTEMCODE 0xFFFFU
#define | RFAL_NFCF_BLOCK_LEN 16U
#define | RFAL_NFCF_CHECKUPDATE_RES_ST1_POS 9U
#define | RFAL_NFCF_CHECKUPDATE_RES_ST2_POS 10U
#define | RFAL_NFCF_CHECKUPDATE_RES_NOB_POS 11U
#define | RFAL_NFCF_STATUS_FLAG_SUCCESS 0x00U
#define | RFAL_NFCF_STATUS_FLAG_ERROR 0xFFU
#define | RFAL_NFCF_BLOCKLISTELEM_LEN 0x80U
#define | RFAL_NFCF_SERVICECODE_RDONLY 0x000BU
#define | RFAL_NFCF_SERVICECODE_RDWR 0x0009U
#define | rfalNfcfIsNfcDepSupported(dev)

Typedefs

typedef uint16_t rfalNfcfServ

Enumerations

enum {
RFAL_NFCF_CMD_POLLING = 0x00, RFAL_NFCF_CMD_POLLING_RES = 0x01, RFAL_NFCF_CMD_REQUEST_SERVICE = 0x02, RFAL_NFCF_CMD_REQUEST_RESPONSE = 0x04,
RFAL_NFCF_CMD_READ_WITHOUT_ENCRYPTION = 0x06, RFAL_NFCF_CMD_READ_WITHOUT_ENCRYPTION_RES = 0x07, RFAL_NFCF_CMD_WRITE_WITHOUT_ENCRYPTION = 0x08, RFAL_NFCF_CMD_WRITE_WITHOUT_ENCRYPTION_RES = 0x09,
RFAL_NFCF_CMD_REQUEST_SYSTEM_CODE = 0x0c, RFAL_NFCF_CMD_AUTHENTICATION1 = 0x10, RFAL_NFCF_CMD_AUTHENTICATION2 = 0x12, RFAL_NFCF_CMD_READ = 0x14,
RFAL_NFCF_CMD_WRITE = 0x16
}

Functions

ReturnCode | rfalNfcfPollerInitialize (rfalBitRate bitRate)
Initialize NFC-F Poller mode. More...
ReturnCode | rfalNfcfPollerCheckPresence (void)
NFC-F Poller Check Presence. More...
ReturnCode | rfalNfcfPollerPoll (rfalFeliCaPollSlots slots, uint16_t sysCode, uint8_t reqCode, rfalFeliCaPollRes *cardList, uint8_t *devCnt, uint8_t *collisions)
NFC-F Poller Poll. More...
ReturnCode | rfalNfcfPollerCollisionResolution (rfalComplianceMode compMode, uint8_t devLimit, rfalNfcfListenDevice *nfcfDevList, uint8_t *devCnt)
NFC-F Poller Full Collision Resolution. More...
ReturnCode | rfalNfcfPollerCheck (const uint8_t *nfcid2, const rfalNfcfServBlockListParam *servBlock, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvdLen)
NFC-F Poller Check/Read. More...
ReturnCode | rfalNfcfPollerUpdate (const uint8_t *nfcid2, const rfalNfcfServBlockListParam *servBlock, uint8_t *txBuf, uint16_t txBufLen, const uint8_t *blockData, uint8_t *rxBuf, uint16_t rxBufLen)
NFC-F Poller Update/Write. More...
bool | rfalNfcfListenerIsT3TReq (const uint8_t *buf, uint16_t bufLen, uint8_t *nfcid2)
NFC-F Listener is T3T Request. More...

Detailed Description

Macro Definition Documentation

#define RFAL_NFCF_BLOCK_LEN 16U

NFCF T3T Block size T3T 1.0 4.1

#define RFAL_NFCF_BLOCKLISTELEM_LEN 0x80U

Block List Element Length bit (2|3 bytes) T3T 1.0 5.6.1

#define RFAL_NFCF_CHECKUPDATE_RES_NOB_POS 11U

Check|Update Res Number of Blocks position T3T 1.0 Table 8

#define RFAL_NFCF_CHECKUPDATE_RES_ST1_POS 9U

Check|Update Res Status Flag 1 position T3T 1.0 Table 8

#define RFAL_NFCF_CHECKUPDATE_RES_ST2_POS 10U

Check|Update Res Status Flag 2 position T3T 1.0 Table 8

#define RFAL_NFCF_CMD_LEN 1U

Command/Responce code length

#define RFAL_NFCF_CMD_POS 0U

Command/Responce code length

#define RFAL_NFCF_HEADER_LEN (RFAL_NFCF_LENGTH_LEN + RFAL_NFCF_CMD_LEN)

Header length

#define RFAL_NFCF_LENGTH_LEN 1U

LEN field length

#define RFAL_NFCF_NFCID2_LEN 8U

NFCID2 (FeliCa IDm) length

Examples:
exampleRfalPoller.c.
#define RFAL_NFCF_POLL_MAXCARDS 16U

Max number slots/cards 16

#define RFAL_NFCF_SENSF_NFCID2_BYTE1_NFCDEP 0x01U

NFCID2 byte1 NFC-DEP support Digital 1.0 Table 44

#define RFAL_NFCF_SENSF_NFCID2_BYTE1_POS 0U

NFCID2 byte1 position

#define RFAL_NFCF_SENSF_NFCID2_BYTE2_NFCDEP 0xFEU

NFCID2 byte2 NFC-DEP support Digital 1.0 Table 44

#define RFAL_NFCF_SENSF_NFCID2_BYTE2_POS 1U

NFCID2 byte2 position

#define RFAL_NFCF_SENSF_NFCID2_PROT_TYPE_LEN 2U

NFCID2 length for byte 1 and byte 2 indicating NFC-DEP or T3T support

#define RFAL_NFCF_SENSF_PARAMS_RC_POS 2U

Request Code position in the SENSF_REQ

#define RFAL_NFCF_SENSF_PARAMS_SC1_POS 0U

System Code byte1 position in the SENSF_REQ

#define RFAL_NFCF_SENSF_PARAMS_SC2_POS 1U

System Code byte2 position in the SENSF_REQ

#define RFAL_NFCF_SENSF_PARAMS_TSN_POS 3U

Time Slot Number position in the SENSF_REQ

#define RFAL_NFCF_SENSF_RES_BYTE1 1U

SENSF_RES first byte value

#define RFAL_NFCF_SENSF_RES_LEN_MAX 18U

SENSF_RES maximum length

#define RFAL_NFCF_SENSF_RES_LEN_MIN 16U

SENSF_RES minimum length

#define RFAL_NFCF_SENSF_RES_PAD0_LEN 2U

SENSF_RES PAD0 length

#define RFAL_NFCF_SENSF_RES_PAD1_LEN 2U

SENSF_RES PAD1 length

#define RFAL_NFCF_SENSF_RES_RD_LEN 2U

SENSF_RES Request Data length

#define RFAL_NFCF_SENSF_SC_LEN 2U

Felica SENSF_REQ System Code length

#define RFAL_NFCF_SERVICECODE_RDONLY 0x000BU

NDEF Service Code as Read-Only T3T 1.0 7.2.1

#define RFAL_NFCF_SERVICECODE_RDWR 0x0009U

NDEF Service Code as Read and Write T3T 1.0 7.2.1

#define RFAL_NFCF_STATUS_FLAG_ERROR 0xFFU

Check response Number of Blocks position T3T 1.0 Table 11

#define RFAL_NFCF_STATUS_FLAG_SUCCESS 0x00U

Check response Number of Blocks position T3T 1.0 Table 11

#define RFAL_NFCF_SYSTEMCODE 0xFFFFU

SENSF_RES Default System Code Digital 1.0 6.6.1.1

#define rfalNfcfIsNfcDepSupported ( dev )
Value:
( (((rfalNfcfListenDevice*)(dev))->sensfRes.NFCID2[RFAL_NFCF_SENSF_NFCID2_BYTE1_POS] == RFAL_NFCF_SENSF_NFCID2_BYTE1_NFCDEP) && \
(((rfalNfcfListenDevice*)(dev))->sensfRes.NFCID2[RFAL_NFCF_SENSF_NFCID2_BYTE2_POS] == RFAL_NFCF_SENSF_NFCID2_BYTE2_NFCDEP) )
RFAL_NFCF_SENSF_NFCID2_BYTE1_NFCDEP
#define RFAL_NFCF_SENSF_NFCID2_BYTE1_NFCDEP
Definition: rfal_nfcf.h:96
RFAL_NFCF_SENSF_NFCID2_BYTE1_POS
#define RFAL_NFCF_SENSF_NFCID2_BYTE1_POS
Definition: rfal_nfcf.h:92
RFAL_NFCF_SENSF_NFCID2_BYTE2_POS
#define RFAL_NFCF_SENSF_NFCID2_BYTE2_POS
Definition: rfal_nfcf.h:93
rfalNfcfListenDevice
Definition: rfal_nfcf.h:172
RFAL_NFCF_SENSF_NFCID2_BYTE2_NFCDEP
#define RFAL_NFCF_SENSF_NFCID2_BYTE2_NFCDEP
Definition: rfal_nfcf.h:97

Checks if the given NFC-F device indicates NFC-DEP support

Examples:
exampleRfalPoller.c.

Typedef Documentation

typedef uint16_t rfalNfcfServ

NFC-F Service Code

Enumeration Type Documentation

anonymous enum

NFC-F Felica command set JIS X6319-4 9.1

Enumerator
RFAL_NFCF_CMD_POLLING | SENSF_REQ (Felica Poll/REQC command to identify a card )
RFAL_NFCF_CMD_POLLING_RES | SENSF_RES (Felica Poll/REQC command response )
RFAL_NFCF_CMD_REQUEST_SERVICE | verify the existence of Area and Service
RFAL_NFCF_CMD_REQUEST_RESPONSE | verify the existence of a card
RFAL_NFCF_CMD_READ_WITHOUT_ENCRYPTION | read Block Data from a Service that requires no authentication
RFAL_NFCF_CMD_READ_WITHOUT_ENCRYPTION_RES | read Block Data response from a Service with no authentication
RFAL_NFCF_CMD_WRITE_WITHOUT_ENCRYPTION | write Block Data to a Service that requires no authentication
RFAL_NFCF_CMD_WRITE_WITHOUT_ENCRYPTION_RES | write Block Data response to a Service with no authentication
RFAL_NFCF_CMD_REQUEST_SYSTEM_CODE | acquire the System Code registered to a card
RFAL_NFCF_CMD_AUTHENTICATION1 | authenticate a card
RFAL_NFCF_CMD_AUTHENTICATION2 | allow a card to authenticate a Reader/Writer
RFAL_NFCF_CMD_READ | read Block Data from a Service that requires authentication
RFAL_NFCF_CMD_WRITE | write Block Data to a Service that requires authentication

Function Documentation

bool rfalNfcfListenerIsT3TReq | ( | const uint8_t * | buf,
 |  | uint16_t | bufLen,
 |  | uint8_t * | nfcid2
 | ) |  |

This method checks if the given data is a valid T3T command (Read or Write) and in case a valid request has been received it may output the request's NFCID2

Parameters
[in] | buf | : buffer holding Initiator's received command
[in] | bufLen | : length of received command in bytes
[out] | nfcid2 | : pointer to where the NFCID2 may be outputed, nfcid2 has NFCF_SENSF_NFCID2_LEN as length Pass NULL if output parameter not desired
Returns
true : Valid T3T command (Read or Write) received
false : Invalid protocol request
ReturnCode rfalNfcfPollerCheck | ( | const uint8_t * | nfcid2,
 |  | const rfalNfcfServBlockListParam * | servBlock,
 |  | uint8_t * | rxBuf,
 |  | uint16_t | rxBufLen,
 |  | uint16_t * | rcvdLen
 | ) |  |

It computes a Check / Read command accoring to T3T 1.0 and JIS X6319-4 and sends it to PICC. If sucessfully, the rxBuf will contain the the number of blocks in the first byte followed by the blocks data.

Parameters
[in] | nfcid2 | : nfcid2 of the device
[in] | servBlock | : parameter containing the list of Services and Blocks to be addressed by this command
[out] | rxBuf | : buffer to place check/read data
[in] | rxBufLen | : size of the rxBuf
[out] | rcvdLen | : length of data placed in rxBuf
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_REQUEST : The request was executed with error
ERR_NONE : No error
ReturnCode rfalNfcfPollerCheckPresence ( void )

This function sends a Poll/SENSF command according to NFC Activity spec It detects if a NCF-F device is within range

Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error, no listener device detected
ERR_NONE : No error and some NFC-F device was detected
Examples:
exampleRfalPoller.c.
ReturnCode rfalNfcfPollerCollisionResolution | ( | rfalComplianceMode | compMode,
 |  | uint8_t | devLimit,
 |  | rfalNfcfListenDevice * | nfcfDevList,
 |  | uint8_t * | devCnt
 | ) |  |

Performs a full Collision resolution as defined in Activity 1.1 9.3.4

Parameters
[in] | compMode | : compliance mode to be performed
[in] | devLimit | : device limit value, and size nfcaDevList
[out] | nfcfDevList | : NFC-F listener devices list
[out] | devCnt | : Devices found counter
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_NONE : No error
Examples:
exampleRfalPoller.c.
ReturnCode rfalNfcfPollerInitialize ( rfalBitRate bitRate )

This methods configures RFAL RF layer to perform as a NFC-F Poller/RW (FeliCa PCD) including all default timings

Parameters
[in] bitRate : NFC-F bitrate to be initialize (212 or 424)
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_PARAM : Incorrect bitrate
ERR_NONE : No error
Examples:
exampleRfalPoller.c.
ReturnCode rfalNfcfPollerPoll | ( | rfalFeliCaPollSlots | slots,
 |  | uint16_t | sysCode,
 |  | uint8_t | reqCode,
 |  | rfalFeliCaPollRes * | cardList,
 |  | uint8_t * | devCnt,
 |  | uint8_t * | collisions
 | ) |  |

This function sends to all PICCs in field the POLL command with the given number of slots.

Parameters
[in] | slots | : the number of slots to be performed
[in] | sysCode | : as given in FeliCa poll command
[in] | reqCode | : FeliCa communication parameters
[out] | cardList | : Parameter of type rfalFeliCaPollRes which will hold the cards found
[out] | devCnt | : actual number of cards found
[out] | collisions | : number of collisions encountered
Warning
the list cardList has to be as big as the number of slots for the Poll
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error, no listener device detected
ERR_NONE : No error and some NFC-F device was detected
ReturnCode rfalNfcfPollerUpdate | ( | const uint8_t * | nfcid2,
 |  | const rfalNfcfServBlockListParam * | servBlock,
 |  | uint8_t * | txBuf,
 |  | uint16_t | txBufLen,
 |  | const uint8_t * | blockData,
 |  | uint8_t * | rxBuf,
 |  | uint16_t | rxBufLen
 | ) |  |

It computes a Update / Write command accoring to T3T 1.0 and JIS X6319-4 and sends it to PICC.

Parameters
[in] | nfcid2 | : nfcid2 of the device
[in] | servBlock | : parameter containing the list of Services and Blocks to be addressed by this command
[in] | txBuf | : buffer where the request will be composed
[in] | txBufLen | : size of txBuf
[in] | blockData | : data to written on the given block(s)
[out] | rxBuf | : buffer to place check/read data
[in] | rxBufLen | : size of the rxBuf
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_REQUEST : The request was executed with error
ERR_NONE : No error
Generated on Wed May 20 2020 18:07:14 for RFAL by doxygen 1.8.6


RFAL: rfalNfcfSensfRes Struct Reference

Data Fields
rfalNfcfSensfRes Struct Reference
NFC-F

#include <rfal_nfcf.h>

Data Fields

uint8_t | CMD
uint8_t | NFCID2 [RFAL_NFCF_NFCID2_LEN]
uint8_t | PAD0 [RFAL_NFCF_SENSF_RES_PAD0_LEN]
uint8_t | PAD1 [RFAL_NFCF_SENSF_RES_PAD1_LEN]
uint8_t | MRTIcheck
uint8_t | MRTIupdate
uint8_t | PAD2
uint8_t | RD [RFAL_NFCF_SENSF_RES_RD_LEN]

Detailed Description

NFC-F SENSF_RES format Digital 1.1 8.6.2

Field Documentation

uint8_t rfalNfcfSensfRes::CMD

Command Code: 01h

uint8_t rfalNfcfSensfRes::MRTIcheck

MRTIcheck

uint8_t rfalNfcfSensfRes::MRTIupdate

MRTIupdate

uint8_t rfalNfcfSensfRes::NFCID2[RFAL_NFCF_NFCID2_LEN]

NFCID2

uint8_t rfalNfcfSensfRes::PAD0[RFAL_NFCF_SENSF_RES_PAD0_LEN]

PAD0

uint8_t rfalNfcfSensfRes::PAD1[RFAL_NFCF_SENSF_RES_PAD1_LEN]

PAD1

uint8_t rfalNfcfSensfRes::PAD2

PAD2

uint8_t rfalNfcfSensfRes::RD[RFAL_NFCF_SENSF_RES_RD_LEN]

Request Data

The documentation for this struct was generated from the following file:
  • rfal_nfcf.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalNfcfPollDevice Struct Reference

Data Fields
rfalNfcfPollDevice Struct Reference
NFC-F

#include <rfal_nfcf.h>

Data Fields

uint8_t NFCID2 [RFAL_NFCF_NFCID2_LEN]

Detailed Description

NFC-F poller device (PCD) struct

Field Documentation

uint8_t rfalNfcfPollDevice::NFCID2[RFAL_NFCF_NFCID2_LEN]

NFCID2

The documentation for this struct was generated from the following file:
  • rfal_nfcf.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalNfcfListenDevice Struct Reference

Data Fields
rfalNfcfListenDevice Struct Reference
NFC-F

#include <rfal_nfcf.h>

Collaboration diagram for rfalNfcfListenDevice:
[legend]

Data Fields

uint8_t sensfResLen
rfalNfcfSensfRes sensfRes

Detailed Description

NFC-F listener device (PICC) struct

Examples:
exampleRfalPoller.c.

Field Documentation

rfalNfcfSensfRes rfalNfcfListenDevice::sensfRes

SENF_RES

uint8_t rfalNfcfListenDevice::sensfResLen

SENF_RES length

The documentation for this struct was generated from the following file:
  • rfal_nfcf.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalNfcfBlockListElem Struct Reference

Data Fields
rfalNfcfBlockListElem Struct Reference
NFC-F

#include <rfal_nfcf.h>

Data Fields

uint8_t | conf
uint16_t | blockNum

Detailed Description

NFC-F Block List Element (2 or 3 bytes element) T3T 1.0 5.6.1

Field Documentation

uint16_t rfalNfcfBlockListElem::blockNum

Block Number

uint8_t rfalNfcfBlockListElem::conf

Access Mode | Serv Code List Order

The documentation for this struct was generated from the following file:
  • rfal_nfcf.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalNfcfServBlockListParam Struct Reference

Data Fields
rfalNfcfServBlockListParam Struct Reference
NFC-F

#include <rfal_nfcf.h>

Collaboration diagram for rfalNfcfServBlockListParam:
[legend]

Data Fields

uint8_t | numServ
rfalNfcfServ * servList
uint8_t | numBlock
rfalNfcfBlockListElem * blockList

Detailed Description

Check Update Service list and Block list parameter

Field Documentation

rfalNfcfBlockListElem* rfalNfcfServBlockListParam::blockList

Block Number List

uint8_t rfalNfcfServBlockListParam::numBlock

Number of Blocks

uint8_t rfalNfcfServBlockListParam::numServ

Number of Services

rfalNfcfServ* rfalNfcfServBlockListParam::servList

Service Code List

The documentation for this struct was generated from the following file:
  • rfal_nfcf.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: NFC-V

Data Structures | Macros | Enumerations | Functions
NFC-V
RFAL-AL

RFAL NFC-V Module. More...

Collaboration diagram for NFC-V:

Data Structures

struct | rfalNfcvInventoryRes
struct | rfalNfcvGenericReq
struct | rfalNfcvGenericRes
struct | rfalNfcvListenDevice

Macros

#define | RFAL_NFCV_UID_LEN 8U
#define | RFAL_NFCV_MAX_BLOCK_LEN 32U
#define | RFAL_NFCV_BNO_LEN 1U
#define | RFAL_NFCV_CRC_LEN 2U
#define | RFAL_NFCV_MAX_GEN_DATA_LEN (RFAL_NFCV_MAX_BLOCK_LEN + RFAL_NFCV_BNO_LEN + RFAL_NFCV_UID_LEN)
#define | RFAL_NFCV_BLOCKNUM_LEN 1U
#define | RFAL_NFCV_BLOCKNUM_EXTENDED_LEN 2U
#define | RFAL_NFCV_PARAM_SKIP 0U

Enumerations

enum {
RFAL_NFCV_REQ_FLAG_DEFAULT = 0x02U, RFAL_NFCV_REQ_FLAG_SUB_CARRIER = 0x01U, RFAL_NFCV_REQ_FLAG_DATA_RATE = 0x02U, RFAL_NFCV_REQ_FLAG_INVENTORY = 0x04U,
RFAL_NFCV_REQ_FLAG_PROTOCOL_EXT = 0x08U, RFAL_NFCV_REQ_FLAG_SELECT = 0x10U, RFAL_NFCV_REQ_FLAG_ADDRESS = 0x20U, RFAL_NFCV_REQ_FLAG_OPTION = 0x40U,
RFAL_NFCV_REQ_FLAG_RFU = 0x80U, RFAL_NFCV_REQ_FLAG_AFI = 0x10U, RFAL_NFCV_REQ_FLAG_NB_SLOTS = 0x20U
}
enum {
RFAL_NFCV_RES_FLAG_ERROR = 0x01U, RFAL_NFCV_RES_FLAG_RFU1 = 0x02U, RFAL_NFCV_RES_FLAG_RFU2 = 0x04U, RFAL_NFCV_RES_FLAG_EXTENSION = 0x08U,
RFAL_NFCV_RES_FLAG_RFU3 = 0x10U, RFAL_NFCV_RES_FLAG_RFU4 = 0x20U, RFAL_NFCV_RES_FLAG_RFU5 = 0x40U, RFAL_NFCV_RES_FLAG_RFU6 = 0x80U
}
enum {
RFAL_NFCV_ERROR_CMD_NOT_SUPPORTED = 0x01U, RFAL_NFCV_ERROR_CMD_NOT_RECOGNIZED = 0x02U, RFAL_NFCV_ERROR_OPTION_NOT_SUPPORTED = 0x03U, RFAL_NFCV_ERROR_UNKNOWN = 0x0FU,
RFAL_NFCV_ERROR_BLOCK_NOT_AVALIABLE = 0x10U, RFAL_NFCV_ERROR_BLOCK_ALREDY_LOCKED = 0x11U, RFAL_NFCV_ERROR_BLOCK_LOCKED = 0x12U, RFAL_NFCV_ERROR_WRITE_FAILED = 0x13U,
RFAL_NFCV_ERROR_BLOCK_FAILED = 0x14U
}
enum {
RFAL_NFCV_CMD_INVENTORY = 0x01U, RFAL_NFCV_CMD_SLPV = 0x02U, RFAL_NFCV_CMD_READ_SINGLE_BLOCK = 0x20U, RFAL_NFCV_CMD_WRITE_SINGLE_BLOCK = 0x21U,
RFAL_NFCV_CMD_LOCK_BLOCK = 0x22U, RFAL_NFCV_CMD_READ_MULTIPLE_BLOCKS = 0x23U, RFAL_NFCV_CMD_WRITE_MULTIPLE_BLOCKS = 0x24U, RFAL_NFCV_CMD_SELECT = 0x25U,
RFAL_NFCV_CMD_RESET_TO_READY = 0x26U, RFAL_NFCV_CMD_GET_SYS_INFO = 0x2BU, RFAL_NFCV_CMD_EXTENDED_READ_SINGLE_BLOCK = 0x30U, RFAL_NFCV_CMD_EXTENDED_WRITE_SINGLE_BLOCK = 0x31U,
RFAL_NFCV_CMD_EXTENDED_LOCK_SINGLE_BLOCK = 0x32U, RFAL_NFCV_CMD_EXTENDED_READ_MULTIPLE_BLOCK = 0x33U, RFAL_NFCV_CMD_EXTENDED_WRITE_MULTIPLE_BLOCK = 0x34U, RFAL_NFCV_CMD_EXTENDED_GET_SYS_INFO = 0x3BU
}
enum {
RFAL_NFCV_CMD_READ_CONFIGURATION = 0xA0U, RFAL_NFCV_CMD_WRITE_CONFIGURATION = 0xA1U, RFAL_NFCV_CMD_SET_EAS = 0xA2U, RFAL_NFCV_CMD_RESET_EAS = 0xA3U,
RFAL_NFCV_CMD_LOCK_EAS = 0xA4U, RFAL_NFCV_CMD_ENABLE_EAS = 0xA5U, RFAL_NFCV_CMD_KILL = 0xA6U, RFAL_NFCV_CMD_WRITE_EAS_ID = 0xA7U,
RFAL_NFCV_CMD_WRITE_EAS_CONFIG = 0xA8U, RFAL_NFCV_CMD_MANAGE_GPO = 0xA9U, RFAL_NFCV_CMD_WRITE_MESSAGE = 0xAAU, RFAL_NFCV_CMD_READ_MESSAGE_LENGTH = 0xABU,
RFAL_NFCV_CMD_READ_MESSAGE = 0xACU, RFAL_NFCV_CMD_READ_DYN_CONFIGURATION = 0xADU, RFAL_NFCV_CMD_WRITE_DYN_CONFIGURATION = 0xAEU, RFAL_NFCV_CMD_WRITE_PASSWORD = 0xB1U,
RFAL_NFCV_CMD_LOCK_KILL = 0xB2U, RFAL_NFCV_CMD_PRESENT_PASSWORD = 0xB3U, RFAL_NFCV_CMD_GET_RANDOM_NUMBER = 0xB4U, RFAL_NFCV_CMD_FAST_READ_SINGLE_BLOCK = 0xC0U,
RFAL_NFCV_CMD_FAST_READ_MULTIPLE_BLOCKS = 0xC3U, RFAL_NFCV_CMD_FAST_EXTENDED_READ_SINGLE_BLOCK = 0xC4U, RFAL_NFCV_CMD_FAST_EXTENDED_READ_MULTIPLE_BLOCKS = 0xC5U, RFAL_NFCV_CMD_FAST_WRITE_MESSAGE = 0xCAU,
RFAL_NFCV_CMD_FAST_READ_MESSAGE_LENGTH = 0xCBU, RFAL_NFCV_CMD_FAST_READ_MESSAGE = 0xCCU, RFAL_NFCV_CMD_FAST_READ_DYN_CONFIGURATION = 0xCDU, RFAL_NFCV_CMD_FAST_WRITE_DYN_CONFIGURATION = 0xCEU
}
enum {
RFAL_NFCV_SYSINFO_DFSID = 0x01U, RFAL_NFCV_SYSINFO_AFI = 0x02U, RFAL_NFCV_SYSINFO_MEMSIZE = 0x04U, RFAL_NFCV_SYSINFO_ICREF = 0x08U,
RFAL_NFCV_SYSINFO_MOI = 0x10U, RFAL_NFCV_SYSINFO_CMDLIST = 0x20U, RFAL_NFCV_SYSINFO_CSI = 0x40U, RFAL_NFCV_SYSINFO_REQ_ALL = 0x7FU
}
enum rfalNfcvNumSlots { RFAL_NFCV_NUM_SLOTS_1 = 0x20, RFAL_NFCV_NUM_SLOTS_16 = 0x00 }

Functions

ReturnCode | rfalNfcvPollerInitialize (void)
Initialize NFC-V Poller mode. More...
ReturnCode | rfalNfcvPollerCheckPresence (rfalNfcvInventoryRes *invRes)
NFC-V Poller Check Presence. More...
ReturnCode | rfalNfcvPollerInventory (rfalNfcvNumSlots nSlots, uint8_t maskLen, const uint8_t *maskVal, rfalNfcvInventoryRes *invRes, uint16_t *rcvdLen)
NFC-F Poller Poll. More...
ReturnCode | rfalNfcvPollerCollisionResolution (rfalComplianceMode compMode, uint8_t devLimit, rfalNfcvListenDevice *nfcvDevList, uint8_t *devCnt)
NFC-V Poller Full Collision Resolution. More...
ReturnCode | rfalNfcvPollerSleepCollisionResolution (uint8_t devLimit, rfalNfcvListenDevice *nfcvDevList, uint8_t *devCnt)
NFC-V Poller Full Collision Resolution With Sleep. More...
ReturnCode | rfalNfcvPollerSleep (uint8_t flags, const uint8_t *uid)
NFC-V Poller Sleep. More...
ReturnCode | rfalNfcvPollerSelect (uint8_t flags, const uint8_t *uid)
NFC-V Poller Select. More...
ReturnCode | rfalNfcvPollerReadSingleBlock (uint8_t flags, const uint8_t *uid, uint8_t blockNum, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Poller Read Single Block. More...
ReturnCode | rfalNfcvPollerWriteSingleBlock (uint8_t flags, const uint8_t *uid, uint8_t blockNum, const uint8_t *wrData, uint8_t blockLen)
NFC-V Poller Write Single Block. More...
ReturnCode | rfalNfcvPollerReadMultipleBlocks (uint8_t flags, const uint8_t *uid, uint8_t firstBlockNum, uint8_t numOfBlocks, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Poller Read Multiple Blocks. More...
ReturnCode | rfalNfcvPollerWriteMultipleBlocks (uint8_t flags, const uint8_t *uid, uint8_t firstBlockNum, uint8_t numOfBlocks, uint8_t *txBuf, uint16_t txBufLen, uint8_t blockLen, const uint8_t *wrData, uint16_t wrDataLen)
NFC-V Poller Write Multiple Blocks. More...
ReturnCode | rfalNfcvPollerLockBlock (uint8_t flags, const uint8_t *uid, uint8_t blockNum)
NFC-V Poller Extended Lock Single Block. More...
ReturnCode | rfalNfcvPollerExtendedLockSingleBlock (uint8_t flags, const uint8_t *uid, uint16_t blockNum)
NFC-V Poller Extended Lock Single Block. More...
ReturnCode | rfalNfcvPollerExtendedReadSingleBlock (uint8_t flags, const uint8_t *uid, uint16_t blockNum, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Poller Extended Read Single Block. More...
ReturnCode | rfalNfcvPollerExtendedWriteSingleBlock (uint8_t flags, const uint8_t *uid, uint16_t blockNum, const uint8_t *wrData, uint8_t blockLen)
NFC-V Poller Extended Write Single Block. More...
ReturnCode | rfalNfcvPollerExtendedReadMultipleBlocks (uint8_t flags, const uint8_t *uid, uint16_t firstBlockNum, uint16_t numOfBlocks, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Poller Extended Read Multiple Blocks. More...
ReturnCode | rfalNfcvPollerExtendedWriteMultipleBlocks (uint8_t flags, const uint8_t *uid, uint16_t firstBlockNum, uint16_t numOfBlocks, uint8_t *txBuf, uint16_t txBufLen, uint8_t blockLen, const uint8_t *wrData, uint16_t wrDataLen)
NFC-V Poller Extended Write Multiple Blocks. More...
ReturnCode | rfalNfcvPollerGetSystemInformation (uint8_t flags, const uint8_t *uid, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Get System Information. More...
ReturnCode | rfalNfcvPollerExtendedGetSystemInformation (uint8_t flags, const uint8_t *uid, uint8_t requestField, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Extended Get System Information. More...
ReturnCode | rfalNfcvPollerTransceiveReq (uint8_t cmd, uint8_t flags, uint8_t param, const uint8_t *uid, const uint8_t *data, uint16_t dataLen, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Transceive Request. More...

Detailed Description

Macro Definition Documentation

#define RFAL_NFCV_BLOCKNUM_EXTENDED_LEN 2U

Block Number length on extended commands: 16 bits

#define RFAL_NFCV_BLOCKNUM_LEN 1U

Block Number length on normal commands: 8 bits

#define RFAL_NFCV_BNO_LEN 1U

NFC-V Block Number length

#define RFAL_NFCV_CRC_LEN 2U

NFC-V CRC length

#define RFAL_NFCV_MAX_BLOCK_LEN 32U

Max Block size: can be of up to 256 bits ISO 15693 2000 5

#define RFAL_NFCV_MAX_GEN_DATA_LEN (RFAL_NFCV_MAX_BLOCK_LEN + RFAL_NFCV_BNO_LEN + RFAL_NFCV_UID_LEN)

Max data

#define RFAL_NFCV_PARAM_SKIP 0U

Skip proprietary Param Request

#define RFAL_NFCV_UID_LEN 8U

NFC-V UID length

Enumeration Type Documentation

anonymous enum

NFC-V RequestFlags ISO15693 2000 7.3.1

Enumerator
RFAL_NFCV_REQ_FLAG_DEFAULT | Default Request Flags
RFAL_NFCV_REQ_FLAG_SUB_CARRIER | Sub Carrier flag
RFAL_NFCV_REQ_FLAG_DATA_RATE | Data Rate flag
RFAL_NFCV_REQ_FLAG_INVENTORY | Inventory flag
RFAL_NFCV_REQ_FLAG_PROTOCOL_EXT | Protocol Extension flag
RFAL_NFCV_REQ_FLAG_SELECT | Select flag
RFAL_NFCV_REQ_FLAG_ADDRESS | Address flag
RFAL_NFCV_REQ_FLAG_OPTION | Option flag
RFAL_NFCV_REQ_FLAG_RFU | RFU flag
RFAL_NFCV_REQ_FLAG_AFI | AFI flag
RFAL_NFCV_REQ_FLAG_NB_SLOTS | Number of Slots flag
anonymous enum

NFC-V Response Flags ISO15693 2000 7.4.1

Enumerator
RFAL_NFCV_RES_FLAG_ERROR | Error flag
RFAL_NFCV_RES_FLAG_RFU1 | RFU flag
RFAL_NFCV_RES_FLAG_RFU2 | RFU flag
RFAL_NFCV_RES_FLAG_EXTENSION | Extension flag
RFAL_NFCV_RES_FLAG_RFU3 | RFU flag
RFAL_NFCV_RES_FLAG_RFU4 | RFU flag
RFAL_NFCV_RES_FLAG_RFU5 | RFU flag
RFAL_NFCV_RES_FLAG_RFU6 | RFU flag
anonymous enum

NFC-V Error code ISO15693 2000 7.4.2

Enumerator
RFAL_NFCV_ERROR_CMD_NOT_SUPPORTED | The command is not supported, code is not recognised
RFAL_NFCV_ERROR_CMD_NOT_RECOGNIZED | The command is not recognised, format error occurred
RFAL_NFCV_ERROR_OPTION_NOT_SUPPORTED | The option is not supported
RFAL_NFCV_ERROR_UNKNOWN | Unknown error
RFAL_NFCV_ERROR_BLOCK_NOT_AVALIABLE | The specified block is not available
RFAL_NFCV_ERROR_BLOCK_ALREDY_LOCKED | The specified block is already locked
RFAL_NFCV_ERROR_BLOCK_LOCKED | The specified block is locked
RFAL_NFCV_ERROR_WRITE_FAILED | The specified block was not successfully programmed
RFAL_NFCV_ERROR_BLOCK_FAILED | The specified block was not successfully locked
anonymous enum

NFC-V command set ISO15693 2000 9.1

Enumerator
RFAL_NFCV_CMD_INVENTORY | INVENTORY_REQ (Inventory) command
RFAL_NFCV_CMD_SLPV | SLPV_REQ (Stay quiet) command
RFAL_NFCV_CMD_READ_SINGLE_BLOCK | Read single block command
RFAL_NFCV_CMD_WRITE_SINGLE_BLOCK | Write single block command
RFAL_NFCV_CMD_LOCK_BLOCK | Lock block command
RFAL_NFCV_CMD_READ_MULTIPLE_BLOCKS | Read multiple blocks command
RFAL_NFCV_CMD_WRITE_MULTIPLE_BLOCKS | Write multiple blocks command
RFAL_NFCV_CMD_SELECT | Select command
RFAL_NFCV_CMD_RESET_TO_READY | Reset To Ready command
RFAL_NFCV_CMD_GET_SYS_INFO | Get System Information command
RFAL_NFCV_CMD_EXTENDED_READ_SINGLE_BLOCK | Extended read single block command
RFAL_NFCV_CMD_EXTENDED_WRITE_SINGLE_BLOCK | Extended write single block command
RFAL_NFCV_CMD_EXTENDED_LOCK_SINGLE_BLOCK | Extended lock single block command
RFAL_NFCV_CMD_EXTENDED_READ_MULTIPLE_BLOCK | Extended read multiple block command
RFAL_NFCV_CMD_EXTENDED_WRITE_MULTIPLE_BLOCK | Extended read multiple block command
RFAL_NFCV_CMD_EXTENDED_GET_SYS_INFO | Extended Get System Information command
anonymous enum

ST25TV/ST25DV command set

Enumerator
RFAL_NFCV_CMD_READ_CONFIGURATION | Read configuration command
RFAL_NFCV_CMD_WRITE_CONFIGURATION | Write configuration command
RFAL_NFCV_CMD_SET_EAS | Set EAS command
RFAL_NFCV_CMD_RESET_EAS | Reset EAS command
RFAL_NFCV_CMD_LOCK_EAS | Lock EAS command
RFAL_NFCV_CMD_ENABLE_EAS | Enable EAS command
RFAL_NFCV_CMD_KILL | Kill command
RFAL_NFCV_CMD_WRITE_EAS_ID | Write EAS ID command
RFAL_NFCV_CMD_WRITE_EAS_CONFIG | Write EAS CONFIG command
RFAL_NFCV_CMD_MANAGE_GPO | Manage GPO command
RFAL_NFCV_CMD_WRITE_MESSAGE | Write Message command
RFAL_NFCV_CMD_READ_MESSAGE_LENGTH | Read Message Length command
RFAL_NFCV_CMD_READ_MESSAGE | Read Message command
RFAL_NFCV_CMD_READ_DYN_CONFIGURATION | Read Dynamic Configuration command
RFAL_NFCV_CMD_WRITE_DYN_CONFIGURATION | Write Dynamic Configuration command
RFAL_NFCV_CMD_WRITE_PASSWORD | Write Kill Password / Write Password command
RFAL_NFCV_CMD_LOCK_KILL | Lock Kill command
RFAL_NFCV_CMD_PRESENT_PASSWORD | Present Password command
RFAL_NFCV_CMD_GET_RANDOM_NUMBER | Get Random Number command
RFAL_NFCV_CMD_FAST_READ_SINGLE_BLOCK | Fast Read single block command
RFAL_NFCV_CMD_FAST_READ_MULTIPLE_BLOCKS | Fast Read multiple blocks command
RFAL_NFCV_CMD_FAST_EXTENDED_READ_SINGLE_BLOCK | Fast Extended Read single block command
RFAL_NFCV_CMD_FAST_EXTENDED_READ_MULTIPLE_BLOCKS | Fast Extended Read multiple blocks command
RFAL_NFCV_CMD_FAST_WRITE_MESSAGE | Fast Write Message
RFAL_NFCV_CMD_FAST_READ_MESSAGE_LENGTH | Fast Read Message Length
RFAL_NFCV_CMD_FAST_READ_MESSAGE | Fast Read Message
RFAL_NFCV_CMD_FAST_READ_DYN_CONFIGURATION | Fast Read Dynamic configuration
RFAL_NFCV_CMD_FAST_WRITE_DYN_CONFIGURATION | Fast Write Dynamic Configuration
anonymous enum

ISO 15693 Get System info parameter request field ISO15693 2018 Table 94

Enumerator
RFAL_NFCV_SYSINFO_DFSID | Get System info DFSID flag
RFAL_NFCV_SYSINFO_AFI | Get System info AFI flag
RFAL_NFCV_SYSINFO_MEMSIZE | Get System info MEMSIZE flag
RFAL_NFCV_SYSINFO_ICREF | Get System info ICREF flag
RFAL_NFCV_SYSINFO_MOI | Get System info MOI flag
RFAL_NFCV_SYSINFO_CMDLIST | Get System info CMDLIST flag
RFAL_NFCV_SYSINFO_CSI | Get System info CSI flag
RFAL_NFCV_SYSINFO_REQ_ALL | Get System info request of all parameters
enum rfalNfcvNumSlots

NFC-V Number of slots Digital 2.0 9.6.1

Enumerator
RFAL_NFCV_NUM_SLOTS_1 | Number of slots: 1
RFAL_NFCV_NUM_SLOTS_16 | Number of slots: 16

Function Documentation

ReturnCode rfalNfcvPollerCheckPresence ( rfalNfcvInventoryRes * invRes )

This method checks if a NFC-V Listen device (VICC) is present on the field by sending an Inventory (INVENTORY_REQ)

Parameters
[out] invRes : If received, the INVENTORY_RES
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 detectedd
ERR_NONE : No error, one or more device in the field
Examples:
exampleRfalPoller.c.
ReturnCode rfalNfcvPollerCollisionResolution | ( | rfalComplianceMode | compMode,
 |  | uint8_t | devLimit,
 |  | rfalNfcvListenDevice * | nfcvDevList,
 |  | uint8_t * | devCnt
 | ) |  |

Performs a full Collision resolution as defined in Activity 2.0 9.3.7 Once done, the devCnt will indicate how many (if any) devices have been identified and their details are contained on nfcvDevList

Parameters
[in] | compMode | : compliance mode to be performed
[in] | devLimit | : device limit value, and size nfcaDevList
[out] | nfcvDevList | : NFC-v listener devices list
[out] | devCnt | : Devices found counter

When compMode is set to ISO the function immediately goes to 16 slots improving chances to detect more than only one strong card.

Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_NONE : No error
Examples:
exampleRfalPoller.c.
ReturnCode rfalNfcvPollerExtendedGetSystemInformation | ( | uint8_t | flags,
 |  | const uint8_t * | uid,
 |  | uint8_t | requestField,
 |  | uint8_t * | rxBuf,
 |  | uint16_t | rxBufLen,
 |  | uint16_t * | rcvLen
 | ) |  |

Sends Extended Get System Information command

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device to be put to be read if UID is provided Addressed mode will be used
[in] | requestField | : Get System info parameter request field
[out] | rxBuf | : buffer to store response (also with RES_FLAGS)
[in] | rxBufLen | : length of rxBuf
[out] | rcvLen | : number of bytes received
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
ReturnCode rfalNfcvPollerExtendedLockSingleBlock | ( | uint8_t | flags,
 |  | const uint8_t * | uid,
 |  | uint16_t | blockNum
 | ) |  |

Blocks a Single Block from a device (VICC) supporting extended commands

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device if UID is provided Addressed mode will be used
[in] | blockNum | : Number of the block to be locked (16 bits)
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
ReturnCode rfalNfcvPollerExtendedReadMultipleBlocks | ( | uint8_t | flags,
 |  | const uint8_t * | uid,
 |  | uint16_t | firstBlockNum,
 |  | uint16_t | numOfBlocks,
 |  | uint8_t * | rxBuf,
 |  | uint16_t | rxBufLen,
 |  | uint16_t * | rcvLen
 | ) |  |

Reads Multiple Blocks from a device (VICC) supporting extended commands

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device to be put to be read if UID is provided Addressed mode will be used
[in] | firstBlockNum | : first block to be read (16 bits)
[in] | numOfBlocks | : number of consecutive blocks to read (16 bits)
[out] | rxBuf | : buffer to store response (also with RES_FLAGS)
[in] | rxBufLen | : length of rxBuf
[out] | rcvLen | : number of bytes received
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
ReturnCode rfalNfcvPollerExtendedReadSingleBlock | ( | uint8_t | flags,
 |  | const uint8_t * | uid,
 |  | uint16_t | blockNum,
 |  | uint8_t * | rxBuf,
 |  | uint16_t | rxBufLen,
 |  | uint16_t * | rcvLen
 | ) |  |

Reads a Single Block from a device (VICC) supporting extended commands

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device to be put to be read if UID is provided Addressed mode will be used
[in] | blockNum | : Number of the block to read (16 bits)
[out] | rxBuf | : buffer to store response (also with RES_FLAGS)
[in] | rxBufLen | : length of rxBuf
[out] | rcvLen | : number of bytes received
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
ReturnCode rfalNfcvPollerExtendedWriteMultipleBlocks | ( | uint8_t | flags,
 |  | const uint8_t * | uid,
 |  | uint16_t | firstBlockNum,
 |  | uint16_t | numOfBlocks,
 |  | uint8_t * | txBuf,
 |  | uint16_t | txBufLen,
 |  | uint8_t | blockLen,
 |  | const uint8_t * | wrData,
 |  | uint16_t | wrDataLen
 | ) |  |

Writes Multiple Blocks from a device (VICC) supporting extended commands In order to not limit the length of the Write multiple command, a buffer must be provided where the request will be composed and then sent.

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device to be put to be read if UID is provided Addressed mode will be used
[in] | firstBlockNum | : first block to be write (16 bits)
[in] | numOfBlocks | : number of consecutive blocks to write (16 bits)
[in] | txBuf | : buffer where the request will be composed
[in] | txBufLen | : length of txBuf
[in] | blockLen | : number of bytes of a block
[in] | wrData | : data to be written
[in] | wrDataLen | : length of the data do be written. Must be aligned with number of blocks to write and the size of a block
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
ReturnCode rfalNfcvPollerExtendedWriteSingleBlock | ( | uint8_t | flags,
 |  | const uint8_t * | uid,
 |  | uint16_t | blockNum,
 |  | const uint8_t * | wrData,
 |  | uint8_t | blockLen
 | ) |  |

Writes a Single Block from a device (VICC) supporting extended commands

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device if UID is provided Addressed mode will be used
[in] | blockNum | : Number of the block to write (16 bits)
[in] | wrData | : data to be written on the given block
[in] | blockLen | : number of bytes of a block
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
ReturnCode rfalNfcvPollerGetSystemInformation | ( | uint8_t | flags,
 |  | const uint8_t * | uid,
 |  | uint8_t * | rxBuf,
 |  | uint16_t | rxBufLen,
 |  | uint16_t * | rcvLen
 | ) |  |

Sends Get System Information command

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device to be put to be read if UID is provided Addressed mode will be used
[out] | rxBuf | : buffer to store response (also with RES_FLAGS)
[in] | rxBufLen | : length of rxBuf
[out] | rcvLen | : number of bytes received
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
ReturnCode rfalNfcvPollerInitialize ( void )

This methods configures RFAL RF layer to perform as a NFC-F Poller/RW (ISO15693) including all default timings

Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_PARAM : Incorrect bitrate
ERR_NONE : No error
Examples:
exampleRfalPoller.c.
ReturnCode rfalNfcvPollerInventory | ( | rfalNfcvNumSlots | nSlots,
 |  | uint8_t | maskLen,
 |  | const uint8_t * | maskVal,
 |  | rfalNfcvInventoryRes * | invRes,
 |  | uint16_t * | rcvdLen
 | ) |  |

This function sends to all VICCs in field the INVENTORY command with the given number of slots

If more than one slot is used the following EOF need to be handled by the caller using rfalISO15693TransceiveEOFAnticollision()

Parameters
[in] | nSlots | : Number of Slots to be sent (1 or 16)
[in] | maskLen | : Number bits on the Mask value
[in] | maskVal | : location of the Mask value
[out] | invRes | : location to place the INVENTORY_RES
[out] | rcvdLen | : number of bits received (without collision)
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_RF_COLLISION : Collision detected
ERR_CRC : CRC error detected
ERR_PROTO : Protocol error detected
ERR_NONE : No error
ReturnCode rfalNfcvPollerLockBlock | ( | uint8_t | flags,
 |  | const uint8_t * | uid,
 |  | uint8_t | blockNum
 | ) |  |

Blocks a Single Block from a device (VICC) supporting extended commands

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device if UID is provided Addressed mode will be used
[in] | blockNum | : Number of the block to be locked
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
ReturnCode rfalNfcvPollerReadMultipleBlocks | ( | uint8_t | flags,
 |  | const uint8_t * | uid,
 |  | uint8_t | firstBlockNum,
 |  | uint8_t | numOfBlocks,
 |  | uint8_t * | rxBuf,
 |  | uint16_t | rxBufLen,
 |  | uint16_t * | rcvLen
 | ) |  |

Reads Multiple Blocks from a device (VICC)

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device to be put to be read if UID is provided Addressed mode will be used
[in] | firstBlockNum | : first block to be read
[in] | numOfBlocks | : number of block to read
[out] | rxBuf | : buffer to store response (also with RES_FLAGS)
[in] | rxBufLen | : length of rxBuf
[out] | rcvLen | : number of bytes received
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
ReturnCode rfalNfcvPollerReadSingleBlock | ( | uint8_t | flags,
 |  | const uint8_t * | uid,
 |  | uint8_t | blockNum,
 |  | uint8_t * | rxBuf,
 |  | uint16_t | rxBufLen,
 |  | uint16_t * | rcvLen
 | ) |  |

Reads a Single Block from a device (VICC)

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device to be put to be read if UID is provided Addressed mode will be used
[in] | blockNum | : Number of the block to read
[out] | rxBuf | : buffer to store response (also with RES_FLAGS)
[in] | rxBufLen | : length of rxBuf
[out] | rcvLen | : number of bytes received
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
ReturnCode rfalNfcvPollerSelect | ( | uint8_t | flags,
 |  | const uint8_t * | uid
 | ) |  |

Selects a device (VICC) by its UID

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device to be put to be Selected
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
ReturnCode rfalNfcvPollerSleep | ( | uint8_t | flags,
 |  | const uint8_t * | uid
 | ) |  |

This function is used to send the SLPV_REQ (Stay Quiet) command to put the VICC with the given UID to state QUIET so that they do not reply to more Inventory

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device to be put to Sleep
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_NONE : No error
ReturnCode rfalNfcvPollerSleepCollisionResolution | ( | uint8_t | devLimit,
 |  | rfalNfcvListenDevice * | nfcvDevList,
 |  | uint8_t * | devCnt
 | ) |  |

Performs a full Collision resolution which is different from Activity 2.0 9.3.7. The implementation uses SLPV (StayQuiet) command to make sure all cards are found. Once done, the devCnt will indicate how many (if any) devices have been identified and their details are contained on nfcvDevList

Parameters
[in] | devLimit | : device limit value, and size nfcaDevList
[out] | nfcvDevList | : NFC-v listener devices list
[out] | devCnt | : Devices found counter
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_NONE : No error
ReturnCode rfalNfcvPollerTransceiveReq | ( | uint8_t | cmd,
 |  | uint8_t | flags,
 |  | uint8_t | param,
 |  | const uint8_t * | uid,
 |  | const uint8_t * | data,
 |  | uint16_t | dataLen,
 |  | uint8_t * | rxBuf,
 |  | uint16_t | rxBufLen,
 |  | uint16_t * | rcvLen
 | ) |  |

Performs a generic transceive with an ISO15693 tag

Parameters
[in] | cmd | : NFC-V command
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | param | : Prepend parameter on certain proprietary requests For default commands skip: RFAL_NFCV_PARAM_SKIP
[in] | uid | : UID of the device to be put to be read if UID is provided Addressed mode will be used
[in] | data | : command parameters append after UID
[in] | dataLen | : command parameters Len
[out] | rxBuf | : buffer to store response (also with RES_FLAGS)
[in] | rxBufLen | : length of rxBuf
[out] | rcvLen | : number of bytes received
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
ReturnCode rfalNfcvPollerWriteMultipleBlocks | ( | uint8_t | flags,
 |  | const uint8_t * | uid,
 |  | uint8_t | firstBlockNum,
 |  | uint8_t | numOfBlocks,
 |  | uint8_t * | txBuf,
 |  | uint16_t | txBufLen,
 |  | uint8_t | blockLen,
 |  | const uint8_t * | wrData,
 |  | uint16_t | wrDataLen
 | ) |  |

Reads Multiple Blocks from a device (VICC) In order to not limit the length of the Write multiple command, a buffer must be provided where the request will be composed and then sent.

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device to be put to be read if UID is provided Addressed mode will be used
[in] | firstBlockNum | : first block to be write
[in] | numOfBlocks | : number of consecutive blocks to write
[in] | txBuf | : buffer where the request will be composed
[in] | txBufLen | : length of txBuf
[in] | blockLen | : number of bytes of a block
[in] | wrData | : data to be written
[in] | wrDataLen | : length of the data do be written. Must be aligned with number of blocks to write and the size of a block
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
ReturnCode rfalNfcvPollerWriteSingleBlock | ( | uint8_t | flags,
 |  | const uint8_t * | uid,
 |  | uint8_t | blockNum,
 |  | const uint8_t * | wrData,
 |  | uint8_t | blockLen
 | ) |  |

Writes a Single Block from a device (VICC)

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device to be put to be written if UID is provided Addressed mode will be used
[in] | blockNum | : Number of the block to write
[in] | wrData | : data to be written on the given block
[in] | blockLen | : number of bytes of a block
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
Generated on Wed May 20 2020 18:07:14 for RFAL by doxygen 1.8.6


RFAL: rfalNfcvInventoryRes Struct Reference

Data Fields
rfalNfcvInventoryRes Struct Reference
NFC-V

#include <rfal_nfcv.h>

Data Fields

uint8_t | RES_FLAG
uint8_t | DSFID
uint8_t | UID [RFAL_NFCV_UID_LEN]
uint8_t | crc [RFAL_CRC_LEN]

Detailed Description

NFC-V INVENTORY_RES format Digital 2.0 9.6.2

Examples:
exampleRfalPoller.c.

Field Documentation

uint8_t rfalNfcvInventoryRes::crc[RFAL_CRC_LEN]

CRC

uint8_t rfalNfcvInventoryRes::DSFID

Data Storage Format Identifier

uint8_t rfalNfcvInventoryRes::RES_FLAG

Response Flags

uint8_t rfalNfcvInventoryRes::UID[RFAL_NFCV_UID_LEN]

NFC-V device UID

The documentation for this struct was generated from the following file:
  • rfal_nfcv.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalNfcvGenericReq Struct Reference

Data Fields
rfalNfcvGenericReq Struct Reference
NFC-V

#include <rfal_nfcv.h>

Data Fields

uint8_t | REQ_FLAG
uint8_t | CMD
union {
uint8_t UID [RFAL_NFCV_UID_LEN]
uint8_t data [RFAL_NFCV_MAX_GEN_DATA_LEN]
} payload

Detailed Description

NFC-V Generic Req format

Field Documentation

uint8_t rfalNfcvGenericReq::CMD

Command code

uint8_t rfalNfcvGenericReq::data[RFAL_NFCV_MAX_GEN_DATA_LEN]

Data

union { ... } rfalNfcvGenericReq::payload

Payload

uint8_t rfalNfcvGenericReq::REQ_FLAG

Request Flags

uint8_t rfalNfcvGenericReq::UID[RFAL_NFCV_UID_LEN]

Mask Value

The documentation for this struct was generated from the following file:
  • rfal_nfcv.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalNfcvGenericRes Struct Reference

Data Fields
rfalNfcvGenericRes Struct Reference
NFC-V

#include <rfal_nfcv.h>

Data Fields

uint8_t | RES_FLAG
uint8_t | data [RFAL_NFCV_MAX_GEN_DATA_LEN]

Detailed Description

NFC-V Generic Response format

Field Documentation

uint8_t rfalNfcvGenericRes::data[RFAL_NFCV_MAX_GEN_DATA_LEN]

Data

uint8_t rfalNfcvGenericRes::RES_FLAG

Response Flags

The documentation for this struct was generated from the following file:
  • rfal_nfcv.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalNfcvListenDevice Struct Reference

Data Fields
rfalNfcvListenDevice Struct Reference
NFC-V

#include <rfal_nfcv.h>

Collaboration diagram for rfalNfcvListenDevice:
[legend]

Data Fields

rfalNfcvInventoryRes InvRes
bool isSleep

Detailed Description

NFC-V listener device (VICC) struct

Examples:
exampleRfalPoller.c.

Field Documentation

rfalNfcvInventoryRes rfalNfcvListenDevice::InvRes

INVENTORY_RES

bool rfalNfcvListenDevice::isSleep

Device sleeping flag

The documentation for this struct was generated from the following file:
  • rfal_nfcv.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: ST25TB

Data Structures | Macros | Typedefs | Functions
ST25TB
RFAL-AL

RFAL ST25TB Module. More...

Collaboration diagram for ST25TB:

Data Structures

struct rfalSt25tbListenDevice

Macros

#define | RFAL_ST25TB_CHIP_ID_LEN 1U
#define | RFAL_ST25TB_CRC_LEN 2U
#define | RFAL_ST25TB_UID_LEN 8U
#define | RFAL_ST25TB_BLOCK_LEN 4U

Typedefs

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

Functions

ReturnCode | rfalSt25tbPollerInitialize (void)
Initialize ST25TB Poller mode. More...
ReturnCode | rfalSt25tbPollerCheckPresence (uint8_t *chipId)
ST25TB Poller Check Presence. More...
ReturnCode | rfalSt25tbPollerCollisionResolution (uint8_t devLimit, rfalSt25tbListenDevice *st25tbDevList, uint8_t *devCnt)
ST25TB Poller Collision Resolution. More...
ReturnCode | rfalSt25tbPollerInitiate (uint8_t *chipId)
ST25TB Poller Initiate. More...
ReturnCode | rfalSt25tbPollerPcall (uint8_t *chipId)
ST25TB Poller Pcall. More...
ReturnCode | rfalSt25tbPollerSlotMarker (uint8_t slotNum, uint8_t *chipIdRes)
ST25TB Poller Slot Marker. More...
ReturnCode | rfalSt25tbPollerSelect (uint8_t chipId)
ST25TB Poller Select. More...
ReturnCode | rfalSt25tbPollerGetUID (rfalSt25tbUID *UID)
ST25TB Get UID. More...
ReturnCode | rfalSt25tbPollerReadBlock (uint8_t blockAddress, rfalSt25tbBlock *blockData)
ST25TB Poller Read Block. More...
ReturnCode | rfalSt25tbPollerWriteBlock (uint8_t blockAddress, const rfalSt25tbBlock *blockData)
ST25TB Poller Write Block. More...
ReturnCode | rfalSt25tbPollerCompletion (void)
ST25TB Poller Completion. More...
ReturnCode | rfalSt25tbPollerResetToInventory (void)
ST25TB Poller Reset to Inventory. More...

Detailed Description

Macro Definition Documentation

#define RFAL_ST25TB_BLOCK_LEN 4U

ST25TB Data Block length

#define RFAL_ST25TB_CHIP_ID_LEN 1U

ST25TB chip ID length

#define RFAL_ST25TB_CRC_LEN 2U

ST25TB CRC length

#define RFAL_ST25TB_UID_LEN 8U

ST25TB Unique ID length

Typedef Documentation

typedef uint8_t rfalSt25tbBlock[RFAL_ST25TB_BLOCK_LEN]

ST25TB Block type

typedef uint8_t rfalSt25tbUID[RFAL_ST25TB_UID_LEN]

ST25TB UID type

Function Documentation

ReturnCode rfalSt25tbPollerCheckPresence ( uint8_t * chipId )

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
ReturnCode rfalSt25tbPollerCollisionResolution | ( | uint8_t | devLimit,
 |  | rfalSt25tbListenDevice * | st25tbDevList,
 |  | uint8_t * | devCnt
 | ) |  |

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
ReturnCode rfalSt25tbPollerCompletion ( void )

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
ReturnCode rfalSt25tbPollerGetUID ( rfalSt25tbUID * 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
ReturnCode rfalSt25tbPollerInitialize ( void )

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
ReturnCode rfalSt25tbPollerInitiate ( uint8_t * chipId )

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
ReturnCode rfalSt25tbPollerPcall ( uint8_t * chipId )

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
 | ) |  |

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
ReturnCode rfalSt25tbPollerResetToInventory ( void )

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
ReturnCode rfalSt25tbPollerSelect ( uint8_t chipId )

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
ReturnCode rfalSt25tbPollerSlotMarker | ( | uint8_t | slotNum,
 |  | uint8_t * | chipIdRes
 | ) |  |

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
ReturnCode rfalSt25tbPollerWriteBlock | ( | uint8_t | blockAddress,
 |  | const rfalSt25tbBlock * | blockData
 | ) |  |

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
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalSt25tbListenDevice Struct Reference

Data Fields
rfalSt25tbListenDevice Struct Reference
ST25TB

#include <rfal_st25tb.h>

Data Fields

uint8_t | chipID
rfalSt25tbUID UID
bool | isDeselected

Detailed Description

ST25TB listener device (PICC) struct

Field Documentation

uint8_t rfalSt25tbListenDevice::chipID

Device's session Chip ID

bool rfalSt25tbListenDevice::isDeselected

Device deselect flag

rfalSt25tbUID rfalSt25tbListenDevice::UID

Device's UID

The documentation for this struct was generated from the following file:
  • rfal_st25tb.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: ST25xV

Macros | Functions
ST25xV
RFAL-AL

RFAL ST25xV Module. More...

Collaboration diagram for ST25xV:

Macros

#define | RFAL_NFCV_BLOCKNUM_M24LR_LEN 2U
#define | RFAL_NFCV_ST_IC_MFG_CODE 0x02

Functions

ReturnCode | rfalST25xVPollerM24LRReadSingleBlock (uint8_t flags, const uint8_t *uid, uint16_t blockNum, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Poller Read Single Block (M24LR) More...
ReturnCode | rfalST25xVPollerM24LRFastReadSingleBlock (uint8_t flags, const uint8_t *uid, uint16_t blockNum, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Poller Fast Read Single Block (M24LR) More...
ReturnCode | rfalST25xVPollerM24LRWriteSingleBlock (uint8_t flags, const uint8_t *uid, uint16_t blockNum, const uint8_t *wrData, uint8_t blockLen)
NFC-V Poller Write Single Block (M24LR) More...
ReturnCode | rfalST25xVPollerM24LRReadMultipleBlocks (uint8_t flags, const uint8_t *uid, uint16_t firstBlockNum, uint8_t numOfBlocks, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Poller Read Multiple Blocks (M24LR) More...
ReturnCode | rfalST25xVPollerM24LRFastReadMultipleBlocks (uint8_t flags, const uint8_t *uid, uint16_t firstBlockNum, uint8_t numOfBlocks, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Poller Fast Read Multiple Blocks (M24LR) More...
ReturnCode | rfalST25xVPollerFastReadSingleBlock (uint8_t flags, const uint8_t *uid, uint8_t blockNum, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Poller Fast Read Single Block. More...
ReturnCode | rfalST25xVPollerFastReadMultipleBlocks (uint8_t flags, const uint8_t *uid, uint8_t firstBlockNum, uint8_t numOfBlocks, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Poller Fast Read Multiple Blocks. More...
ReturnCode | rfalST25xVPollerFastExtendedReadSingleBlock (uint8_t flags, const uint8_t *uid, uint16_t blockNum, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Poller Fast Extended Read Single Block. More...
ReturnCode | rfalST25xVPollerFastExtReadMultipleBlocks (uint8_t flags, const uint8_t *uid, uint16_t firstBlockNum, uint16_t numOfBlocks, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Poller Fast Extended Read Multiple Blocks. More...
ReturnCode | rfalST25xVPollerReadConfiguration (uint8_t flags, const uint8_t *uid, uint8_t pointer, uint8_t *regValue)
NFC-V Poller Read Configuration. More...
ReturnCode | rfalST25xVPollerWriteConfiguration (uint8_t flags, const uint8_t *uid, uint8_t pointer, uint8_t regValue)
NFC-V Poller Write Configuration. More...
ReturnCode | rfalST25xVPollerReadDynamicConfiguration (uint8_t flags, const uint8_t *uid, uint8_t pointer, uint8_t *regValue)
NFC-V Poller Read Dynamic Configuration. More...
ReturnCode | rfalST25xVPollerWriteDynamicConfiguration (uint8_t flags, const uint8_t *uid, uint8_t pointer, uint8_t regValue)
NFC-V Poller Write Dynamic Configuration. More...
ReturnCode | rfalST25xVPollerFastReadDynamicConfiguration (uint8_t flags, const uint8_t *uid, uint8_t pointer, uint8_t *regValue)
NFC-V Poller Fast Read Dynamic Configuration. More...
ReturnCode | rfalST25xVPollerFastWriteDynamicConfiguration (uint8_t flags, const uint8_t *uid, uint8_t pointer, uint8_t regValue)
NFC-V Poller Fast Write Dynamic Configuration. More...
ReturnCode | rfalST25xVPollerPresentPassword (uint8_t flags, const uint8_t *uid, uint8_t pwdNum, const uint8_t *pwd, uint8_t pwdLen)
NFC-V Poller Present Password. More...
ReturnCode | rfalST25xVPollerGetRandomNumber (uint8_t flags, const uint8_t *uid, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Poller Get Random Number. More...
ReturnCode | rfalST25xVPollerReadMessageLength (uint8_t flags, const uint8_t *uid, uint8_t *msgLen)
NFC-V Poller Read Message length. More...
ReturnCode | rfalST25xVPollerFastReadMsgLength (uint8_t flags, const uint8_t *uid, uint8_t *msgLen)
NFC-V Poller Fast Read Message length. More...
ReturnCode | rfalST25xVPollerReadMessage (uint8_t flags, const uint8_t *uid, uint8_t mbPointer, uint8_t numBytes, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Poller Read Message. More...
ReturnCode | rfalST25xVPollerFastReadMessage (uint8_t flags, const uint8_t *uid, uint8_t mbPointer, uint8_t numBytes, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Poller Fast Read Message. More...
ReturnCode | rfalST25xVPollerWriteMessage (uint8_t flags, const uint8_t *uid, uint8_t msgLen, const uint8_t *msgData, uint8_t *txBuf, uint16_t txBufLen)
NFC-V Poller Write Message. More...
ReturnCode | rfalST25xVPollerFastWriteMessage (uint8_t flags, const uint8_t *uid, uint8_t msgLen, const uint8_t *msgData, uint8_t *txBuf, uint16_t txBufLen)
NFC-V Poller Fast Write Message. More...

Detailed Description

Macro Definition Documentation

#define RFAL_NFCV_BLOCKNUM_M24LR_LEN 2U

Block Number length of MR24LR tags: 16 bits

#define RFAL_NFCV_ST_IC_MFG_CODE 0x02

ST IC Mfg code (used for custom commands)

Function Documentation

ReturnCode rfalST25xVPollerFastExtendedReadSingleBlock | ( | uint8_t | flags,
 |  | const uint8_t * | uid,
 |  | uint16_t | blockNum,
 |  | uint8_t * | rxBuf,
 |  | uint16_t | rxBufLen,
 |  | uint16_t * | rcvLen
 | ) |  |

Reads a Single Block from a device (VICC) supporting extended commands using ST Fast mode

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device to be put to be read if not provided Select mode will be used
[in] | blockNum | : Number of the block to read (16 bits)
[out] | rxBuf | : buffer to store response (also with RES_FLAGS)
[in] | rxBufLen | : length of rxBuf
[out] | rcvLen | : number of bytes received
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
ReturnCode rfalST25xVPollerFastExtReadMultipleBlocks | ( | uint8_t | flags,
 |  | const uint8_t * | uid,
 |  | uint16_t | firstBlockNum,
 |  | uint16_t | numOfBlocks,
 |  | uint8_t * | rxBuf,
 |  | uint16_t | rxBufLen,
 |  | uint16_t * | rcvLen
 | ) |  |

Reads Multiple Blocks from a device (VICC) supporting extended commands using ST Fast mode

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device to be put to be read if not provided Select mode will be used
[in] | firstBlockNum | : first block to be read (16 bits)
[in] | numOfBlocks | : number of consecutive blocks to read (16 bits)
[out] | rxBuf | : buffer to store response (also with RES_FLAGS)
[in] | rxBufLen | : length of rxBuf
[out] | rcvLen | : number of bytes received
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
ReturnCode rfalST25xVPollerFastReadDynamicConfiguration | ( | uint8_t | flags,
 |  | const uint8_t * | uid,
 |  | uint8_t | pointer,
 |  | uint8_t * | regValue
 | ) |  |

Reads dynamic registers at the Pointer address using ST Fast mode

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device to be put to be read if not provided Select mode will be used
[in] | pointer | : Pointer address
[out] | regValue | : Register value
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
ReturnCode rfalST25xVPollerFastReadMessage | ( | uint8_t | flags,
 |  | const uint8_t * | uid,
 |  | uint8_t | mbPointer,
 |  | uint8_t | numBytes,
 |  | uint8_t * | rxBuf,
 |  | uint16_t | rxBufLen,
 |  | uint16_t * | rcvLen
 | ) |  |

Reads up to 256 bytes in the Mailbox from the location specified by MBpointer and sends back their value in the rxBuf response using ST Fast mode. First MailBox location is '00'. When Number of bytes is set to 00h and MBPointer is equals to 00h, the MB_LEN bytes of the full message are returned. Otherwise, Read Message command returns (Number of Bytes + 1) bytes (i.e. 01h returns 2 bytes, FFh returns 256 bytes). An error is reported if (Pointer + Nb of bytes + 1) is greater than the message length. RF Reading of the last byte of the mailbox message automatically clears b1 of MB_CTRL_Dyn HOST_PUT_MSG, and allows RF to put a new message.

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device to be put to be read if not provided Select mode will be used
[in] | mbPointer | : MPpointer
[in] | numBytes | : number of bytes
[out] | rxBuf | : buffer to store response (also with RES_FLAGS)
[in] | rxBufLen | : length of rxBuf
[out] | rcvLen | : number of bytes received
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
ReturnCode rfalST25xVPollerFastReadMsgLength | ( | uint8_t | flags,
 |  | const uint8_t * | uid,
 |  | uint8_t * | msgLen
 | ) |  |

Sends a Fast Read Message Length message to retrieve the value of MB_LEN_Dyn using ST Fast mode.

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device to be put to be read if not provided Select mode will be used
[out] | msgLen | : Message Length
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
ReturnCode rfalST25xVPollerFastReadMultipleBlocks | ( | uint8_t | flags,
 |  | const uint8_t * | uid,
 |  | uint8_t | firstBlockNum,
 |  | uint8_t | numOfBlocks,
 |  | uint8_t * | rxBuf,
 |  | uint16_t | rxBufLen,
 |  | uint16_t * | rcvLen
 | ) |  |

Reads Multiple Blocks from a device (VICC) using ST Fast mode

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device to be put to be read if not provided Select mode will be used
[in] | firstBlockNum | : first block to be read
[in] | numOfBlocks | : number of block to read
[out] | rxBuf | : buffer to store response (also with RES_FLAGS)
[in] | rxBufLen | : length of rxBuf
[out] | rcvLen | : number of bytes received
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
ReturnCode rfalST25xVPollerFastReadSingleBlock | ( | uint8_t | flags,
 |  | const uint8_t * | uid,
 |  | uint8_t | blockNum,
 |  | uint8_t * | rxBuf,
 |  | uint16_t | rxBufLen,
 |  | uint16_t * | rcvLen
 | ) |  |

Reads a Single Block from a device (VICC) using ST Fast mode

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device to be put to be read if not provided Select mode will be used
[in] | blockNum | : Number of the block to read
[out] | rxBuf | : buffer to store response (also with RES_FLAGS)
[in] | rxBufLen | : length of rxBuf
[out] | rcvLen | : number of bytes received
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
ReturnCode rfalST25xVPollerFastWriteDynamicConfiguration | ( | uint8_t | flags,
 |  | const uint8_t * | uid,
 |  | uint8_t | pointer,
 |  | uint8_t | regValue
 | ) |  |

Writes dynamic registers at the Pointer address using ST Fast mode

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device to be put to be read if not provided Select mode will be used
[in] | pointer | : Pointer address
[in] | regValue | : Register value
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
ReturnCode rfalST25xVPollerFastWriteMessage | ( | uint8_t | flags,
 |  | const uint8_t * | uid,
 |  | uint8_t | msgLen,
 |  | const uint8_t * | msgData,
 |  | uint8_t * | txBuf,
 |  | uint16_t | txBufLen
 | ) |  |

Sends Fast Write message Command using ST Fast mode

On receiving the Write Message command, the ST25DVxxx puts the data contained in the request into the Mailbox buffer, update the MB_LEN_Dyn register, and set bit RF_PUT_MSG in MB_CTRL_Dyn register. It then reports if the write operation was successful in the response. The ST25DVxxx Mailbox contains up to 256 data bytes which are filled from the first location '00'. MSGlength parameter of the command is the number of Data bytes minus 1 (00 for 1 byte of data, FFh for 256 bytes of data). Write Message could be executed only when Mailbox is accessible by RF.

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device to be put to be read if not provided Select mode will be used
[in] | msgLen | : MSGLen number of Data bytes minus 1
[in] | msgData | : Message Data
[out] | txBuf | : buffer to used to build the Write Message command
[in] | txBufLen | : length of txBuf
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
ReturnCode rfalST25xVPollerGetRandomNumber | ( | uint8_t | flags,
 |  | const uint8_t * | uid,
 |  | uint8_t * | rxBuf,
 |  | uint16_t | rxBufLen,
 |  | uint16_t * | rcvLen
 | ) |  |

Returns a 16 bit random number

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device to be put to be read if not provided Select mode will be used
[out] | rxBuf | : buffer to store response (also with RES_FLAGS)
[in] | rxBufLen | : length of rxBuf
[out] | rcvLen | : number of bytes received
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
ReturnCode rfalST25xVPollerM24LRFastReadMultipleBlocks | ( | uint8_t | flags,
 |  | const uint8_t * | uid,
 |  | uint16_t | firstBlockNum,
 |  | uint8_t | numOfBlocks,
 |  | uint8_t * | rxBuf,
 |  | uint16_t | rxBufLen,
 |  | uint16_t * | rcvLen
 | ) |  |

Reads Multiple Blocks from a device from a M24LR tag which has the number of blocks bigger than 256 (M24LR16 ; M24LR64) using ST Fast mode

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device to be put to be read if not provided Select mode will be used
[in] | firstBlockNum | : first block to be read (16 bits)
[in] | numOfBlocks | : number of block to read
[out] | rxBuf | : buffer to store response (also with RES_FLAGS)
[in] | rxBufLen | : length of rxBuf
[out] | rcvLen | : number of bytes received
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
ReturnCode rfalST25xVPollerM24LRFastReadSingleBlock | ( | uint8_t | flags,
 |  | const uint8_t * | uid,
 |  | uint16_t | blockNum,
 |  | uint8_t * | rxBuf,
 |  | uint16_t | rxBufLen,
 |  | uint16_t * | rcvLen
 | ) |  |

Reads a Single Block from a M24LR tag which has the number of blocks bigger than 256 (M24LR16 ; M24LR64) using ST Fast mode

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option default: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device to be put to be read if not provided Select mode will be used
[in] | blockNum | : Number of the block to read (16 bits)
[out] | rxBuf | : buffer to store response (also with RES_FLAGS)
[in] | rxBufLen | : length of rxBuf
[out] | rcvLen | : number of bytes received
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
ReturnCode rfalST25xVPollerM24LRReadMultipleBlocks | ( | uint8_t | flags,
 |  | const uint8_t * | uid,
 |  | uint16_t | firstBlockNum,
 |  | uint8_t | numOfBlocks,
 |  | uint8_t * | rxBuf,
 |  | uint16_t | rxBufLen,
 |  | uint16_t * | rcvLen
 | ) |  |

Reads Multiple Blocks from a device from a M24LR tag which has the number of blocks bigger than 256 (M24LR16 ; M24LR64)

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device to be put to be read if not provided Select mode will be used
[in] | firstBlockNum | : first block to be read (16 bits)
[in] | numOfBlocks | : number of block to read
[out] | rxBuf | : buffer to store response (also with RES_FLAGS)
[in] | rxBufLen | : length of rxBuf
[out] | rcvLen | : number of bytes received
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
ReturnCode rfalST25xVPollerM24LRReadSingleBlock | ( | uint8_t | flags,
 |  | const uint8_t * | uid,
 |  | uint16_t | blockNum,
 |  | uint8_t * | rxBuf,
 |  | uint16_t | rxBufLen,
 |  | uint16_t * | rcvLen
 | ) |  |

Reads a Single Block from a M24LR tag which has the number of blocks bigger than 256 (M24LR16 ; M24LR64)

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option default: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device to be put to be read if not provided Select mode will be used
[in] | blockNum | : Number of the block to read (16 bits)
[out] | rxBuf | : buffer to store response (also with RES_FLAGS)
[in] | rxBufLen | : length of rxBuf
[out] | rcvLen | : number of bytes received
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
ReturnCode rfalST25xVPollerM24LRWriteSingleBlock | ( | uint8_t | flags,
 |  | const uint8_t * | uid,
 |  | uint16_t | blockNum,
 |  | const uint8_t * | wrData,
 |  | uint8_t | blockLen
 | ) |  |

Writes a Single Block from a M24LR tag which has the number of blocks bigger than 256 (M24LR16 ; M24LR64)

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device to be put to be written if not provided Select mode will be used
[in] | blockNum | : Number of the block to write (16 bits)
[in] | wrData | : data to be written on the given block
[in] | blockLen | : number of bytes of a block
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
ReturnCode rfalST25xVPollerPresentPassword | ( | uint8_t | flags,
 |  | const uint8_t * | uid,
 |  | uint8_t | pwdNum,
 |  | const uint8_t * | pwd,
 |  | uint8_t | pwdLen
 | ) |  |

Sends the Present Password command

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device to be put to be read if not provided Select mode will be used
[in] | pwdNum | : Password number
[in] | pwd | : Password
[in] | pwdLen | : Password length
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
ReturnCode rfalST25xVPollerReadConfiguration | ( | uint8_t | flags,
 |  | const uint8_t * | uid,
 |  | uint8_t | pointer,
 |  | uint8_t * | regValue
 | ) |  |

Reads static configuration registers at the Pointer address

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device to be put to be read if not provided Select mode will be used
[in] | pointer | : Pointer address
[out] | regValue | : Register value
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
ReturnCode rfalST25xVPollerReadDynamicConfiguration | ( | uint8_t | flags,
 |  | const uint8_t * | uid,
 |  | uint8_t | pointer,
 |  | uint8_t * | regValue
 | ) |  |

Reads dynamic registers at the Pointer address

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device to be put to be read if not provided Select mode will be used
[in] | pointer | : Pointer address
[out] | regValue | : Register value
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
ReturnCode rfalST25xVPollerReadMessage | ( | uint8_t | flags,
 |  | const uint8_t * | uid,
 |  | uint8_t | mbPointer,
 |  | uint8_t | numBytes,
 |  | uint8_t * | rxBuf,
 |  | uint16_t | rxBufLen,
 |  | uint16_t * | rcvLen
 | ) |  |

Reads up to 256 bytes in the Mailbox from the location specified by MBpointer and sends back their value in the rxBuf response. First MailBox location is '00'. When Number of bytes is set to 00h and MBPointer is equals to 00h, the MB_LEN bytes of the full message are returned. Otherwise, Read Message command returns (Number of Bytes + 1) bytes (i.e. 01h returns 2 bytes, FFh returns 256 bytes). An error is reported if (Pointer + Nb of bytes + 1) is greater than the message length. RF Reading of the last byte of the mailbox message automatically clears b1 of MB_CTRL_Dyn HOST_PUT_MSG, and allows RF to put a new message.

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device to be put to be read if not provided Select mode will be used
[in] | mbPointer | : MPpointer
[in] | numBytes | : number of bytes
[out] | rxBuf | : buffer to store response (also with RES_FLAGS)
[in] | rxBufLen | : length of rxBuf
[out] | rcvLen | : number of bytes received
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
ReturnCode rfalST25xVPollerReadMessageLength | ( | uint8_t | flags,
 |  | const uint8_t * | uid,
 |  | uint8_t * | msgLen
 | ) |  |

Sends a Read Message Length message to retrieve the value of MB_LEN_Dyn

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device to be put to be read if not provided Select mode will be used
[out] | msgLen | : Message Length
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
ReturnCode rfalST25xVPollerWriteConfiguration | ( | uint8_t | flags,
 |  | const uint8_t * | uid,
 |  | uint8_t | pointer,
 |  | uint8_t | regValue
 | ) |  |

Writes static configuration registers at the Pointer address

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device to be put to be read if not provided Select mode will be used
[in] | pointer | : Pointer address
[in] | regValue | : Register value
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
ReturnCode rfalST25xVPollerWriteDynamicConfiguration | ( | uint8_t | flags,
 |  | const uint8_t * | uid,
 |  | uint8_t | pointer,
 |  | uint8_t | regValue
 | ) |  |

Writes dynamic registers at the Pointer address

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device to be put to be read if not provided Select mode will be used
[in] | pointer | : Pointer address
[in] | regValue | : Register value
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
ReturnCode rfalST25xVPollerWriteMessage | ( | uint8_t | flags,
 |  | const uint8_t * | uid,
 |  | uint8_t | msgLen,
 |  | const uint8_t * | msgData,
 |  | uint8_t * | txBuf,
 |  | uint16_t | txBufLen
 | ) |  |

Sends Write message Command

On receiving the Write Message command, the ST25DVxxx puts the data contained in the request into the Mailbox buffer, update the MB_LEN_Dyn register, and set bit RF_PUT_MSG in MB_CTRL_Dyn register. It then reports if the write operation was successful in the response. The ST25DVxxx Mailbox contains up to 256 data bytes which are filled from the first location '00'. MSGlength parameter of the command is the number of Data bytes minus 1 (00 for 1 byte of data, FFh for 256 bytes of data). Write Message could be executed only when Mailbox is accessible by RF.

Parameters
[in] | flags | : Flags to be used: Sub-carrier; Data_rate; Option for NFC-Forum use: RFAL_NFCV_REQ_FLAG_DEFAULT
[in] | uid | : UID of the device to be put to be read if not provided Select mode will be used
[in] | msgLen | : MSGLen number of Data bytes minus 1
[in] | msgData | : Message Data
[out] | txBuf | : buffer to used to build the Write Message command
[in] | txBufLen | : length of txBuf
Returns
ERR_WRONG_STATE : RFAL not initialized or incorrect mode
ERR_PARAM : Invalid parameters
ERR_IO : Generic internal error
ERR_CRC : CRC error detected
ERR_FRAMING : Framing error detected
ERR_PROTO : Protocol error detected
ERR_TIMEOUT : Timeout error
ERR_NONE : No error
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: T1T

Data Structures | Macros | Enumerations | Functions
T1T
RFAL-AL

RFAL T1T Module. More...

Collaboration diagram for T1T:

Data Structures

struct rfalT1TRidRes

Macros

#define | RFAL_T1T_UID_LEN 4
#define | RFAL_T1T_HR_LENGTH 2
#define | RFAL_T1T_HR0_NDEF_MASK 0xF0
#define | RFAL_T1T_HR0_NDEF_SUPPORT 0x10

Enumerations

enum rfalT1Tcmds {
RFAL_T1T_CMD_RID = 0x78, RFAL_T1T_CMD_RALL = 0x00, RFAL_T1T_CMD_READ = 0x01, RFAL_T1T_CMD_WRITE_E = 0x53,
RFAL_T1T_CMD_WRITE_NE = 0x1A
}

Functions

ReturnCode | rfalT1TPollerInitialize (void)
Initialize NFC-A T1T Poller mode. More...
ReturnCode | rfalT1TPollerRid (rfalT1TRidRes *ridRes)
NFC-A T1T Poller RID. More...
ReturnCode | rfalT1TPollerRall (const uint8_t *uid, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rxRcvdLen)
NFC-A T1T Poller RALL. More...
ReturnCode | rfalT1TPollerWrite (const uint8_t *uid, uint8_t address, uint8_t data)
NFC-A T1T Poller Write. More...

Detailed Description

Macro Definition Documentation

#define RFAL_T1T_HR0_NDEF_MASK 0xF0

T1T HR0 NDEF capability mask T1T 1.2 2.2.2

#define RFAL_T1T_HR0_NDEF_SUPPORT 0x10

T1T HR0 NDEF capable value T1T 1.2 2.2.2

#define RFAL_T1T_HR_LENGTH 2

T1T HR(Header ROM) length

#define RFAL_T1T_UID_LEN 4

T1T UID length of cascade level 1 only tag

Enumeration Type Documentation

enum rfalT1Tcmds

NFC-A T1T (Topaz) command set

Enumerator
RFAL_T1T_CMD_RID | T1T Read UID
RFAL_T1T_CMD_RALL | T1T Read All
RFAL_T1T_CMD_READ | T1T Read
RFAL_T1T_CMD_WRITE_E | T1T Write with erase (single byte)
RFAL_T1T_CMD_WRITE_NE | T1T Write with no erase (single byte)

Function Documentation

ReturnCode rfalT1TPollerInitialize ( void )

This methods configures RFAL RF layer to perform as a NFC-A T1T Poller/RW (Topaz) including all default timings

Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_NONE : No error
ReturnCode rfalT1TPollerRall | ( | const uint8_t * | uid,
 |  | uint8_t * | rxBuf,
 |  | uint16_t | rxBufLen,
 |  | uint16_t * | rxRcvdLen
 | ) |  |

This method send a Read All command to a NFC-A T1T Listener device

Parameters
[in] | uid | : the UID of the device to read data
[out] | rxBuf | : pointer to place the read data
[in] | rxBufLen | : size of rxBuf
[out] | rxRcvdLen | : actual received data
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_PARAM : Invalid parameter
ERR_NONE : No error
ReturnCode rfalT1TPollerRid ( rfalT1TRidRes * ridRes )

This method reads the UID of a NFC-A T1T Listener device

Parameters
[out] ridRes : pointer to place the RID_RES
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_PARAM : Invalid parameter
ERR_NONE : No error
ReturnCode rfalT1TPollerWrite | ( | const uint8_t * | uid,
 |  | uint8_t | address,
 |  | uint8_t | data
 | ) |  |

This method writes the given data on the address of a NFC-A T1T Listener device

Parameters
[in] | uid | : the UID of the device to read data
[in] | address | : address to write the data
[in] | data | : the data to be written
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_PARAM : Invalid parameter
ERR_NONE : No error
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalT1TRidRes Struct Reference

Data Fields
rfalT1TRidRes Struct Reference
T1T

#include <rfal_t1t.h>

Data Fields

uint8_t | hr0
uint8_t | hr1
uint8_t | uid [RFAL_T1T_UID_LEN]

Detailed Description

NFC-A T1T (Topaz) RID_RES Digital 1.1 10.6.2 & Table 50

Field Documentation

uint8_t rfalT1TRidRes::hr0

T1T Header ROM: HR0

uint8_t rfalT1TRidRes::hr1

T1T Header ROM: HR1

uint8_t rfalT1TRidRes::uid[RFAL_T1T_UID_LEN]

T1T UID

The documentation for this struct was generated from the following file:
  • rfal_t1t.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: T2T

Macros | Functions
T2T
RFAL-AL

RFAL T2T Module. More...

Collaboration diagram for T2T:

Macros

#define | RFAL_T2T_BLOCK_LEN 4U
#define | RFAL_T2T_READ_DATA_LEN (4U * RFAL_T2T_BLOCK_LEN)
#define | RFAL_T2T_WRITE_DATA_LEN RFAL_T2T_BLOCK_LEN

Functions

ReturnCode | rfalT2TPollerRead (uint8_t blockNum, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-A T2T Poller Read. More...
ReturnCode | rfalT2TPollerWrite (uint8_t blockNum, const uint8_t *wrData)
NFC-A T2T Poller Write. More...
ReturnCode | rfalT2TPollerSectorSelect (uint8_t sectorNum)
NFC-A T2T Poller Sector Select. More...

Detailed Description

Macro Definition Documentation

#define RFAL_T2T_BLOCK_LEN 4U

T2T block length

#define RFAL_T2T_READ_DATA_LEN (4U * RFAL_T2T_BLOCK_LEN)

T2T READ data length

#define RFAL_T2T_WRITE_DATA_LEN RFAL_T2T_BLOCK_LEN

T2T WRITE data length

Function Documentation

ReturnCode rfalT2TPollerRead | ( | uint8_t | blockNum,
 |  | uint8_t * | rxBuf,
 |  | uint16_t | rxBufLen,
 |  | uint16_t * | rcvLen
 | ) |  |

This method sends a Read command to a NFC-A T2T Listener device

Parameters
[in] | blockNum | : Number of the block to read
[out] | rxBuf | : pointer to place the read data
[in] | rxBufLen | : size of rxBuf (RFAL_T2T_READ_DATA_LEN)
[out] | rcvLen | : actual received data
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error
ReturnCode rfalT2TPollerSectorSelect ( uint8_t sectorNum )

This method sends a Sector Select commands to a NFC-A T2T Listener device

Parameters
[in] sectorNum : Sector Number
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error
ReturnCode rfalT2TPollerWrite | ( | uint8_t | blockNum,
 |  | const uint8_t * | wrData
 | ) |  |

This method sends a Write command to a NFC-A T2T Listener device

Parameters
[in] | blockNum | : Number of the block to write
[in] | wrData | : data to be written on the given block size must be of RFAL_T2T_WRITE_DATA_LEN
Returns
ERR_WRONG_STATE : RFAL not initialized or mode not set
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: T4T

Data Structures | Macros | Enumerations | Functions
T4T
RFAL-AL

RFAL T4T Module. More...

Collaboration diagram for T4T:

Data Structures

struct | rfalT4tCApduParam
struct | rfalT4tRApduParam

Macros

#define | RFAL_T4T_MAX_CAPDU_PROLOGUE_LEN 4U
#define | RFAL_T4T_LE_LEN 1U
#define | RFAL_T4T_LC_LEN 1U
#define | RFAL_T4T_MAX_RAPDU_SW1SW2_LEN 2U
#define | RFAL_T4T_CLA 0x00U
#define | RFAL_T4T_ISO7816_P1_SELECT_BY_DF_NAME 0x04U
#define | RFAL_T4T_ISO7816_P1_SELECT_BY_FILEID 0x00U
#define | RFAL_T4T_ISO7816_P2_SELECT_FIRST_OR_ONLY_OCCURENCE 0x00U
#define | RFAL_T4T_ISO7816_P2_SELECT_RETURN_FCI_TEMPLATE 0x00U
#define | RFAL_T4T_ISO7816_P2_SELECT_NO_RESPONSE_DATA 0x0CU
#define | RFAL_T4T_ISO7816_STATUS_COMPLETE 0x9000U

Enumerations

enum rfalT4tCmds {
RFAL_T4T_INS_SELECT = 0xA4U, RFAL_T4T_INS_READBINARY = 0xB0U, RFAL_T4T_INS_UPDATEBINARY = 0xD6U, RFAL_T4T_INS_READBINARY_ODO = 0xB1U,
RFAL_T4T_INS_UPDATEBINARY_ODO = 0xD7U
}

Functions

ReturnCode | rfalT4TPollerComposeCAPDU (const rfalT4tCApduParam *apduParam)
T4T Compose APDU. More...
ReturnCode | rfalT4TPollerParseRAPDU (rfalT4tRApduParam *apduParam)
T4T Parse R-APDU. More...
ReturnCode | rfalT4TPollerComposeSelectAppl (rfalIsoDepApduBufFormat *cApduBuf, const uint8_t *aid, uint8_t aidLen, uint16_t *cApduLen)
T4T Compose Select Application APDU. More...
ReturnCode | rfalT4TPollerComposeSelectFile (rfalIsoDepApduBufFormat *cApduBuf, const uint8_t *fid, uint8_t fidLen, uint16_t *cApduLen)
T4T Compose Select File APDU. More...
ReturnCode | rfalT4TPollerComposeSelectFileV1Mapping (rfalIsoDepApduBufFormat *cApduBuf, const uint8_t *fid, uint8_t fidLen, uint16_t *cApduLen)
T4T Compose Select File APDU for Mapping Version 1. More...
ReturnCode | rfalT4TPollerComposeReadData (rfalIsoDepApduBufFormat *cApduBuf, uint16_t offset, uint8_t expLen, uint16_t *cApduLen)
T4T Compose Read Data APDU. More...
ReturnCode | rfalT4TPollerComposeReadDataODO (rfalIsoDepApduBufFormat *cApduBuf, uint32_t offset, uint8_t expLen, uint16_t *cApduLen)
T4T Compose Read Data ODO APDU. More...
ReturnCode | rfalT4TPollerComposeWriteData (rfalIsoDepApduBufFormat *cApduBuf, uint16_t offset, const uint8_t *data, uint8_t dataLen, uint16_t *cApduLen)
T4T Compose Write Data APDU. More...
ReturnCode | rfalT4TPollerComposeWriteDataODO (rfalIsoDepApduBufFormat *cApduBuf, uint32_t offset, const uint8_t *data, uint8_t dataLen, uint16_t *cApduLen)
T4T Compose Write Data ODO APDU. More...

Detailed Description

Macro Definition Documentation

#define RFAL_T4T_CLA 0x00U

Class byte (contains 00h because secure message are not used)

#define RFAL_T4T_ISO7816_P1_SELECT_BY_DF_NAME 0x04U

P1 value for Select by name

#define RFAL_T4T_ISO7816_P1_SELECT_BY_FILEID 0x00U

P1 value for Select by file identifier

#define RFAL_T4T_ISO7816_P2_SELECT_FIRST_OR_ONLY_OCCURENCE 0x00U

b2b1 P2 value for First or only occurence

#define RFAL_T4T_ISO7816_P2_SELECT_NO_RESPONSE_DATA 0x0CU

b4b3 P2 value for No responce data

#define RFAL_T4T_ISO7816_P2_SELECT_RETURN_FCI_TEMPLATE 0x00U

b4b3 P2 value for Return FCI template

#define RFAL_T4T_ISO7816_STATUS_COMPLETE 0x9000U

Command completed \ Normal processing - No further qualification

#define RFAL_T4T_LC_LEN 1U

Lc Data field length (short field coding)

#define RFAL_T4T_LE_LEN 1U

Le Expected Response Length (short field coding)

#define RFAL_T4T_MAX_CAPDU_PROLOGUE_LEN 4U

Command-APDU prologue length (CLA INS P1 P2)

#define RFAL_T4T_MAX_RAPDU_SW1SW2_LEN 2U

SW1 SW2 length

Enumeration Type Documentation

enum rfalT4tCmds

NFC-A T4T command set T4T 1.0 & ISO7816-4 2013 Table 4

Enumerator
RFAL_T4T_INS_SELECT | T4T Select
RFAL_T4T_INS_READBINARY | T4T ReadBinary
RFAL_T4T_INS_UPDATEBINARY | T4T UpdateBinay
RFAL_T4T_INS_READBINARY_ODO | T4T ReadBinary using ODO
RFAL_T4T_INS_UPDATEBINARY_ODO | T4T UpdateBinay using ODO

Function Documentation

ReturnCode rfalT4TPollerComposeCAPDU ( const rfalT4tCApduParam * apduParam )

This method computes a C-APDU according to NFC Forum T4T and ISO7816-4.

If C-APDU contains data to be sent, it must be placed inside the buffer rfalT4tTxRxApduParam.txRx.cApduBuf.apdu and signaled by Lc

To transceive the formed APDU the ISO-DEP layer shall be used

See Also
rfalIsoDepStartApduTransceive()
rfalIsoDepGetApduTransceiveStatus()
rfalT4TPollerParseRAPDU()
Warning
The ISO-DEP module is used to perform the tranceive. Usually activation has been done via ISO-DEP activatiavtion. If not please call rfalIsoDepInitialize() before.
Parameters
[in,out] apduParam : APDU parameters apduParam.cApduLen will contain the APDU length
Returns
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error
ReturnCode rfalT4TPollerComposeReadData | ( | rfalIsoDepApduBufFormat * | cApduBuf,
 |  | uint16_t | offset,
 |  | uint8_t | expLen,
 |  | uint16_t * | cApduLen
 | ) |  |

This method computes a Read Data APDU according to NFC Forum T4T

To transceive the formed APDU the ISO-DEP layer shall be used

See Also
rfalIsoDepStartApduTransceive()
rfalIsoDepGetApduTransceiveStatus()
Parameters
[out] | cApduBuf | : buffer where the C-APDU will be placed
[in] | offset | : File offset
[in] | expLen | : Expected length (Le)
[out] | cApduLen | : Composed C-APDU length
Returns
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error
ReturnCode rfalT4TPollerComposeReadDataODO | ( | rfalIsoDepApduBufFormat * | cApduBuf,
 |  | uint32_t | offset,
 |  | uint8_t | expLen,
 |  | uint16_t * | cApduLen
 | ) |  |

This method computes a Read Data ODO APDU according to NFC Forum T4T

To transceive the formed APDU the ISO-DEP layer shall be used

See Also
rfalIsoDepStartApduTransceive()
rfalIsoDepGetApduTransceiveStatus()
Parameters
[out] | cApduBuf | : buffer where the C-APDU will be placed
[in] | offset | : File offset
[in] | expLen | : Expected length (Le)
[out] | cApduLen | : Composed C-APDU length
Returns
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error
ReturnCode rfalT4TPollerComposeSelectAppl | ( | rfalIsoDepApduBufFormat * | cApduBuf,
 |  | const uint8_t * | aid,
 |  | uint8_t | aidLen,
 |  | uint16_t * | cApduLen
 | ) |  |

This method computes a Select Application APDU according to NFC Forum T4T

To transceive the formed APDU the ISO-DEP layer shall be used

See Also
rfalIsoDepStartApduTransceive()
rfalIsoDepGetApduTransceiveStatus()
Parameters
[out] | cApduBuf | : buffer where the C-APDU will be placed
[in] | aid | : Application ID to be used
[in] | aidLen | : Application ID length
[out] | cApduLen | : Composed C-APDU length
Returns
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error
ReturnCode rfalT4TPollerComposeSelectFile | ( | rfalIsoDepApduBufFormat * | cApduBuf,
 |  | const uint8_t * | fid,
 |  | uint8_t | fidLen,
 |  | uint16_t * | cApduLen
 | ) |  |

This method computes a Select File APDU according to NFC Forum T4T

To transceive the formed APDU the ISO-DEP layer shall be used

See Also
rfalIsoDepStartApduTransceive()
rfalIsoDepGetApduTransceiveStatus()
Parameters
[out] | cApduBuf | : buffer where the C-APDU will be placed
[in] | fid | : File ID to be used
[in] | fidLen | : File ID length
[out] | cApduLen | : Composed C-APDU length
Returns
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error
ReturnCode rfalT4TPollerComposeSelectFileV1Mapping | ( | rfalIsoDepApduBufFormat * | cApduBuf,
 |  | const uint8_t * | fid,
 |  | uint8_t | fidLen,
 |  | uint16_t * | cApduLen
 | ) |  |

This method computes a Select File APDU according to NFC Forum T4TOP_v1.0

To transceive the formed APDU the ISO-DEP layer shall be used

See Also
rfalIsoDepStartApduTransceive()
rfalIsoDepGetApduTransceiveStatus()
Parameters
[out] | cApduBuf | : buffer where the C-APDU will be placed
[in] | fid | : File ID to be used
[in] | fidLen | : File ID length
[out] | cApduLen | : Composed C-APDU length
Returns
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error
ReturnCode rfalT4TPollerComposeWriteData | ( | rfalIsoDepApduBufFormat * | cApduBuf,
 |  | uint16_t | offset,
 |  | const uint8_t * | data,
 |  | uint8_t | dataLen,
 |  | uint16_t * | cApduLen
 | ) |  |

This method computes a Write Data APDU according to NFC Forum T4T

To transceive the formed APDU the ISO-DEP layer shall be used

See Also
rfalIsoDepStartApduTransceive()
rfalIsoDepGetApduTransceiveStatus()
Parameters
[out] | cApduBuf | : buffer where the C-APDU will be placed
[in] | offset | : File offset
[in] | data | : Data to be written
[in] | dataLen | : Data length to be written (Lc)
[out] | cApduLen | : Composed C-APDU length
Returns
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error
ReturnCode rfalT4TPollerComposeWriteDataODO | ( | rfalIsoDepApduBufFormat * | cApduBuf,
 |  | uint32_t | offset,
 |  | const uint8_t * | data,
 |  | uint8_t | dataLen,
 |  | uint16_t * | cApduLen
 | ) |  |

This method computes a Write Data ODO sAPDU according to NFC Forum T4T

To transceive the formed APDU the ISO-DEP layer shall be used

See Also
rfalIsoDepStartApduTransceive()
rfalIsoDepGetApduTransceiveStatus()
Parameters
[out] | cApduBuf | : buffer where the C-APDU will be placed
[in] | offset | : File offset
[in] | data | : Data to be written
[in] | dataLen | : Data length to be written (Lc)
[out] | cApduLen | : Composed C-APDU length
Returns
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error
ReturnCode rfalT4TPollerParseRAPDU ( rfalT4tRApduParam * apduParam )

This method parses a R-APDU according to NFC Forum T4T and ISO7816-4. It will extract the data length and check if the Satus word is expected.

Parameters
[in,out] apduParam : APDU parameters apduParam.rApduBodyLen will contain the data length apduParam.statusWord will contain the SW1 and SW2
Returns
ERR_REQUEST : Status word (SW1 SW2) different from 9000
ERR_PARAM : Invalid parameter
ERR_PROTO : Protocol error
ERR_NONE : No error
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalT4tCApduParam Struct Reference

Data Fields
rfalT4tCApduParam Struct Reference
T4T

#include <rfal_t4t.h>

Collaboration diagram for rfalT4tCApduParam:
[legend]

Data Fields

uint8_t | CLA
uint8_t | INS
uint8_t | P1
uint8_t | P2
uint8_t | Lc
bool | LcFlag
uint8_t | Le
bool | LeFlag
rfalIsoDepApduBufFormat * cApduBuf
uint16_t * | cApduLen

Detailed Description

NFC-A T4T Command-APDU structure

Field Documentation

rfalIsoDepApduBufFormat* rfalT4tCApduParam::cApduBuf

Command-APDU buffer (Tx)

uint16_t* rfalT4tCApduParam::cApduLen

Command-APDU Length

uint8_t rfalT4tCApduParam::CLA

Class byte

uint8_t rfalT4tCApduParam::INS

Instruction byte

uint8_t rfalT4tCApduParam::Lc

Data field length

bool rfalT4tCApduParam::LcFlag

Lc flag (append Lc when true)

uint8_t rfalT4tCApduParam::Le

Expected Response Length

bool rfalT4tCApduParam::LeFlag

Le flag (append Le when true)

uint8_t rfalT4tCApduParam::P1

Parameter byte 1

uint8_t rfalT4tCApduParam::P2

Parameter byte 2

The documentation for this struct was generated from the following file:
  • rfal_t4t.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalT4tRApduParam Struct Reference

Data Fields
rfalT4tRApduParam Struct Reference
T4T

#include <rfal_t4t.h>

Collaboration diagram for rfalT4tRApduParam:
[legend]

Data Fields

rfalIsoDepApduBufFormat * rApduBuf
uint16_t | rcvdLen
uint16_t | rApduBodyLen
uint16_t | statusWord

Detailed Description

NFC-A T4T Response-APDU structure

Field Documentation

uint16_t rfalT4tRApduParam::rApduBodyLen

Response body length

rfalIsoDepApduBufFormat* rfalT4tRApduParam::rApduBuf

Response-APDU buffer (Rx)

uint16_t rfalT4tRApduParam::rcvdLen

Full response length

uint16_t rfalT4tRApduParam::statusWord

R-APDU Status Word SW1|SW2

The documentation for this struct was generated from the following file:
  • rfal_t4t.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: RFAL-HL

Modules
RFAL-HL
RFAL

RFAL Higher Layer. More...

Collaboration diagram for RFAL-HL:

Modules

NFC
RFAL NFC Device.

Detailed Description

Generated on Wed May 20 2020 18:07:14 for RFAL by doxygen 1.8.6


RFAL: NFC

Data Structures | Macros | Enumerations | Functions
NFC
RFAL-HL

RFAL NFC Device. More...

Collaboration diagram for NFC:

Data Structures

struct | rfalNfcDevice
struct | rfalNfcDiscoverParam
union | rfalNfcBuffer

Macros

#define | RFAL_NFC_TECH_NONE 0x0000U
#define | RFAL_NFC_POLL_TECH_A 0x0001U
#define | RFAL_NFC_POLL_TECH_B 0x0002U
#define | RFAL_NFC_POLL_TECH_F 0x0004U
#define | RFAL_NFC_POLL_TECH_V 0x0008U
#define | RFAL_NFC_POLL_TECH_AP2P 0x0010U
#define | RFAL_NFC_POLL_TECH_ST25TB 0x0020U
#define | RFAL_NFC_LISTEN_TECH_A 0x1000U
#define | RFAL_NFC_LISTEN_TECH_B 0x2000U
#define | RFAL_NFC_LISTEN_TECH_F 0x4000U
#define | RFAL_NFC_LISTEN_TECH_AP2P 0x8000U
#define | rfalNfcIsDevActivated(st) ( ((st)>= RFAL_NFC_STATE_ACTIVATED) && ((st)<RFAL_NFC_STATE_DEACTIVATION) )
#define | rfalNfcIsInDiscovery(st) ( ((st)>= RFAL_NFC_STATE_START_DISCOVERY) && ((st)<RFAL_NFC_STATE_ACTIVATED) )
#define | rfalNfcIsRemDevPoller(tp) ( ((tp)>= RFAL_NFC_POLL_TYPE_NFCA) && ((tp)<=RFAL_NFC_POLL_TYPE_AP2P ) )
#define | rfalNfcIsRemDevListener(tp) ( ((int16_t)(tp)>= (int16_t)RFAL_NFC_LISTEN_TYPE_NFCA) && ((tp)<=RFAL_NFC_LISTEN_TYPE_AP2P) )

Enumerations

enum rfalNfcState {
RFAL_NFC_STATE_NOTINIT = 0, RFAL_NFC_STATE_IDLE = 1, RFAL_NFC_STATE_START_DISCOVERY = 2, RFAL_NFC_STATE_WAKEUP_MODE = 3,
RFAL_NFC_STATE_POLL_TECHDETECT = 10, RFAL_NFC_STATE_POLL_COLAVOIDANCE = 11, RFAL_NFC_STATE_POLL_SELECT = 12, RFAL_NFC_STATE_POLL_ACTIVATION = 13,
RFAL_NFC_STATE_LISTEN_TECHDETECT = 20, RFAL_NFC_STATE_LISTEN_COLAVOIDANCE = 21, RFAL_NFC_STATE_LISTEN_ACTIVATION = 22, RFAL_NFC_STATE_LISTEN_SLEEP = 23,
RFAL_NFC_STATE_ACTIVATED = 30, RFAL_NFC_STATE_DATAEXCHANGE = 31, RFAL_NFC_STATE_DATAEXCHANGE_DONE = 33, RFAL_NFC_STATE_DEACTIVATION = 34
}
enum rfalNfcDevType {
RFAL_NFC_LISTEN_TYPE_NFCA = 0, RFAL_NFC_LISTEN_TYPE_NFCB = 1, RFAL_NFC_LISTEN_TYPE_NFCF = 2, RFAL_NFC_LISTEN_TYPE_NFCV = 3,
RFAL_NFC_LISTEN_TYPE_ST25TB = 4, RFAL_NFC_LISTEN_TYPE_AP2P = 5, RFAL_NFC_POLL_TYPE_NFCA = 10, RFAL_NFC_POLL_TYPE_NFCB = 11,
RFAL_NFC_POLL_TYPE_NFCF = 12, RFAL_NFC_POLL_TYPE_NFCV = 13, RFAL_NFC_POLL_TYPE_AP2P = 15
}
enum rfalNfcRfInterface { RFAL_NFC_INTERFACE_RF = 0, RFAL_NFC_INTERFACE_ISODEP = 1, RFAL_NFC_INTERFACE_NFCDEP = 2 }

Functions

void | rfalNfcWorker (void)
RFAL NFC Worker. More...
ReturnCode | rfalNfcInitialize (void)
RFAL NFC Initialize. More...
ReturnCode | rfalNfcDiscover (const rfalNfcDiscoverParam *disParams)
RFAL NFC Discovery. More...
rfalNfcState | rfalNfcGetState (void)
RFAL NFC Get State. More...
ReturnCode | rfalNfcGetDevicesFound (rfalNfcDevice **devList, uint8_t *devCnt)
RFAL NFC Get Devices Found. More...
ReturnCode | rfalNfcGetActiveDevice (rfalNfcDevice **dev)
RFAL NFC Get Active Device. More...
ReturnCode | rfalNfcSelect (uint8_t devIdx)
RFAL NFC Select Device. More...
ReturnCode | rfalNfcDataExchangeStart (uint8_t *txData, uint16_t txDataLen, uint8_t **rxData, uint16_t **rvdLen, uint32_t fwt)
RFAL NFC Start Data Exchange. More...
ReturnCode | rfalNfcDataExchangeGetStatus (void)
RFAL NFC Get Data Exchange Status. More...
ReturnCode | rfalNfcDeactivate (bool discovery)
RFAL NFC Deactivate. More...

Detailed Description

Macro Definition Documentation

#define RFAL_NFC_LISTEN_TECH_A 0x1000U

NFC-V technology Flag

#define RFAL_NFC_LISTEN_TECH_AP2P 0x8000U

NFC-V technology Flag

#define RFAL_NFC_LISTEN_TECH_B 0x2000U

NFC-V technology Flag

#define RFAL_NFC_LISTEN_TECH_F 0x4000U

NFC-V technology Flag

#define RFAL_NFC_POLL_TECH_A 0x0001U

NFC-A technology Flag

#define RFAL_NFC_POLL_TECH_AP2P 0x0010U

AP2P technology Flag

#define RFAL_NFC_POLL_TECH_B 0x0002U

NFC-B technology Flag

#define RFAL_NFC_POLL_TECH_F 0x0004U

NFC-F technology Flag

#define RFAL_NFC_POLL_TECH_ST25TB 0x0020U

ST25TB technology Flag

#define RFAL_NFC_POLL_TECH_V 0x0008U

NFC-V technology Flag

#define RFAL_NFC_TECH_NONE 0x0000U

No technology

#define rfalNfcIsDevActivated ( st ) ( ((st)>= RFAL_NFC_STATE_ACTIVATED) && ((st)<RFAL_NFC_STATE_DEACTIVATION) )

Checks if a device is currently activated

#define rfalNfcIsInDiscovery ( st ) ( ((st)>= RFAL_NFC_STATE_START_DISCOVERY) && ((st)<RFAL_NFC_STATE_ACTIVATED) )

Checks if a device is in discovery

#define rfalNfcIsRemDevListener ( tp ) ( ((int16_t)(tp)>= (int16_t)RFAL_NFC_LISTEN_TYPE_NFCA) && ((tp)<=RFAL_NFC_LISTEN_TYPE_AP2P) )

Checks if remote device is in Listen mode

#define rfalNfcIsRemDevPoller ( tp ) ( ((tp)>= RFAL_NFC_POLL_TYPE_NFCA) && ((tp)<=RFAL_NFC_POLL_TYPE_AP2P ) )

Checks if remote device is in Poll mode

Enumeration Type Documentation

enum rfalNfcDevType

Device type

Enumerator
RFAL_NFC_LISTEN_TYPE_NFCA | NFC-A Listener device type
RFAL_NFC_LISTEN_TYPE_NFCB | NFC-B Listener device type
RFAL_NFC_LISTEN_TYPE_NFCF | NFC-F Listener device type
RFAL_NFC_LISTEN_TYPE_NFCV | NFC-V Listener device type
RFAL_NFC_LISTEN_TYPE_ST25TB | ST25TB Listener device type
RFAL_NFC_LISTEN_TYPE_AP2P | AP2P Listener device type
RFAL_NFC_POLL_TYPE_NFCA | NFC-A Poller device type
RFAL_NFC_POLL_TYPE_NFCB | NFC-B Poller device type
RFAL_NFC_POLL_TYPE_NFCF | NFC-F Poller device type
RFAL_NFC_POLL_TYPE_NFCV | NFC-V Poller device type
RFAL_NFC_POLL_TYPE_AP2P | AP2P Poller device type
enum rfalNfcRfInterface

Device interface

Enumerator
RFAL_NFC_INTERFACE_RF | RF Frame interface
RFAL_NFC_INTERFACE_ISODEP | ISO-DEP interface
RFAL_NFC_INTERFACE_NFCDEP | NFC-DEP interface
enum rfalNfcState

Main state

Enumerator
RFAL_NFC_STATE_NOTINIT | Not Initialized state
RFAL_NFC_STATE_IDLE | Initialize state
RFAL_NFC_STATE_START_DISCOVERY | Start Discovery loop state
RFAL_NFC_STATE_WAKEUP_MODE | Wake-Up state
RFAL_NFC_STATE_POLL_TECHDETECT | Technology Detection state
RFAL_NFC_STATE_POLL_COLAVOIDANCE | Collision Avoidance state
RFAL_NFC_STATE_POLL_SELECT | Wait for Selection state
RFAL_NFC_STATE_POLL_ACTIVATION | Activation state
RFAL_NFC_STATE_LISTEN_TECHDETECT | Listen Tech Detect
RFAL_NFC_STATE_LISTEN_COLAVOIDANCE | Listen Collision Avoidance
RFAL_NFC_STATE_LISTEN_ACTIVATION | Listen Activation state
RFAL_NFC_STATE_LISTEN_SLEEP | Listen Sleep state
RFAL_NFC_STATE_ACTIVATED | Activated state
RFAL_NFC_STATE_DATAEXCHANGE | Data Exchange Start state
RFAL_NFC_STATE_DATAEXCHANGE_DONE | Data Exchange terminated
RFAL_NFC_STATE_DEACTIVATION | Deactivation state

Function Documentation

ReturnCode rfalNfcDataExchangeGetStatus ( void )

Gets current Data Exchange status

Returns
ERR_NONE : Transceive done with no error
ERR_BUSY : Transceive ongoing
ERR_AGAIN : received one chaining block, copy received data and continue to call this method to retrieve the remaining blocks
ERR_XXXX : Error occurred
ERR_TIMEOUT : No response
ERR_FRAMING : Framing error detected
ERR_PAR : Parity error detected
ERR_CRC : CRC error detected
ERR_LINK_LOSS : Link Loss - External Field is Off
ERR_RF_COLLISION : Collision detected
ERR_IO : Internal error
ReturnCode rfalNfcDataExchangeStart | ( | uint8_t * | txData,
 |  | uint16_t | txDataLen,
 |  | uint8_t ** | rxData,
 |  | uint16_t ** | rvdLen,
 |  | uint32_t | fwt
 | ) |  |

After a device has been activated, it starts a data exchange. It handles automatically which interface/protocol to be used and acts accordingly.

In Listen mode the first frame/data shall be sent by the Reader/Initiator therefore this method must be called first with txDataLen set to zero to retrieve the rxData and rcvLen locations.

Parameters
[in] | txData | : data to be transmitted
[in] | txDataLen | : size of the data to be transmitted
[out] | rxData | : location of the received data after operation is completed
[out] | rvdLen | : location of thelength of the received data
[in] | fwt | : FWT to be used in case of RF interface. If ISO-DEP or NFC-DEP interface is used, this will be ignored
Returns
ERR_WRONG_STATE : Incorrect state for this operation
ERR_PARAM : Invalid parameters
ERR_NONE : No error
ReturnCode rfalNfcDeactivate ( bool discovery )

It triggers the deactivation procedure to terminate communications with remote device. At the end the field will be turned off.

Parameters
[in] discovery : TRUE if after deactivation go back into discovery : FALSE if after deactivation remain in idle
Returns
ERR_WRONG_STATE : Incorrect state for this operation
ERR_NONE : No error
ReturnCode rfalNfcDiscover ( const rfalNfcDiscoverParam * disParams )

It set the device in Discovery state. In discovery it will Poll and/or Listen for the technologies configured, and perform Wake-up mode if configured to do so.

The device list passed on disParams must not be empty. The number of devices on the list is indicated by the devLimit and shall be at >= 1.

Parameters
[in] disParams : discovery configuration parameters
Returns
ERR_WRONG_STATE : Incorrect state for this operation
ERR_PARAM : Invalid parameters
ERR_NONE : No error
ReturnCode rfalNfcGetActiveDevice ( rfalNfcDevice ** dev )

It returns the location of the device current Active device

Parameters
[out] dev : device info location
Returns
ERR_WRONG_STATE : Incorrect state for this operation No device activated
ERR_PARAM : Invalid parameters
ERR_NONE : No error
ReturnCode rfalNfcGetDevicesFound | ( | rfalNfcDevice ** | devList,
 |  | uint8_t * | devCnt
 | ) |  |

It returns the location of the device list and the number of devices found.

Parameters
[out] | devList | : device list location
[out] | devCnt | : number of devices found
Returns
ERR_WRONG_STATE : Incorrect state for this operation Discovery still ongoing
ERR_PARAM : Invalid parameters
ERR_NONE : No error
rfalNfcState rfalNfcGetState ( void )

It returns the current state

Returns
rfalNfcState : the current state
ReturnCode rfalNfcInitialize ( void )

It initializes this module and its dependencies

Returns
ERR_WRONG_STATE : Incorrect state for this operation
ERR_IO : Generic internal error
ERR_NONE : No error
ReturnCode rfalNfcSelect ( uint8_t devIdx )

It selects the device to be activated. It shall be called when more than one device has been identified to indiacte which device shall be actived

Parameters
[in] devIdx : device index to be activated
Returns
ERR_WRONG_STATE : Incorrect state for this operation Not in select state
ERR_PARAM : Invalid parameters
ERR_NONE : No error
void rfalNfcWorker ( void )

It runs the internal state machine and runs the RFAL RF worker.

Generated on Wed May 20 2020 18:07:14 for RFAL by doxygen 1.8.6


RFAL: rfalNfcDevice Struct Reference

Data Fields
rfalNfcDevice Struct Reference
NFC

#include <rfal_nfc.h>

Collaboration diagram for rfalNfcDevice:
[legend]

Data Fields

rfalNfcDevType type
union {
rfalNfcaListenDevice nfca
rfalNfcbListenDevice nfcb
rfalNfcfListenDevice nfcf
rfalNfcvListenDevice nfcv
rfalSt25tbListenDevice st25tb
} dev
uint8_t * | nfcid
uint8_t | nfcidLen
rfalNfcRfInterface rfInterface
union {
rfalIsoDepDevice isoDep
rfalNfcDepDevice nfcDep
} proto

Detailed Description

Device struct containing all its details

Field Documentation

union { ... } rfalNfcDevice::dev

Device's instance

rfalIsoDepDevice rfalNfcDevice::isoDep

ISO-DEP instance

rfalNfcaListenDevice rfalNfcDevice::nfca

NFC-A Listen Device instance

rfalNfcbListenDevice rfalNfcDevice::nfcb

NFC-B Listen Device instance

rfalNfcDepDevice rfalNfcDevice::nfcDep

NFC-DEP instance

rfalNfcfListenDevice rfalNfcDevice::nfcf

NFC-F Listen Device instance

uint8_t* rfalNfcDevice::nfcid

Device's NFCID

uint8_t rfalNfcDevice::nfcidLen

Device's NFCID length

rfalNfcvListenDevice rfalNfcDevice::nfcv

NFC-V Listen Device instance

union { ... } rfalNfcDevice::proto

Device's protocol

rfalNfcRfInterface rfalNfcDevice::rfInterface

Device's interface

rfalSt25tbListenDevice rfalNfcDevice::st25tb

ST25TB Listen Device instance

rfalNfcDevType rfalNfcDevice::type

Device's type

The documentation for this struct was generated from the following file:
  • rfal_nfc.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalNfcDiscoverParam Struct Reference

Data Fields
rfalNfcDiscoverParam Struct Reference
NFC

#include <rfal_nfc.h>

Collaboration diagram for rfalNfcDiscoverParam:
[legend]

Data Fields

rfalComplianceMode compMode
uint16_t | techs2Find
uint16_t | totalDuration
uint8_t | devLimit
rfalBitRate maxBR
rfalBitRate nfcfBR
uint8_t | nfcid3 [RFAL_NFCDEP_NFCID3_LEN]
uint8_t | GB [RFAL_NFCDEP_GB_MAX_LEN]
uint8_t | GBLen
rfalBitRate ap2pBR
rfalLmConfPA lmConfigPA
rfalLmConfPF lmConfigPF
void(* | notifyCb )(rfalNfcState st)
bool | wakeupEnabled
bool | wakeupConfigDefault
rfalWakeUpConfig wakeupConfig

Detailed Description

Discovery parameters

Field Documentation

rfalBitRate rfalNfcDiscoverParam::ap2pBR

Bit rate to poll for AP2P

rfalComplianceMode rfalNfcDiscoverParam::compMode

Compliancy mode to be used

uint8_t rfalNfcDiscoverParam::devLimit

Max number of devices

uint8_t rfalNfcDiscoverParam::GB[RFAL_NFCDEP_GB_MAX_LEN]

General bytes to be used on the ATR-REQ

uint8_t rfalNfcDiscoverParam::GBLen

Length of the General Bytes

rfalLmConfPA rfalNfcDiscoverParam::lmConfigPA

Configuration for Passive Listen mode NFC-A

rfalLmConfPF rfalNfcDiscoverParam::lmConfigPF

Configuration for Passive Listen mode NFC-A

rfalBitRate rfalNfcDiscoverParam::maxBR

Max Bit rate to be used for communications

rfalBitRate rfalNfcDiscoverParam::nfcfBR

Bit rate to poll for NFC-F

uint8_t rfalNfcDiscoverParam::nfcid3[RFAL_NFCDEP_NFCID3_LEN]

NFCID3 to be used on the ATR_REQ/ATR_RES

void(* rfalNfcDiscoverParam::notifyCb)(rfalNfcState st)

Callback to Notify upper layer

uint16_t rfalNfcDiscoverParam::techs2Find

Technologies to search for

uint16_t rfalNfcDiscoverParam::totalDuration

Duration of a whole Poll + Listen cycle

rfalWakeUpConfig rfalNfcDiscoverParam::wakeupConfig

Wake-Up mode configuration

bool rfalNfcDiscoverParam::wakeupConfigDefault

Wake-Up mode default configuration

bool rfalNfcDiscoverParam::wakeupEnabled

Enable Wake-Up mode before polling

The documentation for this struct was generated from the following file:
  • rfal_nfc.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfalNfcBuffer Union Reference

Data Fields
rfalNfcBuffer Union Reference
NFC

#include <rfal_nfc.h>

Collaboration diagram for rfalNfcBuffer:
[legend]

Data Fields

uint8_t rfBuf [RFAL_FEATURE_NFC_RF_BUF_LEN]
rfalIsoDepApduBufFormat isoDepBuf
rfalNfcDepPduBufFormat nfcDepBuf

Detailed Description

Buffer union, only one interface is used at a time

Field Documentation

rfalIsoDepApduBufFormat rfalNfcBuffer::isoDepBuf

ISO-DEP buffer format (with header/prologue)

rfalNfcDepPduBufFormat rfalNfcBuffer::nfcDepBuf

NFC-DEP buffer format (with header/prologue)

uint8_t rfalNfcBuffer::rfBuf[RFAL_FEATURE_NFC_RF_BUF_LEN]

RF buffer

The documentation for this union was generated from the following file:
  • rfal_nfc.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: Data Structures

Data Structures
Here are the data structures with brief descriptions:
o C iso15693PhyConfig_t
o C iso15693StreamConfig
o C rfalAnalogConfig
o C rfalAnalogConfigRegAddrMaskVal
o C rfalDpoEntry
o C rfalIsoDepActivation
o C rfalIsoDepApduBufFormat
o C rfalIsoDepApduTxRxParam
o C rfalIsoDepAts
o C rfalIsoDepAtsParam
o C rfalIsoDepAttribCmd
o C rfalIsoDepAttribRes
o C rfalIsoDepAttribResParam
o C rfalIsoDepBufFormat
o C rfalIsoDepDevice
o C rfalIsoDepInfo
o C rfalIsoDepListenActvParam
o C rfalIsoDepPpsReq
o C rfalIsoDepPpsRes
o C rfalIsoDepRats
o C rfalIsoDepSParameter
o C rfalIsoDepTxRxParam
o C rfalLmConfPA
o C rfalLmConfPB
o C rfalLmConfPF
o C rfalNfcaListenDevice
o C rfalNfcaSddReq
o C rfalNfcaSddRes
o C rfalNfcaSelReq
o C rfalNfcaSelRes
o C rfalNfcaSensRes
o C rfalNfcbListenDevice
o C rfalNfcbSensbRes
o C rfalNfcbSensbResAppData
o C rfalNfcbSensbResProtocolInfo
o C rfalNfcBuffer
o C rfalNfcDepActivation
o C rfalNfcDepAtrParam
o C rfalNfcDepAtrReq
o C rfalNfcDepAtrRes
o C rfalNfcDepBufFormat
o C rfalNfcDepConfigs
o C rfalNfcDepDevice
o C rfalNfcDepInfo
o C rfalNfcDepListenActvParam
o C rfalNfcDepPduBufFormat
o C rfalNfcDepPduTxRxParam
o C rfalNfcDepTargetParam
o C rfalNfcDepTxRxParam
o C rfalNfcDevice
o C rfalNfcDiscoverParam
o C rfalNfcfBlockListElem
o C rfalNfcfListenDevice
o C rfalNfcfPollDevice
o C rfalNfcfSensfRes
o C rfalNfcfServBlockListParam
o C rfalNfcvGenericReq
o C rfalNfcvGenericRes
o C rfalNfcvInventoryRes
o C rfalNfcvListenDevice
o C rfalSt25tbListenDevice
o C rfalT1TRidRes
o C rfalT4tCApduParam
o C rfalT4tRApduParam
o C rfalTransceiveContext
o C rfalWakeUpConfig
o C st25r3911StreamConfig
o C st25r3916AatTuneParams
o C st25r3916AatTuneResult
o C st25r3916StreamConfig
o C st25r95SPIRxContext
\ C t_st25r3916Regs
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: iso15693PhyConfig_t Struct Reference

Data Fields
iso15693PhyConfig_t Struct Reference

#include <rfal_iso15693_2.h>

Data Fields

iso15693VcdCoding_t coding
uint32_t speedMode

Detailed Description

Enum holding possible VICC datarates

Configuration parameter used by iso15693PhyConfigure

Field Documentation

iso15693VcdCoding_t iso15693PhyConfig_t::coding

desired VCD coding

uint32_t iso15693PhyConfig_t::speedMode

0: normal mode, 1: 2^1 = x2 Fast mode, 2 : 2^2 = x4 mode, 3 : 2^3 = x8 mode - all rx pulse numbers and times are divided by 1,2,4,8

The documentation for this struct was generated from the following file:
  • rfal_iso15693_2.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: iso15693StreamConfig Struct Reference

Data Fields
iso15693StreamConfig Struct Reference

#include <rfal_iso15693_2.h>

Data Fields

uint8_t | useBPSK
uint8_t | din
uint8_t | dout
uint8_t | report_period_length

Detailed Description

Parameters how the stream mode should work

Field Documentation

uint8_t iso15693StreamConfig::din

the divider for the in subcarrier frequency: fc/2^din

uint8_t iso15693StreamConfig::dout

the divider for the in subcarrier frequency fc/2^dout

uint8_t iso15693StreamConfig::report_period_length

the length of the reporting period 2^report_period_length

uint8_t iso15693StreamConfig::useBPSK

0: subcarrier, 1:BPSK

The documentation for this struct was generated from the following file:
  • rfal_iso15693_2.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: st25r3916AatTuneParams Struct Reference

Data Fields
st25r3916AatTuneParams Struct Reference

#include <st25r3916_aat.h>

Data Fields

uint8_t | aat_a_min
uint8_t | aat_a_max
uint8_t | aat_a_start
uint8_t | aat_a_stepWidth
uint8_t | aat_b_min
uint8_t | aat_b_max
uint8_t | aat_b_start
uint8_t | aat_b_stepWidth
uint8_t | phaTarget
uint8_t | phaWeight
uint8_t | ampTarget
uint8_t | ampWeight
bool | doDynamicSteps
uint8_t | measureLimit

Detailed Description

struct representing input parameters for the antenna tuning

Field Documentation

uint8_t st25r3916AatTuneParams::aat_a_max

max value of A cap

uint8_t st25r3916AatTuneParams::aat_a_min

min value of A cap

uint8_t st25r3916AatTuneParams::aat_a_start

start value of A cap

uint8_t st25r3916AatTuneParams::aat_a_stepWidth

increment stepWidth for A cap

uint8_t st25r3916AatTuneParams::aat_b_max

max value of B cap

uint8_t st25r3916AatTuneParams::aat_b_min

min value of B cap

uint8_t st25r3916AatTuneParams::aat_b_start

start value of B cap

uint8_t st25r3916AatTuneParams::aat_b_stepWidth

increment stepWidth for B cap

uint8_t st25r3916AatTuneParams::ampTarget

target amplitude

uint8_t st25r3916AatTuneParams::ampWeight

weight of target amplitude

bool st25r3916AatTuneParams::doDynamicSteps

dynamically reduce step size in algo

uint8_t st25r3916AatTuneParams::measureLimit

max number of allowed steps/measurements

uint8_t st25r3916AatTuneParams::phaTarget

target phase

uint8_t st25r3916AatTuneParams::phaWeight

weight of target phase

The documentation for this struct was generated from the following file:
  • st25r3916_aat.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: st25r3916AatTuneResult Struct Reference

Data Fields
st25r3916AatTuneResult Struct Reference

#include <st25r3916_aat.h>

Data Fields

uint8_t | aat_a
uint8_t | aat_b
uint8_t | pha
uint8_t | amp
uint16_t | measureCnt

Detailed Description

struct representing out parameters for the antenna tuning

Field Documentation

uint8_t st25r3916AatTuneResult::aat_a

serial cap after tuning

uint8_t st25r3916AatTuneResult::aat_b

parallel cap after tuning

uint8_t st25r3916AatTuneResult::amp

amplitude after tuning

uint16_t st25r3916AatTuneResult::measureCnt

number of measures performed

uint8_t st25r3916AatTuneResult::pha

phase after tuning

The documentation for this struct was generated from the following file:
  • st25r3916_aat.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: Data Structure Index

Data Structure Index
I | R | S | T
i
rfalIsoDepAttribResParam rfalNfcaSelReq rfalNfcDepListenActvParam rfalSt25tbListenDevice
rfalIsoDepBufFormat rfalNfcaSelRes rfalNfcDepPduBufFormat rfalT1TRidRes
iso15693PhyConfig_t rfalIsoDepDevice rfalNfcaSensRes rfalNfcDepPduTxRxParam rfalT4tCApduParam
iso15693StreamConfig rfalIsoDepInfo rfalNfcbListenDevice rfalNfcDepTargetParam rfalT4tRApduParam
r
rfalIsoDepListenActvParam rfalNfcbSensbRes rfalNfcDepTxRxParam rfalTransceiveContext
rfalIsoDepPpsReq rfalNfcbSensbResAppData rfalNfcDevice rfalWakeUpConfig
rfalAnalogConfig rfalIsoDepPpsRes rfalNfcbSensbResProtocolInfo rfalNfcDiscoverParam
s
rfalAnalogConfigRegAddrMaskVal rfalIsoDepRats rfalNfcBuffer rfalNfcfBlockListElem
rfalDpoEntry rfalIsoDepSParameter rfalNfcDepActivation rfalNfcfListenDevice st25r3911StreamConfig
rfalIsoDepActivation rfalIsoDepTxRxParam rfalNfcDepAtrParam rfalNfcfPollDevice st25r3916AatTuneParams
rfalIsoDepApduBufFormat rfalLmConfPA rfalNfcDepAtrReq rfalNfcfSensfRes st25r3916AatTuneResult
rfalIsoDepApduTxRxParam rfalLmConfPB rfalNfcDepAtrRes rfalNfcfServBlockListParam st25r3916StreamConfig
rfalIsoDepAts rfalLmConfPF rfalNfcDepBufFormat rfalNfcvGenericReq st25r95SPIRxContext
rfalIsoDepAtsParam rfalNfcaListenDevice rfalNfcDepConfigs rfalNfcvGenericRes
t
rfalIsoDepAttribCmd rfalNfcaSddReq rfalNfcDepDevice rfalNfcvInventoryRes
rfalIsoDepAttribRes rfalNfcaSddRes rfalNfcDepInfo rfalNfcvListenDevice t_st25r3916Regs
I | R | S | T
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- a -

  • A : rfalIsoDepActivation
  • aaInclMeas : rfalWakeUpConfig
  • aat_a : st25r3916AatTuneResult
  • aat_a_max : st25r3916AatTuneParams
  • aat_a_min : st25r3916AatTuneParams
  • aat_a_start : st25r3916AatTuneParams
  • aat_a_stepWidth : st25r3916AatTuneParams
  • aat_b : st25r3916AatTuneResult
  • aat_b_max : st25r3916AatTuneParams
  • aat_b_min : st25r3916AatTuneParams
  • aat_b_start : st25r3916AatTuneParams
  • aat_b_stepWidth : st25r3916AatTuneParams
  • aaWeight : rfalWakeUpConfig
  • activation : rfalIsoDepDevice , rfalNfcDepDevice
  • additionalRespBytes : st25r95SPIRxContext
  • addr : rfalAnalogConfigRegAddrMaskVal
  • AFI : rfalNfcbSensbResAppData
  • amp : st25r3916AatTuneResult
  • ampTarget : st25r3916AatTuneParams
  • ampWeight : st25r3916AatTuneParams
  • anticollisionInfo : rfalNfcaSensRes
  • ap2pBR : rfalNfcDiscoverParam
  • apdu : rfalIsoDepApduBufFormat
  • appData : rfalNfcbSensbRes
  • ATR_REQ : rfalNfcDepActivation
  • ATR_REQLen : rfalNfcDepActivation
  • ATR_RES : rfalNfcDepActivation
  • ATR_RESLen : rfalNfcDepActivation
  • ATS : rfalIsoDepActivation
  • ATSLen : rfalIsoDepActivation
  • ATTRIB : rfalIsoDepActivation
  • ATTRIB_RES : rfalIsoDepActivation
  • ATTRIB_RESLen : rfalIsoDepActivation
  • ATTRIBLen : rfalIsoDepActivation
  • autoAvg : rfalWakeUpConfig
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- b -

  • B : rfalIsoDepActivation
  • bcc : rfalNfcaSddRes , rfalNfcaSelReq
  • blockList : rfalNfcfServBlockListParam
  • blockNum : rfalNfcfBlockListElem
  • BR : rfalNfcDepAtrParam
  • br : rfalNfcDepConfigs
  • BRC : rfalNfcbSensbResProtocolInfo
  • BRi : rfalNfcDepAtrReq
  • BRt : rfalNfcDepAtrRes
  • brt : rfalNfcDepTargetParam
  • BS : rfalNfcDepAtrParam
  • bs : rfalNfcDepConfigs
  • BSi : rfalNfcDepAtrReq
  • BSt : rfalNfcDepAtrRes
  • bst : rfalNfcDepTargetParam
  • BufCRC : st25r95SPIRxContext
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- c -

  • cap : rfalWakeUpConfig
  • cApduBuf : rfalT4tCApduParam
  • cApduLen : rfalT4tCApduParam
  • chipID : rfalSt25tbListenDevice
  • CLA : rfalT4tCApduParam
  • cmd : rfalIsoDepAttribCmd
  • CMD : rfalIsoDepRats
  • cmd : rfalNfcbSensbRes
  • CMD : rfalNfcfSensfRes , rfalNfcvGenericReq
  • CMD1 : rfalNfcDepAtrReq , rfalNfcDepAtrRes
  • CMD2 : rfalNfcDepAtrReq , rfalNfcDepAtrRes
  • coding : iso15693PhyConfig_t
  • commMode : rfalNfcDepAtrParam , rfalNfcDepConfigs , rfalNfcDepTargetParam
  • compMode : rfalNfcDiscoverParam
  • conf : rfalNfcfBlockListElem
  • crc : rfalNfcvInventoryRes
  • CRC_B : rfalNfcbSensbResAppData
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- d -

  • data : rfalNfcvGenericReq , rfalNfcvGenericRes
  • dec : rfalDpoEntry
  • delta : rfalWakeUpConfig
  • dev : rfalNfcDevice
  • devLimit : rfalNfcDiscoverParam
  • dFWT : rfalIsoDepApduTxRxParam , rfalIsoDepInfo , rfalIsoDepTxRxParam
  • dFwt : rfalNfcDepConfigs
  • dFWT : rfalNfcDepInfo , rfalNfcDepPduTxRxParam , rfalNfcDepTxRxParam
  • DID : rfalIsoDepApduTxRxParam , rfalIsoDepInfo , rfalIsoDepTxRxParam , rfalNfcDepAtrParam , rfalNfcDepAtrReq , rfalNfcDepAtrRes
  • did : rfalNfcDepConfigs
  • DID : rfalNfcDepInfo , rfalNfcDepPduTxRxParam , rfalNfcDepTxRxParam
  • didSupport : rfalIsoDepAtsParam
  • din : iso15693StreamConfig , st25r3911StreamConfig , st25r3916StreamConfig
  • doDynamicSteps : st25r3916AatTuneParams
  • dout : iso15693StreamConfig , st25r3911StreamConfig , st25r3916StreamConfig
  • DRI : rfalIsoDepInfo , rfalNfcDepInfo
  • DSFID : rfalNfcvInventoryRes
  • DSI : rfalIsoDepInfo , rfalNfcDepInfo
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- e -

  • enabled : rfalWakeUpConfig
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- f -

  • flags : rfalTransceiveContext
  • FS : rfalNfcDepInfo
  • fsci : rfalIsoDepAtsParam
  • FsciProType : rfalNfcbSensbResProtocolInfo
  • FSx : rfalIsoDepApduTxRxParam , rfalIsoDepInfo , rfalIsoDepTxRxParam , rfalNfcDepPduTxRxParam , rfalNfcDepTxRxParam
  • FSxI : rfalIsoDepInfo
  • fwi : rfalIsoDepAtsParam
  • FWI : rfalIsoDepInfo
  • FwiAdcFo : rfalNfcbSensbResProtocolInfo
  • FWT : rfalIsoDepApduTxRxParam , rfalIsoDepInfo , rfalIsoDepTxRxParam
  • fwt : rfalNfcDepConfigs
  • FWT : rfalNfcDepInfo , rfalNfcDepPduTxRxParam , rfalNfcDepTxRxParam
  • fwt : rfalTransceiveContext
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- g -

  • GB : rfalNfcDepAtrParam
  • gb : rfalNfcDepConfigs
  • GB : rfalNfcDiscoverParam
  • GBi : rfalNfcDepAtrReq
  • GBLen : rfalNfcDepAtrParam
  • gbLen : rfalNfcDepConfigs
  • GBLen : rfalNfcDepInfo , rfalNfcDiscoverParam
  • GBt : rfalNfcDepAtrRes , rfalNfcDepTargetParam
  • GBtLen : rfalNfcDepTargetParam
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- h -

  • HB : rfalIsoDepAts
  • hb : rfalIsoDepAtsParam
  • hbLen : rfalIsoDepAtsParam
  • HLInfo : rfalIsoDepAttribCmd , rfalIsoDepAttribRes , rfalIsoDepAttribResParam
  • HLInfoLen : rfalIsoDepAttribResParam
  • hr0 : rfalT1TRidRes
  • hr1 : rfalT1TRidRes
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- i -

  • id : rfalAnalogConfig
  • inc : rfalDpoEntry
  • indAmp : rfalWakeUpConfig
  • indPha : rfalWakeUpConfig
  • inf : rfalIsoDepBufFormat , rfalNfcDepBufFormat
  • info : rfalIsoDepDevice , rfalNfcDepDevice
  • Initiator : rfalNfcDepActivation
  • inListen : st25r95SPIRxContext
  • INS : rfalT4tCApduParam
  • InvRes : rfalNfcvListenDevice
  • irqTout : rfalWakeUpConfig
  • isDeselected : rfalSt25tbListenDevice
  • isoDep : rfalNfcDevice
  • isoDepBuf : rfalNfcBuffer
  • isoDepDev : rfalIsoDepListenActvParam
  • isRxChaining : rfalIsoDepListenActvParam , rfalIsoDepTxRxParam , rfalNfcDepListenActvParam , rfalNfcDepTxRxParam
  • isSleep : rfalNfcaListenDevice , rfalNfcbListenDevice , rfalNfcvListenDevice
  • isTxChaining : rfalIsoDepTxRxParam , rfalNfcDepTxRxParam
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- l -

  • Lc : rfalT4tCApduParam
  • LcFlag : rfalT4tCApduParam
  • Le : rfalT4tCApduParam
  • LeFlag : rfalT4tCApduParam
  • length : rfalIsoDepSParameter
  • lmConfigPA : rfalNfcDiscoverParam
  • lmConfigPF : rfalNfcDiscoverParam
  • LmState : st25r95SPIRxContext
  • LR : rfalNfcDepAtrParam
  • lr : rfalNfcDepConfigs
  • LR : rfalNfcDepInfo
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- m -

  • mask : rfalAnalogConfigRegAddrMaskVal
  • maxBR : rfalNfcDiscoverParam
  • MBL : rfalIsoDepInfo
  • mbli : rfalIsoDepAttribResParam
  • mbliDid : rfalIsoDepAttribRes
  • measureCnt : st25r3916AatTuneResult
  • measureLimit : st25r3916AatTuneParams
  • MRTIcheck : rfalNfcfSensfRes
  • MRTIupdate : rfalNfcfSensfRes
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- n -

  • NAD : rfalIsoDepInfo , rfalNfcDepAtrParam
  • nad : rfalNfcDepConfigs
  • NAD : rfalNfcDepInfo
  • nfca : rfalNfcDevice
  • nfcb : rfalNfcDevice
  • nfcDep : rfalNfcDevice
  • nfcDepBuf : rfalNfcBuffer
  • nfcDepDev : rfalNfcDepListenActvParam
  • nfcf : rfalNfcDevice
  • nfcfBR : rfalNfcDiscoverParam
  • nfcid : rfalLmConfPA , rfalNfcDepAtrParam , rfalNfcDepConfigs , rfalNfcDevice
  • nfcid0 : rfalIsoDepAttribCmd , rfalNfcbSensbRes
  • nfcId1 : rfalNfcaListenDevice
  • nfcid1 : rfalNfcaSddRes , rfalNfcaSelReq
  • nfcId1Len : rfalNfcaListenDevice
  • NFCID2 : rfalNfcfPollDevice , rfalNfcfSensfRes
  • NFCID3 : rfalNfcDepAtrReq , rfalNfcDepAtrRes
  • nfcid3 : rfalNfcDepTargetParam , rfalNfcDiscoverParam
  • nfcidLen : rfalLmConfPA , rfalNfcDepAtrParam , rfalNfcDepConfigs , rfalNfcDevice
  • NFCIP1 : st25r95SPIRxContext
  • NFCIP1_SoD : st25r95SPIRxContext
  • nfcv : rfalNfcDevice
  • notifyCb : rfalNfcDiscoverParam
  • num : rfalAnalogConfig
  • numApps : rfalNfcbSensbResAppData
  • numBlock : rfalNfcfServBlockListParam
  • numServ : rfalNfcfServBlockListParam
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- o -

  • oper : rfalNfcDepConfigs
  • operParam : rfalNfcDepAtrParam , rfalNfcDepTargetParam
  • ourFSx : rfalIsoDepApduTxRxParam , rfalIsoDepTxRxParam
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- p -

  • P1 : rfalT4tCApduParam
  • P2 : rfalT4tCApduParam
  • PAD0 : rfalNfcfSensfRes
  • PAD1 : rfalNfcfSensfRes
  • PAD2 : rfalNfcfSensfRes
  • Param : rfalIsoDepAttribCmd
  • PARAM : rfalIsoDepRats
  • PARAM1 : rfalIsoDepAttribCmd
  • PARAM2 : rfalIsoDepAttribCmd
  • PARAM3 : rfalIsoDepAttribCmd
  • PARAM4 : rfalIsoDepAttribCmd
  • payload : rfalNfcvGenericReq
  • pdu : rfalNfcDepPduBufFormat
  • period : rfalWakeUpConfig
  • pha : st25r3916AatTuneResult
  • phaTarget : st25r3916AatTuneParams
  • phaWeight : st25r3916AatTuneParams
  • platformInfo : rfalNfcaSensRes
  • PPi : rfalNfcDepAtrReq
  • PPS0 : rfalIsoDepPpsReq
  • PPS1 : rfalIsoDepPpsReq
  • PPSS : rfalIsoDepPpsReq , rfalIsoDepPpsRes
  • PPt : rfalNfcDepAtrRes
  • ppt : rfalNfcDepTargetParam
  • prologue : rfalIsoDepApduBufFormat , rfalIsoDepBufFormat , rfalNfcDepBufFormat , rfalNfcDepPduBufFormat
  • protInfo : rfalNfcbSensbRes
  • proto : rfalNfcDevice
  • protocol : st25r95SPIRxContext
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- r -

  • rApduBodyLen : rfalT4tRApduParam
  • rApduBuf : rfalT4tRApduParam
  • RATS : rfalIsoDepActivation
  • rcvdLen : rfalT4tRApduParam
  • RD : rfalNfcfSensfRes
  • reference : rfalWakeUpConfig
  • regSet : rfalAnalogConfig
  • report_period_length : iso15693StreamConfig , st25r3911StreamConfig , st25r3916StreamConfig
  • REQ_FLAG : rfalNfcvGenericReq
  • RES_FLAG : rfalNfcvGenericRes , rfalNfcvInventoryRes
  • retCode : st25r95SPIRxContext
  • rfBuf : rfalNfcBuffer
  • rfInterface : rfalNfcDevice
  • rfoRes : rfalDpoEntry
  • rmvCRC : st25r95SPIRxContext
  • role : rfalNfcDepConfigs
  • RsA : t_st25r3916Regs
  • RsB : t_st25r3916Regs
  • rxBuf : rfalIsoDepApduTxRxParam , rfalIsoDepListenActvParam , rfalIsoDepTxRxParam , rfalNfcDepListenActvParam , rfalNfcDepPduTxRxParam , rfalNfcDepTxRxParam , rfalTransceiveContext , st25r95SPIRxContext
  • rxBufLen : rfalTransceiveContext , st25r95SPIRxContext
  • rxLen : rfalIsoDepApduTxRxParam , rfalIsoDepListenActvParam , rfalIsoDepTxRxParam , rfalNfcDepListenActvParam , rfalNfcDepPduTxRxParam , rfalNfcDepTxRxParam
  • rxRcvdLen : rfalTransceiveContext , st25r95SPIRxContext
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- s -

  • sak : rfalNfcaSelRes
  • SC : rfalLmConfPF
  • SEL_RES : rfalLmConfPA
  • selCmd : rfalNfcaSddReq , rfalNfcaSelReq
  • selPar : rfalNfcaSddReq , rfalNfcaSelReq
  • selRes : rfalNfcaListenDevice
  • SENS_RES : rfalLmConfPA
  • SENSB_RES : rfalLmConfPB
  • sensbRes : rfalNfcbListenDevice
  • sensbResLen : rfalNfcbListenDevice
  • SENSF_RES : rfalLmConfPF
  • sensfRes : rfalNfcfListenDevice
  • sensfResLen : rfalNfcfListenDevice
  • sensRes : rfalNfcaListenDevice
  • servList : rfalNfcfServBlockListParam
  • sfgi : rfalIsoDepAtsParam
  • SFGI : rfalIsoDepInfo , rfalNfcbSensbResProtocolInfo
  • SFGT : rfalIsoDepInfo
  • speedMode : iso15693PhyConfig_t
  • st25tb : rfalNfcDevice
  • statusWord : rfalT4tRApduParam
  • supAdFt : rfalIsoDepInfo
  • supDID : rfalIsoDepInfo
  • supNAD : rfalIsoDepInfo
  • swTagDetect : rfalWakeUpConfig
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- t -

  • T0 : rfalIsoDepAts
  • TA : rfalIsoDepAts
  • ta : rfalIsoDepAtsParam
  • tag : rfalIsoDepSParameter
  • Target : rfalNfcDepActivation
  • TB : rfalIsoDepAts
  • TC : rfalIsoDepAts
  • techs2Find : rfalNfcDiscoverParam
  • TL : rfalIsoDepAts
  • tmpBuf : rfalIsoDepApduTxRxParam , rfalNfcDepPduTxRxParam
  • TO : rfalNfcDepAtrRes
  • to : rfalNfcDepConfigs , rfalNfcDepTargetParam
  • totalDuration : rfalNfcDiscoverParam
  • txBuf : rfalIsoDepApduTxRxParam , rfalIsoDepTxRxParam , rfalNfcDepPduTxRxParam , rfalNfcDepTxRxParam , rfalTransceiveContext
  • txBufLen : rfalIsoDepApduTxRxParam , rfalIsoDepTxRxParam , rfalNfcDepPduTxRxParam , rfalNfcDepTxRxParam , rfalTransceiveContext
  • type : rfalNfcaListenDevice , rfalNfcDevice
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- u -

  • UID : rfalNfcvGenericReq , rfalNfcvInventoryRes , rfalSt25tbListenDevice
  • uid : rfalT1TRidRes
  • useBPSK : iso15693StreamConfig , st25r3911StreamConfig , st25r3916StreamConfig
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- v -

  • val : rfalAnalogConfigRegAddrMaskVal
  • value : rfalIsoDepSParameter
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:

- w -

  • wakeupConfig : rfalNfcDiscoverParam
  • wakeupConfigDefault : rfalNfcDiscoverParam
  • wakeupEnabled : rfalNfcDiscoverParam
  • WT : rfalNfcDepInfo
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- a -

  • A : rfalIsoDepActivation
  • aaInclMeas : rfalWakeUpConfig
  • aat_a : st25r3916AatTuneResult
  • aat_a_max : st25r3916AatTuneParams
  • aat_a_min : st25r3916AatTuneParams
  • aat_a_start : st25r3916AatTuneParams
  • aat_a_stepWidth : st25r3916AatTuneParams
  • aat_b : st25r3916AatTuneResult
  • aat_b_max : st25r3916AatTuneParams
  • aat_b_min : st25r3916AatTuneParams
  • aat_b_start : st25r3916AatTuneParams
  • aat_b_stepWidth : st25r3916AatTuneParams
  • aaWeight : rfalWakeUpConfig
  • activation : rfalIsoDepDevice , rfalNfcDepDevice
  • additionalRespBytes : st25r95SPIRxContext
  • addr : rfalAnalogConfigRegAddrMaskVal
  • AFI : rfalNfcbSensbResAppData
  • amp : st25r3916AatTuneResult
  • ampTarget : st25r3916AatTuneParams
  • ampWeight : st25r3916AatTuneParams
  • anticollisionInfo : rfalNfcaSensRes
  • ap2pBR : rfalNfcDiscoverParam
  • apdu : rfalIsoDepApduBufFormat
  • appData : rfalNfcbSensbRes
  • ATR_REQ : rfalNfcDepActivation
  • ATR_REQLen : rfalNfcDepActivation
  • ATR_RES : rfalNfcDepActivation
  • ATR_RESLen : rfalNfcDepActivation
  • ATS : rfalIsoDepActivation
  • ATSLen : rfalIsoDepActivation
  • ATTRIB : rfalIsoDepActivation
  • ATTRIB_RES : rfalIsoDepActivation
  • ATTRIB_RESLen : rfalIsoDepActivation
  • ATTRIBLen : rfalIsoDepActivation
  • autoAvg : rfalWakeUpConfig
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- b -

  • B : rfalIsoDepActivation
  • bcc : rfalNfcaSddRes , rfalNfcaSelReq
  • blockList : rfalNfcfServBlockListParam
  • blockNum : rfalNfcfBlockListElem
  • BR : rfalNfcDepAtrParam
  • br : rfalNfcDepConfigs
  • BRC : rfalNfcbSensbResProtocolInfo
  • BRi : rfalNfcDepAtrReq
  • BRt : rfalNfcDepAtrRes
  • brt : rfalNfcDepTargetParam
  • BS : rfalNfcDepAtrParam
  • bs : rfalNfcDepConfigs
  • BSi : rfalNfcDepAtrReq
  • BSt : rfalNfcDepAtrRes
  • bst : rfalNfcDepTargetParam
  • BufCRC : st25r95SPIRxContext
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- c -

  • cap : rfalWakeUpConfig
  • cApduBuf : rfalT4tCApduParam
  • cApduLen : rfalT4tCApduParam
  • chipID : rfalSt25tbListenDevice
  • CLA : rfalT4tCApduParam
  • cmd : rfalIsoDepAttribCmd
  • CMD : rfalIsoDepRats
  • cmd : rfalNfcbSensbRes
  • CMD : rfalNfcfSensfRes , rfalNfcvGenericReq
  • CMD1 : rfalNfcDepAtrReq , rfalNfcDepAtrRes
  • CMD2 : rfalNfcDepAtrReq , rfalNfcDepAtrRes
  • coding : iso15693PhyConfig_t
  • commMode : rfalNfcDepAtrParam , rfalNfcDepConfigs , rfalNfcDepTargetParam
  • compMode : rfalNfcDiscoverParam
  • conf : rfalNfcfBlockListElem
  • crc : rfalNfcvInventoryRes
  • CRC_B : rfalNfcbSensbResAppData
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- d -

  • data : rfalNfcvGenericReq , rfalNfcvGenericRes
  • dec : rfalDpoEntry
  • delta : rfalWakeUpConfig
  • dev : rfalNfcDevice
  • devLimit : rfalNfcDiscoverParam
  • dFWT : rfalIsoDepApduTxRxParam , rfalIsoDepInfo , rfalIsoDepTxRxParam
  • dFwt : rfalNfcDepConfigs
  • dFWT : rfalNfcDepInfo , rfalNfcDepPduTxRxParam , rfalNfcDepTxRxParam
  • DID : rfalIsoDepApduTxRxParam , rfalIsoDepInfo , rfalIsoDepTxRxParam , rfalNfcDepAtrParam , rfalNfcDepAtrReq , rfalNfcDepAtrRes
  • did : rfalNfcDepConfigs
  • DID : rfalNfcDepInfo , rfalNfcDepPduTxRxParam , rfalNfcDepTxRxParam
  • didSupport : rfalIsoDepAtsParam
  • din : iso15693StreamConfig , st25r3911StreamConfig , st25r3916StreamConfig
  • doDynamicSteps : st25r3916AatTuneParams
  • dout : iso15693StreamConfig , st25r3911StreamConfig , st25r3916StreamConfig
  • DRI : rfalIsoDepInfo , rfalNfcDepInfo
  • DSFID : rfalNfcvInventoryRes
  • DSI : rfalIsoDepInfo , rfalNfcDepInfo
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- e -

  • enabled : rfalWakeUpConfig
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- f -

  • flags : rfalTransceiveContext
  • FS : rfalNfcDepInfo
  • fsci : rfalIsoDepAtsParam
  • FsciProType : rfalNfcbSensbResProtocolInfo
  • FSx : rfalIsoDepApduTxRxParam , rfalIsoDepInfo , rfalIsoDepTxRxParam , rfalNfcDepPduTxRxParam , rfalNfcDepTxRxParam
  • FSxI : rfalIsoDepInfo
  • fwi : rfalIsoDepAtsParam
  • FWI : rfalIsoDepInfo
  • FwiAdcFo : rfalNfcbSensbResProtocolInfo
  • FWT : rfalIsoDepApduTxRxParam , rfalIsoDepInfo , rfalIsoDepTxRxParam
  • fwt : rfalNfcDepConfigs
  • FWT : rfalNfcDepInfo , rfalNfcDepPduTxRxParam , rfalNfcDepTxRxParam
  • fwt : rfalTransceiveContext
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- g -

  • GB : rfalNfcDepAtrParam
  • gb : rfalNfcDepConfigs
  • GB : rfalNfcDiscoverParam
  • GBi : rfalNfcDepAtrReq
  • GBLen : rfalNfcDepAtrParam
  • gbLen : rfalNfcDepConfigs
  • GBLen : rfalNfcDepInfo , rfalNfcDiscoverParam
  • GBt : rfalNfcDepAtrRes , rfalNfcDepTargetParam
  • GBtLen : rfalNfcDepTargetParam
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- h -

  • HB : rfalIsoDepAts
  • hb : rfalIsoDepAtsParam
  • hbLen : rfalIsoDepAtsParam
  • HLInfo : rfalIsoDepAttribCmd , rfalIsoDepAttribRes , rfalIsoDepAttribResParam
  • HLInfoLen : rfalIsoDepAttribResParam
  • hr0 : rfalT1TRidRes
  • hr1 : rfalT1TRidRes
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- i -

  • id : rfalAnalogConfig
  • inc : rfalDpoEntry
  • indAmp : rfalWakeUpConfig
  • indPha : rfalWakeUpConfig
  • inf : rfalIsoDepBufFormat , rfalNfcDepBufFormat
  • info : rfalIsoDepDevice , rfalNfcDepDevice
  • Initiator : rfalNfcDepActivation
  • inListen : st25r95SPIRxContext
  • INS : rfalT4tCApduParam
  • InvRes : rfalNfcvListenDevice
  • irqTout : rfalWakeUpConfig
  • isDeselected : rfalSt25tbListenDevice
  • isoDep : rfalNfcDevice
  • isoDepBuf : rfalNfcBuffer
  • isoDepDev : rfalIsoDepListenActvParam
  • isRxChaining : rfalIsoDepListenActvParam , rfalIsoDepTxRxParam , rfalNfcDepListenActvParam , rfalNfcDepTxRxParam
  • isSleep : rfalNfcaListenDevice , rfalNfcbListenDevice , rfalNfcvListenDevice
  • isTxChaining : rfalIsoDepTxRxParam , rfalNfcDepTxRxParam
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- l -

  • Lc : rfalT4tCApduParam
  • LcFlag : rfalT4tCApduParam
  • Le : rfalT4tCApduParam
  • LeFlag : rfalT4tCApduParam
  • length : rfalIsoDepSParameter
  • lmConfigPA : rfalNfcDiscoverParam
  • lmConfigPF : rfalNfcDiscoverParam
  • LmState : st25r95SPIRxContext
  • LR : rfalNfcDepAtrParam
  • lr : rfalNfcDepConfigs
  • LR : rfalNfcDepInfo
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- m -

  • mask : rfalAnalogConfigRegAddrMaskVal
  • maxBR : rfalNfcDiscoverParam
  • MBL : rfalIsoDepInfo
  • mbli : rfalIsoDepAttribResParam
  • mbliDid : rfalIsoDepAttribRes
  • measureCnt : st25r3916AatTuneResult
  • measureLimit : st25r3916AatTuneParams
  • MRTIcheck : rfalNfcfSensfRes
  • MRTIupdate : rfalNfcfSensfRes
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- n -

  • NAD : rfalIsoDepInfo , rfalNfcDepAtrParam
  • nad : rfalNfcDepConfigs
  • NAD : rfalNfcDepInfo
  • nfca : rfalNfcDevice
  • nfcb : rfalNfcDevice
  • nfcDep : rfalNfcDevice
  • nfcDepBuf : rfalNfcBuffer
  • nfcDepDev : rfalNfcDepListenActvParam
  • nfcf : rfalNfcDevice
  • nfcfBR : rfalNfcDiscoverParam
  • nfcid : rfalLmConfPA , rfalNfcDepAtrParam , rfalNfcDepConfigs , rfalNfcDevice
  • nfcid0 : rfalIsoDepAttribCmd , rfalNfcbSensbRes
  • nfcId1 : rfalNfcaListenDevice
  • nfcid1 : rfalNfcaSddRes , rfalNfcaSelReq
  • nfcId1Len : rfalNfcaListenDevice
  • NFCID2 : rfalNfcfPollDevice , rfalNfcfSensfRes
  • NFCID3 : rfalNfcDepAtrReq , rfalNfcDepAtrRes
  • nfcid3 : rfalNfcDepTargetParam , rfalNfcDiscoverParam
  • nfcidLen : rfalLmConfPA , rfalNfcDepAtrParam , rfalNfcDepConfigs , rfalNfcDevice
  • NFCIP1 : st25r95SPIRxContext
  • NFCIP1_SoD : st25r95SPIRxContext
  • nfcv : rfalNfcDevice
  • notifyCb : rfalNfcDiscoverParam
  • num : rfalAnalogConfig
  • numApps : rfalNfcbSensbResAppData
  • numBlock : rfalNfcfServBlockListParam
  • numServ : rfalNfcfServBlockListParam
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- o -

  • oper : rfalNfcDepConfigs
  • operParam : rfalNfcDepAtrParam , rfalNfcDepTargetParam
  • ourFSx : rfalIsoDepApduTxRxParam , rfalIsoDepTxRxParam
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- p -

  • P1 : rfalT4tCApduParam
  • P2 : rfalT4tCApduParam
  • PAD0 : rfalNfcfSensfRes
  • PAD1 : rfalNfcfSensfRes
  • PAD2 : rfalNfcfSensfRes
  • Param : rfalIsoDepAttribCmd
  • PARAM : rfalIsoDepRats
  • PARAM1 : rfalIsoDepAttribCmd
  • PARAM2 : rfalIsoDepAttribCmd
  • PARAM3 : rfalIsoDepAttribCmd
  • PARAM4 : rfalIsoDepAttribCmd
  • payload : rfalNfcvGenericReq
  • pdu : rfalNfcDepPduBufFormat
  • period : rfalWakeUpConfig
  • pha : st25r3916AatTuneResult
  • phaTarget : st25r3916AatTuneParams
  • phaWeight : st25r3916AatTuneParams
  • platformInfo : rfalNfcaSensRes
  • PPi : rfalNfcDepAtrReq
  • PPS0 : rfalIsoDepPpsReq
  • PPS1 : rfalIsoDepPpsReq
  • PPSS : rfalIsoDepPpsReq , rfalIsoDepPpsRes
  • PPt : rfalNfcDepAtrRes
  • ppt : rfalNfcDepTargetParam
  • prologue : rfalIsoDepApduBufFormat , rfalIsoDepBufFormat , rfalNfcDepBufFormat , rfalNfcDepPduBufFormat
  • protInfo : rfalNfcbSensbRes
  • proto : rfalNfcDevice
  • protocol : st25r95SPIRxContext
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- r -

  • rApduBodyLen : rfalT4tRApduParam
  • rApduBuf : rfalT4tRApduParam
  • RATS : rfalIsoDepActivation
  • rcvdLen : rfalT4tRApduParam
  • RD : rfalNfcfSensfRes
  • reference : rfalWakeUpConfig
  • regSet : rfalAnalogConfig
  • report_period_length : iso15693StreamConfig , st25r3911StreamConfig , st25r3916StreamConfig
  • REQ_FLAG : rfalNfcvGenericReq
  • RES_FLAG : rfalNfcvGenericRes , rfalNfcvInventoryRes
  • retCode : st25r95SPIRxContext
  • rfBuf : rfalNfcBuffer
  • rfInterface : rfalNfcDevice
  • rfoRes : rfalDpoEntry
  • rmvCRC : st25r95SPIRxContext
  • role : rfalNfcDepConfigs
  • RsA : t_st25r3916Regs
  • RsB : t_st25r3916Regs
  • rxBuf : rfalIsoDepApduTxRxParam , rfalIsoDepListenActvParam , rfalIsoDepTxRxParam , rfalNfcDepListenActvParam , rfalNfcDepPduTxRxParam , rfalNfcDepTxRxParam , rfalTransceiveContext , st25r95SPIRxContext
  • rxBufLen : rfalTransceiveContext , st25r95SPIRxContext
  • rxLen : rfalIsoDepApduTxRxParam , rfalIsoDepListenActvParam , rfalIsoDepTxRxParam , rfalNfcDepListenActvParam , rfalNfcDepPduTxRxParam , rfalNfcDepTxRxParam
  • rxRcvdLen : rfalTransceiveContext , st25r95SPIRxContext
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- s -

  • sak : rfalNfcaSelRes
  • SC : rfalLmConfPF
  • SEL_RES : rfalLmConfPA
  • selCmd : rfalNfcaSddReq , rfalNfcaSelReq
  • selPar : rfalNfcaSddReq , rfalNfcaSelReq
  • selRes : rfalNfcaListenDevice
  • SENS_RES : rfalLmConfPA
  • SENSB_RES : rfalLmConfPB
  • sensbRes : rfalNfcbListenDevice
  • sensbResLen : rfalNfcbListenDevice
  • SENSF_RES : rfalLmConfPF
  • sensfRes : rfalNfcfListenDevice
  • sensfResLen : rfalNfcfListenDevice
  • sensRes : rfalNfcaListenDevice
  • servList : rfalNfcfServBlockListParam
  • sfgi : rfalIsoDepAtsParam
  • SFGI : rfalIsoDepInfo , rfalNfcbSensbResProtocolInfo
  • SFGT : rfalIsoDepInfo
  • speedMode : iso15693PhyConfig_t
  • st25tb : rfalNfcDevice
  • statusWord : rfalT4tRApduParam
  • supAdFt : rfalIsoDepInfo
  • supDID : rfalIsoDepInfo
  • supNAD : rfalIsoDepInfo
  • swTagDetect : rfalWakeUpConfig
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- t -

  • T0 : rfalIsoDepAts
  • TA : rfalIsoDepAts
  • ta : rfalIsoDepAtsParam
  • tag : rfalIsoDepSParameter
  • Target : rfalNfcDepActivation
  • TB : rfalIsoDepAts
  • TC : rfalIsoDepAts
  • techs2Find : rfalNfcDiscoverParam
  • TL : rfalIsoDepAts
  • tmpBuf : rfalIsoDepApduTxRxParam , rfalNfcDepPduTxRxParam
  • TO : rfalNfcDepAtrRes
  • to : rfalNfcDepConfigs , rfalNfcDepTargetParam
  • totalDuration : rfalNfcDiscoverParam
  • txBuf : rfalIsoDepApduTxRxParam , rfalIsoDepTxRxParam , rfalNfcDepPduTxRxParam , rfalNfcDepTxRxParam , rfalTransceiveContext
  • txBufLen : rfalIsoDepApduTxRxParam , rfalIsoDepTxRxParam , rfalNfcDepPduTxRxParam , rfalNfcDepTxRxParam , rfalTransceiveContext
  • type : rfalNfcaListenDevice , rfalNfcDevice
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- u -

  • UID : rfalNfcvGenericReq , rfalNfcvInventoryRes , rfalSt25tbListenDevice
  • uid : rfalT1TRidRes
  • useBPSK : iso15693StreamConfig , st25r3911StreamConfig , st25r3916StreamConfig
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- v -

  • val : rfalAnalogConfigRegAddrMaskVal
  • value : rfalIsoDepSParameter
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Data Fields - Variables

  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- w -

  • wakeupConfig : rfalNfcDiscoverParam
  • wakeupConfigDefault : rfalNfcDiscoverParam
  • wakeupEnabled : rfalNfcDiscoverParam
  • WT : rfalNfcDepInfo
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: File List

  • File List
  • Globals
File List
Here is a list of all documented files with brief descriptions:
o * rfal_analogConfig.h | RF Chip Analog Configuration Settings
o * rfal_chip.h | RF Chip specific Layer
o * rfal_crc.h | CRC calculation module
o * rfal_dpo.h | Dynamic Power adjustment
o * st25r3916/rfal_dpoTbl.h | RF Dynamic Power Table default values
o * st25r3911/rfal_features.h | RFAL Features/Capabilities Definition for ST25R3911
o * st25r3916/rfal_features.h | RFAL Features/Capabilities Definition for ST25R3916
o * st25r95/rfal_features.h | RFAL Features/Capabilities Definition for ST25R95
o * rfal_iso15693_2.h | Implementation of ISO-15693-2
o * rfal_isoDep.h | Implementation of ISO-DEP protocol
o * rfal_nfc.h | RFAL NFC device
o * rfal_nfca.h | Provides several NFC-A convenience methods and definitions
o * rfal_nfcb.h | Implementation of NFC-B (ISO14443B) helpers
o * rfal_nfcDep.h | Implementation of NFC-DEP protocol
o * rfal_nfcf.h | Implementation of NFC-F Poller (FeliCa PCD) device
o * rfal_nfcv.h | Implementation of NFC-V Poller (ISO15693) device
o * rfal_rf.h | RF Abstraction Layer (RFAL)
o * rfal_st25tb.h | Implementation of ST25TB interface
o * rfal_st25xv.h | NFC-V ST25 NFC-V Tag specific features
o * rfal_t1t.h | Provides NFC-A T1T convenience methods and definitions
o * rfal_t2t.h | Provides NFC-A T2T convenience methods and definitions
o * rfal_t4t.h | Provides convenience methods and definitions for T4T (ISO7816-4)
o * st25r3911.h | ST25R3911 declaration file
o * st25r3911_com.h | ST25R3911 communication declaration file
o * st25r3911_interrupt.h | ST25R3911 Interrupt header file
o * st25r3916.h | ST25R3916 high level interface
o * st25r3916_aat.h | ST25R3916 Antenna Tuning
o * st25r3916_com.h | ST25R3916 communication declaration file
o * st25r3916_irq.h | ST25R3916 Interrupt handling
o * st25r3916_led.h | ST25R3916 LEDs handling
o * st25r95.h | ST25R95 declaration file
\ * st25r95_com.h | ST25R95 communication declaration file
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: rfal_analogConfig.h File Reference

  • File List
  • Globals
  • include
Data Structures | Macros | Typedefs | Functions
rfal_analogConfig.h File Reference

RF Chip Analog Configuration Settings. More...

#include "platform.h"
#include "st_errno.h"
#include "rfal_rf.h"
Include dependency graph for rfal_analogConfig.h:

Data Structures

struct | rfalAnalogConfigRegAddrMaskVal
struct | rfalAnalogConfig

Macros

#define | RFAL_ANALOG_CONFIG_LUT_SIZE (87U)
#define | RFAL_ANALOG_CONFIG_LUT_NOT_FOUND (0xFFU)
#define | RFAL_ANALOG_CONFIG_TBL_SIZE (1024U)
#define | RFAL_ANALOG_CONFIG_POLL_LISTEN_MODE_MASK (0x8000U)
#define | RFAL_ANALOG_CONFIG_TECH_MASK (0x7F00U)
#define | RFAL_ANALOG_CONFIG_BITRATE_MASK (0x00F0U)
#define | RFAL_ANALOG_CONFIG_DIRECTION_MASK (0x000FU)
#define | RFAL_ANALOG_CONFIG_CHIP_SPECIFIC_MASK (0x00FFU)
#define | RFAL_ANALOG_CONFIG_POLL_LISTEN_MODE_SHIFT (15U)
#define | RFAL_ANALOG_CONFIG_TECH_SHIFT (8U)
#define | RFAL_ANALOG_CONFIG_BITRATE_SHIFT (4U)
#define | RFAL_ANALOG_CONFIG_DIRECTION_SHIFT (0U)
#define | RFAL_ANALOG_CONFIG_POLL (0x0000U)
#define | RFAL_ANALOG_CONFIG_LISTEN (0x8000U)
#define | RFAL_ANALOG_CONFIG_TECH_CHIP (0x0000U)
#define | RFAL_ANALOG_CONFIG_TECH_NFCA (0x0100U)
#define | RFAL_ANALOG_CONFIG_TECH_NFCB (0x0200U)
#define | RFAL_ANALOG_CONFIG_TECH_NFCF (0x0400U)
#define | RFAL_ANALOG_CONFIG_TECH_AP2P (0x0800U)
#define | RFAL_ANALOG_CONFIG_TECH_NFCV (0x1000U)
#define | RFAL_ANALOG_CONFIG_TECH_RFU (0x2000U)
#define | RFAL_ANALOG_CONFIG_BITRATE_COMMON (0x0000U)
#define | RFAL_ANALOG_CONFIG_BITRATE_106 (0x0010U)
#define | RFAL_ANALOG_CONFIG_BITRATE_212 (0x0020U)
#define | RFAL_ANALOG_CONFIG_BITRATE_424 (0x0030U)
#define | RFAL_ANALOG_CONFIG_BITRATE_848 (0x0040U)
#define | RFAL_ANALOG_CONFIG_BITRATE_1695 (0x0050U)
#define | RFAL_ANALOG_CONFIG_BITRATE_3390 (0x0060U)
#define | RFAL_ANALOG_CONFIG_BITRATE_6780 (0x0070U)
#define | RFAL_ANALOG_CONFIG_BITRATE_1OF4 (0x00C0U)
#define | RFAL_ANALOG_CONFIG_BITRATE_1OF256 (0x00D0U)
#define | RFAL_ANALOG_CONFIG_NO_DIRECTION (0x0000U)
#define | RFAL_ANALOG_CONFIG_TX (0x0001U)
#define | RFAL_ANALOG_CONFIG_RX (0x0002U)
#define | RFAL_ANALOG_CONFIG_ANTICOL (0x0003U)
#define | RFAL_ANALOG_CONFIG_DPO (0x0004U)
#define | RFAL_ANALOG_CONFIG_CHIP_INIT (0x0000U)
#define | RFAL_ANALOG_CONFIG_CHIP_DEINIT (0x0001U)
#define | RFAL_ANALOG_CONFIG_CHIP_FIELD_ON (0x0002U)
#define | RFAL_ANALOG_CONFIG_CHIP_FIELD_OFF (0x0003U)
#define | RFAL_ANALOG_CONFIG_CHIP_WAKEUP_ON (0x0004U)
#define | RFAL_ANALOG_CONFIG_CHIP_WAKEUP_OFF (0x0005U)
#define | RFAL_ANALOG_CONFIG_CHIP_LISTEN_ON (0x0006U)
#define | RFAL_ANALOG_CONFIG_CHIP_LISTEN_OFF (0x0007U)
#define | RFAL_ANALOG_CONFIG_CHIP_POLL_COMMON (0x0008U)
#define | RFAL_ANALOG_CONFIG_CHIP_LISTEN_COMMON (0x0009U)
#define | RFAL_ANALOG_CONFIG_CHIP_LOWPOWER_ON (0x000AU)
#define | RFAL_ANALOG_CONFIG_CHIP_LOWPOWER_OFF (0x000BU)
#define | RFAL_ANALOG_CONFIG_UPDATE_LAST (0x00U)
#define | RFAL_ANALOG_CONFIG_UPDATE_MORE (0x01U)
#define | RFAL_ANALOG_CONFIG_ID_GET_POLL_LISTEN(id) (RFAL_ANALOG_CONFIG_POLL_LISTEN_MODE_MASK & (id))
#define | RFAL_ANALOG_CONFIG_ID_GET_TECH(id) (RFAL_ANALOG_CONFIG_TECH_MASK & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_CHIP(id) (RFAL_ANALOG_CONFIG_TECH_MASK & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_NFCA(id) (RFAL_ANALOG_CONFIG_TECH_NFCA & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_NFCB(id) (RFAL_ANALOG_CONFIG_TECH_NFCB & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_NFCF(id) (RFAL_ANALOG_CONFIG_TECH_NFCF & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_AP2P(id) (RFAL_ANALOG_CONFIG_TECH_AP2P & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_NFCV(id) (RFAL_ANALOG_CONFIG_TECH_NFCV & (id))
#define | RFAL_ANALOG_CONFIG_ID_GET_BITRATE(id) (RFAL_ANALOG_CONFIG_BITRATE_MASK & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_COMMON(id) (RFAL_ANALOG_CONFIG_BITRATE_MASK & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_106(id) (RFAL_ANALOG_CONFIG_BITRATE_106 & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_212(id) (RFAL_ANALOG_CONFIG_BITRATE_212 & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_424(id) (RFAL_ANALOG_CONFIG_BITRATE_424 & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_848(id) (RFAL_ANALOG_CONFIG_BITRATE_848 & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_1695(id) (RFAL_ANALOG_CONFIG_BITRATE_1695 & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_3390(id) (RFAL_ANALOG_CONFIG_BITRATE_3390 & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_6780(id) (RFAL_ANALOG_CONFIG_BITRATE_6780 & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_1OF4(id) (RFAL_ANALOG_CONFIG_BITRATE_1OF4 & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_1OF256(id) (RFAL_ANALOG_CONFIG_BITRATE_1OF256 & (id))
#define | RFAL_ANALOG_CONFIG_ID_GET_DIRECTION(id) (RFAL_ANALOG_CONFIG_DIRECTION_MASK & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_TX(id) (RFAL_ANALOG_CONFIG_TX & (id))
#define | RFAL_ANALOG_CONFIG_ID_IS_RX(id) (RFAL_ANALOG_CONFIG_RX & (id))
#define | RFAL_ANALOG_CONFIG_CONFIG_NUM(x) (sizeof(x)/sizeof((x)[0]))
#define | RFAL_ANALOG_CONFIG_ID_SET(mode, tech, br, direction)

Typedefs

typedef uint8_t | rfalAnalogConfigMode
typedef uint8_t | rfalAnalogConfigTech
typedef uint8_t | rfalAnalogConfigBitrate
typedef uint8_t | rfalAnalogConfigDirection
typedef uint8_t | rfalAnalogConfigRegAddr [2]
typedef uint8_t | rfalAnalogConfigRegMask
typedef uint8_t | rfalAnalogConfigRegVal
typedef uint16_t | rfalAnalogConfigId
typedef uint16_t | rfalAnalogConfigOffset
typedef uint8_t | rfalAnalogConfigNum

Functions

void | rfalAnalogConfigInitialize (void)
Initialize the Analog Configuration. More...
bool | rfalAnalogConfigIsReady (void)
Indicate if the current Analog Configuration Table is complete and ready to be used. More...
ReturnCode | rfalAnalogConfigListWriteRaw (const uint8_t *configTbl, uint16_t configTblSize)
Write the whole Analog Configuration table in raw format. More...
ReturnCode | rfalAnalogConfigListWrite (uint8_t more, const rfalAnalogConfig *config)
Write the Analog Configuration table with new analog settings. More...
ReturnCode | rfalAnalogConfigListReadRaw (uint8_t *tblBuf, uint16_t tblBufLen, uint16_t *configTblSize)
Read the whole Analog Configuration table in raw format. More...
ReturnCode | rfalAnalogConfigListRead (rfalAnalogConfigOffset *configOffset, uint8_t *more, rfalAnalogConfig *config, rfalAnalogConfigNum numConfig)
Read the Analog Configuration table. More...
ReturnCode | rfalSetAnalogConfig (rfalAnalogConfigId configId)
Set the Analog settings of indicated Configuration ID. More...
uint16_t | rfalAnalogConfigGenModeID (rfalMode md, rfalBitRate br, uint16_t dir)
Generates Analog Config mode ID. More...

Detailed Description

ST25R95 Analog Configuration Settings.

ST25R3916 Analog Configuration Settings.

ST25R3911 Analog Configuration Settings.

Author
bkam
Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: rfal_chip.h File Reference

  • File List
  • Globals
  • include
Functions
rfal_chip.h File Reference

RF Chip specific Layer. More...

#include "platform.h"
#include "st_errno.h"
#include "rfal_rf.h"
Include dependency graph for rfal_chip.h:

Functions

ReturnCode | rfalChipWriteReg (uint16_t reg, const uint8_t *values, uint8_t len)
Writes a register on the RF Chip. More...
ReturnCode | rfalChipReadReg (uint16_t reg, uint8_t *values, uint8_t len)
Reads a register on the RF Chip. More...
ReturnCode | rfalChipChangeRegBits (uint16_t reg, uint8_t valueMask, uint8_t value)
Change a register on the RF Chip. More...
ReturnCode | rfalChipWriteTestReg (uint16_t reg, uint8_t value)
Writes a Test register on the RF Chip. More...
ReturnCode | rfalChipReadTestReg (uint16_t reg, uint8_t *value)
Reads a Test register on the RF Chip. More...
ReturnCode | rfalChipChangeTestRegBits (uint16_t reg, uint8_t valueMask, uint8_t value)
Change a Test register on the RF Chip. More...
ReturnCode | rfalChipExecCmd (uint16_t cmd)
Execute command on the RF Chip. More...
ReturnCode | rfalChipSetRFO (uint8_t rfo)
Set RFO. More...
ReturnCode | rfalChipGetRFO (uint8_t *result)
Get RFO. More...
ReturnCode | rfalChipMeasureAmplitude (uint8_t *result)
Measure Amplitude. More...
ReturnCode | rfalChipMeasurePhase (uint8_t *result)
Measure Phase. More...
ReturnCode | rfalChipMeasureCapacitance (uint8_t *result)
Measure Capacitance. More...
ReturnCode | rfalChipMeasurePowerSupply (uint8_t param, uint8_t *result)
Measure Power Supply. More...

Detailed Description

Author
Gustavo Patricio
Warning
This layer, which provides direct access to RF chip, should only be used for debug purposes and/or advanced features
Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: rfal_crc.h File Reference

  • File List
  • Globals
  • source
Functions
rfal_crc.h File Reference

CRC calculation module. More...

#include "platform.h"

Functions

uint16_t rfalCrcCalculateCcitt (uint16_t preloadValue, const uint8_t *buf, uint16_t length)
Calculate CRC according to CCITT standard. More...

Detailed Description

Author
Ulrich Herrmann

Function Documentation

uint16_t rfalCrcCalculateCcitt | ( | uint16_t | preloadValue,
 |  | const uint8_t * | buf,
 |  | uint16_t | length
 | ) |  |

This function takes length bytes from buf and calculates the CRC for this data. The result is returned.

Note
This implementation calculates the CRC with LSB first, i.e. all bytes are "read" from right to left.
Parameters
[in] | preloadValue | : Initial value of CRC calculation.
[in] | buf | : buffer to calculate the CRC for.
[in] | length | : size of the buffer.
Returns
16 bit long crc value.
Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: rfal_dpo.h File Reference

  • File List
  • Globals
  • include
Data Structures | Macros | Typedefs | Functions
rfal_dpo.h File Reference

Dynamic Power adjustment. More...

#include "platform.h"
#include "st_errno.h"
Include dependency graph for rfal_dpo.h:
This graph shows which files directly or indirectly include this file:

Data Structures

struct rfalDpoEntry

Macros

#define | RFAL_DPO_TABLE_SIZE_MAX 15U
#define | RFAL_DPO_TABLE_PARAMETER 3U

Typedefs

typedef ReturnCode(* rfalDpoMeasureFunc )(uint8_t *)

Functions

void | rfalDpoInitialize (void)
Initialize dynamic power table. More...
void | rfalDpoSetMeasureCallback (rfalDpoMeasureFunc dpoMeasureFunc)
Set the measurement methode. More...
ReturnCode | rfalDpoTableWrite (rfalDpoEntry *powerTbl, uint8_t powerTblEntries)
Write dynamic power table. More...
ReturnCode | rfalDpoTableRead (rfalDpoEntry *tblBuf, uint8_t tblBufEntries, uint8_t *tableEntries)
Dynamic power table Read. More...
ReturnCode | rfalDpoAdjust (void)
Dynamic power adjust. More...
rfalDpoEntry * | rfalDpoGetCurrentTableEntry (void)
Get Current Dynamic power table entry. More...
void | rfalDpoSetEnabled (bool enable)
Dynamic power set enabled state. More...
bool | rfalDpoIsEnabled (void)
Get the Dynamic power enabled state. More...

Detailed Description

Author
Martin Zechleitner

This module provides an interface to perform the power adjustment dynamically

Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: rfal_dpoTbl.h File Reference

  • File List
  • Globals
  • source
  • st25r3916
Variables
st25r3916/rfal_dpoTbl.h File Reference

RF Dynamic Power Table default values. More...

#include "rfal_dpo.h"
Include dependency graph for st25r3916/rfal_dpoTbl.h:

Variables

const uint8_t rfalDpoDefaultSettings []

Detailed Description

Author
Martin Zechleitner

Variable Documentation

const uint8_t rfalDpoDefaultSettings[]
Initial value:
= {
0x00, 255, 200,
0x01, 210, 150,
0x02, 160, 100,
0x03, 110, 50,
}

Default DPO table

Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: rfal_features.h File Reference

  • File List
  • Globals
  • source
  • st25r3911
Macros
st25r3911/rfal_features.h File Reference

RFAL Features/Capabilities Definition for ST25R3911. More...

#include "platform.h"

Macros

#define | RFAL_SUPPORT_MODE_POLL_NFCA true
#define | RFAL_SUPPORT_MODE_POLL_NFCB true
#define | RFAL_SUPPORT_MODE_POLL_NFCF true
#define | RFAL_SUPPORT_MODE_POLL_NFCV true
#define | RFAL_SUPPORT_MODE_POLL_ACTIVE_P2P true
#define | RFAL_SUPPORT_MODE_LISTEN_NFCA false
#define | RFAL_SUPPORT_MODE_LISTEN_NFCB false
#define | RFAL_SUPPORT_MODE_LISTEN_NFCF false
#define | RFAL_SUPPORT_MODE_LISTEN_ACTIVE_P2P true
#define | RFAL_SUPPORT_CE ( RFAL_SUPPORT_MODE_LISTEN_NFCA || RFAL_SUPPORT_MODE_LISTEN_NFCB || RFAL_SUPPORT_MODE_LISTEN_NFCF )
#define | RFAL_SUPPORT_RW ( RFAL_SUPPORT_MODE_POLL_NFCA || RFAL_SUPPORT_MODE_POLL_NFCB || RFAL_SUPPORT_MODE_POLL_NFCF || RFAL_SUPPORT_MODE_POLL_NFCV )
#define | RFAL_SUPPORT_AP2P ( RFAL_SUPPORT_MODE_POLL_ACTIVE_P2P || RFAL_SUPPORT_MODE_POLL_ACTIVE_P2P )
#define | RFAL_SUPPORT_BR_RW_106 true
#define | RFAL_SUPPORT_BR_RW_212 true
#define | RFAL_SUPPORT_BR_RW_424 true
#define | RFAL_SUPPORT_BR_RW_848 true
#define | RFAL_SUPPORT_BR_RW_1695 true
#define | RFAL_SUPPORT_BR_RW_3390 true
#define | RFAL_SUPPORT_BR_RW_6780 false
#define | RFAL_SUPPORT_BR_RW_13560 false
#define | RFAL_SUPPORT_BR_AP2P_106 true
#define | RFAL_SUPPORT_BR_AP2P_212 true
#define | RFAL_SUPPORT_BR_AP2P_424 true
#define | RFAL_SUPPORT_BR_AP2P_848 false
#define | RFAL_SUPPORT_BR_AP2P_1695 false
#define | RFAL_SUPPORT_BR_AP2P_3390 false
#define | RFAL_SUPPORT_BR_AP2P_6780 false
#define | RFAL_SUPPORT_BR_CE_A_106 false
#define | RFAL_SUPPORT_BR_CE_A_212 false
#define | RFAL_SUPPORT_BR_CE_A_424 false
#define | RFAL_SUPPORT_BR_CE_A_848 false
#define | RFAL_SUPPORT_BR_CE_B_106 false
#define | RFAL_SUPPORT_BR_CE_B_212 false
#define | RFAL_SUPPORT_BR_CE_B_424 false
#define | RFAL_SUPPORT_BR_CE_B_848 false
#define | RFAL_SUPPORT_BR_CE_F_212 false
#define | RFAL_SUPPORT_BR_CE_F_424 false

Detailed Description

Author
Gustavo Patricio

Macro Definition Documentation

#define RFAL_SUPPORT_AP2P ( RFAL_SUPPORT_MODE_POLL_ACTIVE_P2P || RFAL_SUPPORT_MODE_POLL_ACTIVE_P2P )

RFAL support for Active P2P (AP2P)

#define RFAL_SUPPORT_BR_AP2P_106 true

RFAL AP2P 106 Bit Rate support switch

#define RFAL_SUPPORT_BR_AP2P_1695 false

RFAL AP2P 1695 Bit Rate support switch

#define RFAL_SUPPORT_BR_AP2P_212 true

RFAL AP2P 212 Bit Rate support switch

#define RFAL_SUPPORT_BR_AP2P_3390 false

RFAL AP2P 3390 Bit Rate support switch

#define RFAL_SUPPORT_BR_AP2P_424 true

RFAL AP2P 424 Bit Rate support switch

#define RFAL_SUPPORT_BR_AP2P_6780 false

RFAL AP2P 6780 Bit Rate support switch

#define RFAL_SUPPORT_BR_AP2P_848 false

RFAL AP2P 848 Bit Rate support switch

#define RFAL_SUPPORT_BR_CE_A_106 false

RFAL CE A 106 Bit Rate support switch

#define RFAL_SUPPORT_BR_CE_A_212 false

RFAL CE A 212 Bit Rate support switch

#define RFAL_SUPPORT_BR_CE_A_424 false

RFAL CE A 424 Bit Rate support switch

#define RFAL_SUPPORT_BR_CE_A_848 false

RFAL CE A 848 Bit Rate support switch

#define RFAL_SUPPORT_BR_CE_B_106 false

RFAL CE B 106 Bit Rate support switch

#define RFAL_SUPPORT_BR_CE_B_212 false

RFAL CE B 212 Bit Rate support switch

#define RFAL_SUPPORT_BR_CE_B_424 false

RFAL CE B 424 Bit Rate support switch

#define RFAL_SUPPORT_BR_CE_B_848 false

RFAL CE B 848 Bit Rate support switch

#define RFAL_SUPPORT_BR_CE_F_212 false

RFAL CE F 212 Bit Rate support switch

#define RFAL_SUPPORT_BR_CE_F_424 false

RFAL CE F 424 Bit Rate support switch

#define RFAL_SUPPORT_BR_RW_106 true

RFAL RW 106 Bit Rate support switch

#define RFAL_SUPPORT_BR_RW_13560 false

RFAL RW 6780 Bit Rate support switch

#define RFAL_SUPPORT_BR_RW_1695 true

RFAL RW 1695 Bit Rate support switch

#define RFAL_SUPPORT_BR_RW_212 true

RFAL RW 212 Bit Rate support switch

#define RFAL_SUPPORT_BR_RW_3390 true

RFAL RW 3390 Bit Rate support switch

#define RFAL_SUPPORT_BR_RW_424 true

RFAL RW 424 Bit Rate support switch

#define RFAL_SUPPORT_BR_RW_6780 false

RFAL RW 6780 Bit Rate support switch

#define RFAL_SUPPORT_BR_RW_848 true

RFAL RW 848 Bit Rate support switch

#define RFAL_SUPPORT_CE ( RFAL_SUPPORT_MODE_LISTEN_NFCA || RFAL_SUPPORT_MODE_LISTEN_NFCB || RFAL_SUPPORT_MODE_LISTEN_NFCF )

RFAL supported Card Emulation (CE)

#define RFAL_SUPPORT_MODE_LISTEN_ACTIVE_P2P true

RFAL Listen AP2P mode support switch

#define RFAL_SUPPORT_MODE_LISTEN_NFCA false

RFAL Listen NFCA mode support switch

#define RFAL_SUPPORT_MODE_LISTEN_NFCB false

RFAL Listen NFCB mode support switch

#define RFAL_SUPPORT_MODE_LISTEN_NFCF false

RFAL Listen NFCF mode support switch

#define RFAL_SUPPORT_MODE_POLL_ACTIVE_P2P true

RFAL Poll AP2P mode support switch

#define RFAL_SUPPORT_MODE_POLL_NFCA true

RFAL Poll NFCA mode support switch

#define RFAL_SUPPORT_MODE_POLL_NFCB true

RFAL Poll NFCB mode support switch

#define RFAL_SUPPORT_MODE_POLL_NFCF true

RFAL Poll NFCF mode support switch

#define RFAL_SUPPORT_MODE_POLL_NFCV true

RFAL Poll NFCV mode support switch

#define RFAL_SUPPORT_RW ( RFAL_SUPPORT_MODE_POLL_NFCA || RFAL_SUPPORT_MODE_POLL_NFCB || RFAL_SUPPORT_MODE_POLL_NFCF || RFAL_SUPPORT_MODE_POLL_NFCV )

RFAL supported Reader/Writer (RW)

Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: rfal_features.h File Reference

  • File List
  • Globals
  • source
  • st25r3916
Macros
st25r3916/rfal_features.h File Reference

RFAL Features/Capabilities Definition for ST25R3916. More...

#include "platform.h"

Macros

#define | RFAL_SUPPORT_MODE_POLL_NFCA true
#define | RFAL_SUPPORT_MODE_POLL_NFCB true
#define | RFAL_SUPPORT_MODE_POLL_NFCF true
#define | RFAL_SUPPORT_MODE_POLL_NFCV true
#define | RFAL_SUPPORT_MODE_POLL_ACTIVE_P2P true
#define | RFAL_SUPPORT_MODE_LISTEN_NFCA true
#define | RFAL_SUPPORT_MODE_LISTEN_NFCB false
#define | RFAL_SUPPORT_MODE_LISTEN_NFCF true
#define | RFAL_SUPPORT_MODE_LISTEN_ACTIVE_P2P true
#define | RFAL_SUPPORT_CE ( RFAL_SUPPORT_MODE_LISTEN_NFCA || RFAL_SUPPORT_MODE_LISTEN_NFCB || RFAL_SUPPORT_MODE_LISTEN_NFCF )
#define | RFAL_SUPPORT_RW ( RFAL_SUPPORT_MODE_POLL_NFCA || RFAL_SUPPORT_MODE_POLL_NFCB || RFAL_SUPPORT_MODE_POLL_NFCF || RFAL_SUPPORT_MODE_POLL_NFCV )
#define | RFAL_SUPPORT_AP2P ( RFAL_SUPPORT_MODE_POLL_ACTIVE_P2P || RFAL_SUPPORT_MODE_LISTEN_ACTIVE_P2P )
#define | RFAL_SUPPORT_BR_RW_106 true
#define | RFAL_SUPPORT_BR_RW_212 true
#define | RFAL_SUPPORT_BR_RW_424 true
#define | RFAL_SUPPORT_BR_RW_848 true
#define | RFAL_SUPPORT_BR_RW_1695 false
#define | RFAL_SUPPORT_BR_RW_3390 false
#define | RFAL_SUPPORT_BR_RW_6780 false
#define | RFAL_SUPPORT_BR_RW_13560 false
#define | RFAL_SUPPORT_BR_AP2P_106 true
#define | RFAL_SUPPORT_BR_AP2P_212 true
#define | RFAL_SUPPORT_BR_AP2P_424 true
#define | RFAL_SUPPORT_BR_AP2P_848 false
#define | RFAL_SUPPORT_BR_CE_A_106 true
#define | RFAL_SUPPORT_BR_CE_A_212 false
#define | RFAL_SUPPORT_BR_CE_A_424 false
#define | RFAL_SUPPORT_BR_CE_A_848 false
#define | RFAL_SUPPORT_BR_CE_B_106 false
#define | RFAL_SUPPORT_BR_CE_B_212 false
#define | RFAL_SUPPORT_BR_CE_B_424 false
#define | RFAL_SUPPORT_BR_CE_B_848 false
#define | RFAL_SUPPORT_BR_CE_F_212 true
#define | RFAL_SUPPORT_BR_CE_F_424 true

Detailed Description

Author
Gustavo Patricio

Macro Definition Documentation

#define RFAL_SUPPORT_AP2P ( RFAL_SUPPORT_MODE_POLL_ACTIVE_P2P || RFAL_SUPPORT_MODE_LISTEN_ACTIVE_P2P )

RFAL support for Active P2P (AP2P)

#define RFAL_SUPPORT_BR_AP2P_106 true

RFAL AP2P 106 Bit Rate support switch

#define RFAL_SUPPORT_BR_AP2P_212 true

RFAL AP2P 212 Bit Rate support switch

#define RFAL_SUPPORT_BR_AP2P_424 true

RFAL AP2P 424 Bit Rate support switch

#define RFAL_SUPPORT_BR_AP2P_848 false

RFAL AP2P 848 Bit Rate support switch

#define RFAL_SUPPORT_BR_CE_A_106 true

RFAL CE A 106 Bit Rate support switch

#define RFAL_SUPPORT_BR_CE_A_212 false

RFAL CE A 212 Bit Rate support switch

#define RFAL_SUPPORT_BR_CE_A_424 false

RFAL CE A 424 Bit Rate support switch

#define RFAL_SUPPORT_BR_CE_A_848 false

RFAL CE A 848 Bit Rate support switch

#define RFAL_SUPPORT_BR_CE_B_106 false

RFAL CE B 106 Bit Rate support switch

#define RFAL_SUPPORT_BR_CE_B_212 false

RFAL CE B 212 Bit Rate support switch

#define RFAL_SUPPORT_BR_CE_B_424 false

RFAL CE B 424 Bit Rate support switch

#define RFAL_SUPPORT_BR_CE_B_848 false

RFAL CE B 848 Bit Rate support switch

#define RFAL_SUPPORT_BR_CE_F_212 true

RFAL CE F 212 Bit Rate support switch

#define RFAL_SUPPORT_BR_CE_F_424 true

RFAL CE F 424 Bit Rate support switch

#define RFAL_SUPPORT_BR_RW_106 true

RFAL RW 106 Bit Rate support switch

#define RFAL_SUPPORT_BR_RW_13560 false

RFAL RW 6780 Bit Rate support switch

#define RFAL_SUPPORT_BR_RW_1695 false

RFAL RW 1695 Bit Rate support switch

#define RFAL_SUPPORT_BR_RW_212 true

RFAL RW 212 Bit Rate support switch

#define RFAL_SUPPORT_BR_RW_3390 false

RFAL RW 3390 Bit Rate support switch

#define RFAL_SUPPORT_BR_RW_424 true

RFAL RW 424 Bit Rate support switch

#define RFAL_SUPPORT_BR_RW_6780 false

RFAL RW 6780 Bit Rate support switch

#define RFAL_SUPPORT_BR_RW_848 true

RFAL RW 848 Bit Rate support switch

#define RFAL_SUPPORT_CE ( RFAL_SUPPORT_MODE_LISTEN_NFCA || RFAL_SUPPORT_MODE_LISTEN_NFCB || RFAL_SUPPORT_MODE_LISTEN_NFCF )

RFAL supported Card Emulation (CE)

#define RFAL_SUPPORT_MODE_LISTEN_ACTIVE_P2P true

RFAL Listen AP2P mode support switch

#define RFAL_SUPPORT_MODE_LISTEN_NFCA true

RFAL Listen NFCA mode support switch

#define RFAL_SUPPORT_MODE_LISTEN_NFCB false

RFAL Listen NFCB mode support switch

#define RFAL_SUPPORT_MODE_LISTEN_NFCF true

RFAL Listen NFCF mode support switch

#define RFAL_SUPPORT_MODE_POLL_ACTIVE_P2P true

RFAL Poll AP2P mode support switch

#define RFAL_SUPPORT_MODE_POLL_NFCA true

RFAL Poll NFCA mode support switch

#define RFAL_SUPPORT_MODE_POLL_NFCB true

RFAL Poll NFCB mode support switch

#define RFAL_SUPPORT_MODE_POLL_NFCF true

RFAL Poll NFCF mode support switch

#define RFAL_SUPPORT_MODE_POLL_NFCV true

RFAL Poll NFCV mode support switch

#define RFAL_SUPPORT_RW ( RFAL_SUPPORT_MODE_POLL_NFCA || RFAL_SUPPORT_MODE_POLL_NFCB || RFAL_SUPPORT_MODE_POLL_NFCF || RFAL_SUPPORT_MODE_POLL_NFCV )

RFAL supported Reader/Writer (RW)

Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: rfal_features.h File Reference

  • File List
  • Globals
  • source
  • st25r95
Macros
st25r95/rfal_features.h File Reference

RFAL Features/Capabilities Definition for ST25R95. More...

#include "platform.h"
This graph shows which files directly or indirectly include this file:

Macros

#define | RFAL_SUPPORT_MODE_POLL_NFCA true
#define | RFAL_SUPPORT_MODE_POLL_NFCB true
#define | RFAL_SUPPORT_MODE_POLL_NFCF true
#define | RFAL_SUPPORT_MODE_POLL_NFCV true
#define | RFAL_SUPPORT_MODE_POLL_ACTIVE_P2P true
#define | RFAL_SUPPORT_MODE_LISTEN_NFCA false
#define | RFAL_SUPPORT_MODE_LISTEN_NFCB false
#define | RFAL_SUPPORT_MODE_LISTEN_NFCF false
#define | RFAL_SUPPORT_MODE_LISTEN_ACTIVE_P2P false
#define | RFAL_SUPPORT_CE ( RFAL_SUPPORT_MODE_LISTEN_NFCA || RFAL_SUPPORT_MODE_LISTEN_NFCB || RFAL_SUPPORT_MODE_LISTEN_NFCF )
#define | RFAL_SUPPORT_RW ( RFAL_SUPPORT_MODE_POLL_NFCA || RFAL_SUPPORT_MODE_POLL_NFCB || RFAL_SUPPORT_MODE_POLL_NFCF || RFAL_SUPPORT_MODE_POLL_NFCV )
#define | RFAL_SUPPORT_AP2P ( RFAL_SUPPORT_MODE_POLL_ACTIVE_P2P || RFAL_SUPPORT_MODE_POLL_ACTIVE_P2P )
#define | RFAL_SUPPORT_BR_RW_106 true
#define | RFAL_SUPPORT_BR_RW_212 true
#define | RFAL_SUPPORT_BR_RW_424 true
#define | RFAL_SUPPORT_BR_RW_848 true
#define | RFAL_SUPPORT_BR_RW_1695 false
#define | RFAL_SUPPORT_BR_RW_3390 false
#define | RFAL_SUPPORT_BR_RW_6780 false
#define | RFAL_SUPPORT_BR_AP2P_106 false
#define | RFAL_SUPPORT_BR_AP2P_212 false
#define | RFAL_SUPPORT_BR_AP2P_424 false
#define | RFAL_SUPPORT_BR_AP2P_848 false
#define | RFAL_SUPPORT_BR_AP2P_1695 false
#define | RFAL_SUPPORT_BR_AP2P_3390 false
#define | RFAL_SUPPORT_BR_AP2P_6780 false
#define | RFAL_SUPPORT_BR_CE_A_106 true
#define | RFAL_SUPPORT_BR_CE_A_212 false
#define | RFAL_SUPPORT_BR_CE_A_424 false
#define | RFAL_SUPPORT_BR_CE_A_848 false
#define | RFAL_SUPPORT_BR_CE_B_106 false
#define | RFAL_SUPPORT_BR_CE_B_212 false
#define | RFAL_SUPPORT_BR_CE_B_424 false
#define | RFAL_SUPPORT_BR_CE_B_848 false
#define | RFAL_SUPPORT_BR_CE_F_212 false
#define | RFAL_SUPPORT_BR_CE_F_424 false

Detailed Description

Author

Macro Definition Documentation

#define RFAL_SUPPORT_AP2P ( RFAL_SUPPORT_MODE_POLL_ACTIVE_P2P || RFAL_SUPPORT_MODE_POLL_ACTIVE_P2P )

RFAL support for Active P2P (AP2P)

#define RFAL_SUPPORT_BR_AP2P_106 false

RFAL AP2P 106 Bit Rate support switch

#define RFAL_SUPPORT_BR_AP2P_1695 false

RFAL AP2P 1695 Bit Rate support switch

#define RFAL_SUPPORT_BR_AP2P_212 false

RFAL AP2P 212 Bit Rate support switch

#define RFAL_SUPPORT_BR_AP2P_3390 false

RFAL AP2P 3390 Bit Rate support switch

#define RFAL_SUPPORT_BR_AP2P_424 false

RFAL AP2P 424 Bit Rate support switch

#define RFAL_SUPPORT_BR_AP2P_6780 false

RFAL AP2P 6780 Bit Rate support switch

#define RFAL_SUPPORT_BR_AP2P_848 false

RFAL AP2P 848 Bit Rate support switch

#define RFAL_SUPPORT_BR_CE_A_106 true

RFAL CE A 106 Bit Rate support switch

#define RFAL_SUPPORT_BR_CE_A_212 false

RFAL CE A 212 Bit Rate support switch

#define RFAL_SUPPORT_BR_CE_A_424 false

RFAL CE A 424 Bit Rate support switch

#define RFAL_SUPPORT_BR_CE_A_848 false

RFAL CE A 848 Bit Rate support switch

#define RFAL_SUPPORT_BR_CE_B_106 false

RFAL CE B 106 Bit Rate support switch

#define RFAL_SUPPORT_BR_CE_B_212 false

RFAL CE B 212 Bit Rate support switch

#define RFAL_SUPPORT_BR_CE_B_424 false

RFAL CE B 424 Bit Rate support switch

#define RFAL_SUPPORT_BR_CE_B_848 false

RFAL CE B 848 Bit Rate support switch

#define RFAL_SUPPORT_BR_CE_F_212 false

RFAL CE F 212 Bit Rate support switch

#define RFAL_SUPPORT_BR_CE_F_424 false

RFAL CE F 424 Bit Rate support switch

#define RFAL_SUPPORT_BR_RW_106 true

RFAL RW 106 Bit Rate support switch

#define RFAL_SUPPORT_BR_RW_1695 false

RFAL RW 1695 Bit Rate support switch

#define RFAL_SUPPORT_BR_RW_212 true

RFAL RW 212 Bit Rate support switch

#define RFAL_SUPPORT_BR_RW_3390 false

RFAL RW 3390 Bit Rate support switch

#define RFAL_SUPPORT_BR_RW_424 true

RFAL RW 424 Bit Rate support switch

#define RFAL_SUPPORT_BR_RW_6780 false

RFAL RW 6780 Bit Rate support switch

#define RFAL_SUPPORT_BR_RW_848 true

RFAL RW 848 Bit Rate support switch

#define RFAL_SUPPORT_CE ( RFAL_SUPPORT_MODE_LISTEN_NFCA || RFAL_SUPPORT_MODE_LISTEN_NFCB || RFAL_SUPPORT_MODE_LISTEN_NFCF )

RFAL supported Card Emulation (CE)

#define RFAL_SUPPORT_MODE_LISTEN_ACTIVE_P2P false

RFAL Listen AP2P mode support switch

#define RFAL_SUPPORT_MODE_LISTEN_NFCA false

RFAL Listen NFCA mode support switch

#define RFAL_SUPPORT_MODE_LISTEN_NFCB false

RFAL Listen NFCB mode support switch

#define RFAL_SUPPORT_MODE_LISTEN_NFCF false

RFAL Listen NFCF mode support switch

#define RFAL_SUPPORT_MODE_POLL_ACTIVE_P2P true

RFAL Poll AP2P mode support switch

#define RFAL_SUPPORT_MODE_POLL_NFCA true

RFAL Poll NFCA mode support switch

#define RFAL_SUPPORT_MODE_POLL_NFCB true

RFAL Poll NFCB mode support switch

#define RFAL_SUPPORT_MODE_POLL_NFCF true

RFAL Poll NFCF mode support switch

#define RFAL_SUPPORT_MODE_POLL_NFCV true

RFAL Poll NFCV mode support switch

#define RFAL_SUPPORT_RW ( RFAL_SUPPORT_MODE_POLL_NFCA || RFAL_SUPPORT_MODE_POLL_NFCB || RFAL_SUPPORT_MODE_POLL_NFCF || RFAL_SUPPORT_MODE_POLL_NFCV )

RFAL supported Reader/Writer (RW)

Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: rfal_iso15693_2.h File Reference

  • File List
  • Globals
  • source
Data Structures | Macros | Enumerations | Functions
rfal_iso15693_2.h File Reference

Implementation of ISO-15693-2. More...

#include "platform.h"
#include "st_errno.h"
Include dependency graph for rfal_iso15693_2.h:

Data Structures

struct | iso15693PhyConfig_t
struct | iso15693StreamConfig

Macros

#define | ISO15693_REQ_FLAG_TWO_SUBCARRIERS 0x01U
#define | ISO15693_REQ_FLAG_HIGH_DATARATE 0x02U
#define | ISO15693_MASK_FDT_LISTEN (65)
#define | ISO15693_FWT (69 + 12)

Enumerations

enum iso15693VcdCoding_t { ISO15693_VCD_CODING_1_4, ISO15693_VCD_CODING_1_256 }

Functions

ReturnCode | iso15693PhyConfigure (const iso15693PhyConfig_t *config, const struct iso15693StreamConfig **needed_stream_config)
Initialize the ISO15693 phy. More...
ReturnCode | iso15693PhyGetConfiguration (iso15693PhyConfig_t *config)
Return current phy configuration. More...
ReturnCode | iso15693VCDCode (uint8_t *buffer, uint16_t length, bool sendCrc, bool sendFlags, bool picopassMode, uint16_t *subbit_total_length, uint16_t *offset, uint8_t *outbuf, uint16_t outBufSize, uint16_t *actOutBufSize)
Code an ISO15693 compatible frame. More...
ReturnCode | iso15693VICCDecode (const uint8_t *inBuf, uint16_t inBufLen, uint8_t *outBuf, uint16_t outBufLen, uint16_t *outBufPos, uint16_t *bitsBeforeCol, uint16_t ignoreBits, bool picopassMode)
Receive an ISO15693 compatible frame. More...

Detailed Description

Author
Ulrich Herrmann

Macro Definition Documentation

#define ISO15693_FWT (69 + 12)

t1max = 323,3us = 4384/fc = 68.5 * 64/fc 12 = 768/fc unmodulated time of single subcarrior SoF

#define ISO15693_MASK_FDT_LISTEN (65)

t1min = 308,2us = 4192/fc = 65.5 * 64/fc

#define ISO15693_REQ_FLAG_HIGH_DATARATE 0x02U

Flag indication that communication uses high bitrate

#define ISO15693_REQ_FLAG_TWO_SUBCARRIERS 0x01U

Flag indication that communication uses two subcarriers

Enumeration Type Documentation

enum iso15693VcdCoding_t

Enum holding possible VCD codings

Function Documentation

ReturnCode iso15693PhyConfigure | ( | const iso15693PhyConfig_t * | config,
 |  | const struct iso15693StreamConfig ** | needed_stream_config
 | ) |  |
Parameters
[in] | config | : ISO15693 phy related configuration (See iso15693PhyConfig_t)
[out] | needed_stream_config | : return a pointer to the stream config needed for this iso15693 config. To be used for configure RF chip.
Returns
ERR_IO : Error during communication.
ERR_NONE : No error.
ReturnCode iso15693PhyGetConfiguration ( iso15693PhyConfig_t * config )

This function returns current Phy configuration previously set by iso15693PhyConfigure

Parameters
[out] config : ISO15693 phy configuration.
Returns
ERR_NONE : No error.
ReturnCode iso15693VCDCode | ( | uint8_t * | buffer,
 |  | uint16_t | length,
 |  | bool | sendCrc,
 |  | bool | sendFlags,
 |  | bool | picopassMode,
 |  | uint16_t * | subbit_total_length,
 |  | uint16_t * | offset,
 |  | uint8_t * | outbuf,
 |  | uint16_t | outBufSize,
 |  | uint16_t * | actOutBufSize
 | ) |  |

This function takes length bytes from buffer, perform proper encoding and sends out the frame to the ST25R391x.

Parameters
[in] | buffer | : data to send, modified to adapt flags.
[in] | length | : number of bytes to send.
[in] | sendCrc | : If set to true, CRC is appended to the frame
[in] | sendFlags | If set to true, flag field is sent according to ISO15693.
[in] | picopassMode | : If set to true, the coding will be according to Picopass
[out] | subbit_total_length | : Return the complete bytes which need to be send for the current coding
[in,out] | offset | : Set to 0 for first transfer, function will update it to point to next byte to be coded
[out] | outbuf | : buffer where the function will store the coded subbit stream
[out] | outBufSize | : the size of the output buffer
[out] | actOutBufSize | : the amount of data stored into the buffer at this call
Returns
ERR_IO : Error during communication.
ERR_AGAIN : Data was not coded all the way. Call function again with a new/emptied buffer
ERR_NO_MEM : In case outBuf is not big enough. Needs to have at least 5 bytes for 1of4 coding and 65 bytes for 1of256 coding
ERR_NONE : No error.
ReturnCode iso15693VICCDecode | ( | const uint8_t * | inBuf,
 |  | uint16_t | inBufLen,
 |  | uint8_t * | outBuf,
 |  | uint16_t | outBufLen,
 |  | uint16_t * | outBufPos,
 |  | uint16_t * | bitsBeforeCol,
 |  | uint16_t | ignoreBits,
 |  | bool | picopassMode
 | ) |  |

This function receives an ISO15693 frame from the ST25R391x, decodes the frame and writes the raw data to buffer.

Note
Buffer needs to be big enough to hold CRC also (+2 bytes)
Parameters
[in] | inBuf | : buffer with the hamming coded stream to be decoded
[in] | inBufLen | : number of bytes to decode (=length of buffer).
[out] | outBuf | : buffer where received data shall be written to.
[in] | outBufLen | : Length of output buffer, should be approx twice the size of inBuf
[out] | outBufPos | : The number of decoded bytes. Could be used in extended implementation to allow multiple calls
[out] | bitsBeforeCol | : in case of ERR_COLLISION this value holds the number of bits in the current byte where the collision happened.
[in] | ignoreBits | : number of bits in the beginning where collisions will be ignored
[in] | picopassMode | : if set to true, the decoding will be according to Picopass
Returns
ERR_COLLISION : collision occured, data uncorrect
ERR_CRC : CRC error, data uncorrect
ERR_TIMEOUT : timeout waiting for data.
ERR_NONE : No error.
Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: rfal_isoDep.h File Reference

  • File List
  • Globals
  • include
Data Structures | Macros | Enumerations | Functions
rfal_isoDep.h File Reference

Implementation of ISO-DEP protocol. More...

#include "platform.h"
#include "rfal_nfcb.h"
Include dependency graph for rfal_isoDep.h:
This graph shows which files directly or indirectly include this file:

Data Structures

struct | rfalIsoDepRats
struct | rfalIsoDepAts
struct | rfalIsoDepPpsReq
struct | rfalIsoDepPpsRes
struct | rfalIsoDepAttribCmd
struct | rfalIsoDepAttribRes
struct | rfalIsoDepSParameter
union | rfalIsoDepActivation
struct | rfalIsoDepInfo
struct | rfalIsoDepDevice
struct | rfalIsoDepAttribResParam
struct | rfalIsoDepAtsParam
struct | rfalIsoDepBufFormat
struct | rfalIsoDepApduBufFormat
struct | rfalIsoDepListenActvParam
struct | rfalIsoDepTxRxParam
struct | rfalIsoDepApduTxRxParam

Macros

#define | RFAL_FEATURE_ISO_DEP false
#define | RFAL_FEATURE_ISO_DEP_IBLOCK_MAX_LEN (1U)
#define | RFAL_FEATURE_ISO_DEP_APDU_MAX_LEN (1U)
#define | RFAL_ISODEP_PROLOGUE_SIZE (3U)
#define | RFAL_ISODEP_PCB_LEN (1U)
#define | RFAL_ISODEP_DID_LEN (1U)
#define | RFAL_ISODEP_NAD_LEN (1U)
#define | RFAL_ISODEP_NO_DID (0x00U)
#define | RFAL_ISODEP_NO_NAD (0xFFU)
#define | RFAL_ISODEP_FWI_MASK (0xF0U)
#define | RFAL_ISODEP_FWI_SHIFT (4U)
#define | RFAL_ISODEP_FWI_DEFAULT (4U)
#define | RFAL_ISODEP_ADV_FEATURE (0x0FU)
#define | RFAL_ISODEP_DID_MAX (14U)
#define | RFAL_ISODEP_BRI_MASK (0x07U)
#define | RFAL_ISODEP_BSI_MASK (0x70U)
#define | RFAL_ISODEP_SAME_BITRATE_MASK (0x80U)
#define | RFAL_ISODEP_BITRATE_RFU_MASK (0x08U)
#define | RFAL_ISODEP_MAX_FWT ((uint32_t)1U<<26)
#define | RFAL_ISODEP_FSDI_DEFAULT RFAL_ISODEP_FSXI_256
#define | RFAL_ISODEP_FSX_KEEP (0xFFU)
#define | RFAL_ISODEP_DEFAULT_FSCI RFAL_ISODEP_FSXI_256
#define | RFAL_ISODEP_DEFAULT_FSC RFAL_ISODEP_FSX_256
#define | RFAL_ISODEP_DEFAULT_SFGI (0U)
#define | RFAL_ISODEP_DEFAULT_FWI (8U)
#define | RFAL_ISODEP_APDU_MAX_LEN RFAL_ISODEP_FSX_1024
#define | RFAL_ISODEP_ATTRIB_RES_MBLI_NO_INFO (0x00U)
#define | RFAL_ISODEP_ATTRIB_REQ_PARAM1_DEFAULT (0x00U)
#define | RFAL_ISODEP_ATTRIB_HLINFO_LEN (32U)
#define | RFAL_ISODEP_ATS_HB_MAX_LEN (15U)
#define | RFAL_ISODEP_ATTRIB_REQ_MIN_LEN (9U)
#define | RFAL_ISODEP_ATTRIB_RES_MIN_LEN (1U)
#define | RFAL_ISODEP_SPARAM_VALUES_MAX_LEN (16U)
#define | RFAL_ISODEP_SPARAM_TAG_BLOCKINFO (0xA0U)
#define | RFAL_ISODEP_SPARAM_TAG_BRREQ (0xA1U)
#define | RFAL_ISODEP_SPARAM_TAG_BRIND (0xA2U)
#define | RFAL_ISODEP_SPARAM_TAG_BRACT (0xA3U)
#define | RFAL_ISODEP_SPARAM_TAG_BRACK (0xA4U)
#define | RFAL_ISODEP_SPARAM_TAG_SUP_PCD2PICC (0x80U)
#define | RFAL_ISODEP_SPARAM_TAG_SUP_PICC2PCD (0x81U)
#define | RFAL_ISODEP_SPARAM_TAG_SUP_FRAME (0x82U)
#define | RFAL_ISODEP_SPARAM_TAG_SEL_PCD2PICC (0x83U)
#define | RFAL_ISODEP_SPARAM_TAG_SEL_PICC2PCD (0x84U)
#define | RFAL_ISODEP_SPARAM_TAG_SEL_FRAME (0x85U)
#define | RFAL_ISODEP_SPARAM_TAG_LEN (1)
#define | RFAL_ISODEP_SPARAM_TAG_BRREQ_LEN (0U)
#define | RFAL_ISODEP_SPARAM_TAG_PICC2PCD_LEN (2U)
#define | RFAL_ISODEP_SPARAM_TAG_PCD2PICC_LEN (2U)
#define | RFAL_ISODEP_SPARAM_TAG_BRACK_LEN (0U)
#define | RFAL_ISODEP_ATS_TA_DPL_212 (0x01U)
#define | RFAL_ISODEP_ATS_TA_DPL_424 (0x02U)
#define | RFAL_ISODEP_ATS_TA_DPL_848 (0x04U)
#define | RFAL_ISODEP_ATS_TA_DLP_212 (0x10U)
#define | RFAL_ISODEP_ATS_TA_DLP_424 (0x20U)
#define | RFAL_ISODEP_ATS_TA_DLP_848 (0x40U)
#define | RFAL_ISODEP_ATS_TA_SAME_D (0x80U)
#define | RFAL_ISODEP_ATS_TB_FWI_MASK (0xF0U)
#define | RFAL_ISODEP_ATS_TB_SFGI_MASK (0x0FU)
#define | RFAL_ISODEP_ATS_T0_TA_PRESENCE_MASK (0x10U)
#define | RFAL_ISODEP_ATS_T0_TB_PRESENCE_MASK (0x20U)
#define | RFAL_ISODEP_ATS_T0_TC_PRESENCE_MASK (0x40U)
#define | RFAL_ISODEP_ATS_T0_FSCI_MASK (0x0FU)
#define | RFAL_ISODEP_ATS_T0_OFFSET (0x01U)
#define | RFAL_ISODEP_MAX_I_RETRYS (2U)
#define | RFAL_ISODEP_MAX_R_RETRYS (3U)
#define | RFAL_ISODEP_MAX_WTX_NACK_RETRYS (3U)
#define | RFAL_ISODEP_MAX_WTX_RETRYS (20U)
#define | RFAL_ISODEP_MAX_WTX_RETRYS_ULTD (255U)
#define | RFAL_ISODEP_MAX_DSL_RETRYS (0U)
#define | RFAL_ISODEP_RATS_RETRIES (1U)

Enumerations

enum rfalIsoDepFSxI {
RFAL_ISODEP_FSXI_16 = 0, RFAL_ISODEP_FSXI_24 = 1, RFAL_ISODEP_FSXI_32 = 2, RFAL_ISODEP_FSXI_40 = 3,
RFAL_ISODEP_FSXI_48 = 4, RFAL_ISODEP_FSXI_64 = 5, RFAL_ISODEP_FSXI_96 = 6, RFAL_ISODEP_FSXI_128 = 7,
RFAL_ISODEP_FSXI_256 = 8, RFAL_ISODEP_FSXI_512 = 9, RFAL_ISODEP_FSXI_1024 = 10, RFAL_ISODEP_FSXI_2048 = 11,
RFAL_ISODEP_FSXI_4096 = 12
}
enum rfalIsoDepFSx {
RFAL_ISODEP_FSX_16 = 16, RFAL_ISODEP_FSX_24 = 24, RFAL_ISODEP_FSX_32 = 32, RFAL_ISODEP_FSX_40 = 40,
RFAL_ISODEP_FSX_48 = 48, RFAL_ISODEP_FSX_64 = 64, RFAL_ISODEP_FSX_96 = 96, RFAL_ISODEP_FSX_128 = 128,
RFAL_ISODEP_FSX_256 = 256, RFAL_ISODEP_FSX_512 = 512, RFAL_ISODEP_FSX_1024 = 1024, RFAL_ISODEP_FSX_2048 = 2048,
RFAL_ISODEP_FSX_4096 = 4096
}

Functions

void | rfalIsoDepInitialize (void)
Initialize the ISO-DEP protocol. More...
void | rfalIsoDepInitializeWithParams (rfalComplianceMode compMode, uint8_t maxRetriesR, uint8_t maxRetriesSnWTX, uint8_t maxRetriesSWTX, uint8_t maxRetriesSDSL, uint8_t maxRetriesI, uint8_t maxRetriesRATS)
Initialize the ISO-DEP protocol. More...
uint16_t | rfalIsoDepFSxI2FSx (uint8_t FSxI)
FSxI to FSx. More...
uint32_t | rfalIsoDepFWI2FWT (uint8_t fwi)
FWI to FWT. More...
bool | rfalIsoDepIsRats (const uint8_t *buf, uint8_t bufLen)
Check if the buffer data contains a valid RATS command. More...
bool | rfalIsoDepIsAttrib (const uint8_t *buf, uint8_t bufLen)
Check if the buffer data contains a valid ATTRIB command. More...
ReturnCode | rfalIsoDepListenStartActivation (rfalIsoDepAtsParam *atsParam, const rfalIsoDepAttribResParam *attribResParam, const uint8_t *buf, uint16_t bufLen, rfalIsoDepListenActvParam actParam)
Start Listen Activation Handling. More...
ReturnCode | rfalIsoDepListenGetActivationStatus (void)
Get the current Activation Status. More...
uint16_t | rfalIsoDepGetMaxInfLen (void)
Get the ISO-DEP Communication Information. More...
ReturnCode | rfalIsoDepStartTransceive (rfalIsoDepTxRxParam param)
ISO-DEP Start Transceive. More...
ReturnCode | rfalIsoDepGetTransceiveStatus (void)
Get the Transceive status. More...
ReturnCode | rfalIsoDepStartApduTransceive (rfalIsoDepApduTxRxParam param)
ISO-DEP Start APDU Transceive. More...
ReturnCode | rfalIsoDepGetApduTransceiveStatus (void)
Get the APDU Transceive status. More...
ReturnCode | rfalIsoDepRATS (rfalIsoDepFSxI FSDI, uint8_t DID, rfalIsoDepAts *ats, uint8_t *atsLen)
ISO-DEP Send RATS. More...
ReturnCode | rfalIsoDepPPS (uint8_t DID, rfalBitRate DSI, rfalBitRate DRI, rfalIsoDepPpsRes *ppsRes)
ISO-DEP Send PPS. More...
ReturnCode | rfalIsoDepATTRIB (const uint8_t *nfcid0, uint8_t PARAM1, rfalBitRate DSI, rfalBitRate DRI, rfalIsoDepFSxI FSDI, uint8_t PARAM3, uint8_t DID, const uint8_t *HLInfo, uint8_t HLInfoLen, uint32_t fwt, rfalIsoDepAttribRes *attribRes, uint8_t *attribResLen)
ISO-DEP Send ATTRIB. More...
ReturnCode | rfalIsoDepDeselect (void)
Deselects PICC. More...
ReturnCode | rfalIsoDepPollAHandleActivation (rfalIsoDepFSxI FSDI, uint8_t DID, rfalBitRate maxBR, rfalIsoDepDevice *isoDepDev)
ISO-DEP Poller Handle NFC-A Activation. More...
ReturnCode | rfalIsoDepPollBHandleActivation (rfalIsoDepFSxI FSDI, uint8_t DID, rfalBitRate maxBR, uint8_t PARAM1, const rfalNfcbListenDevice *nfcbDev, const uint8_t *HLInfo, uint8_t HLInfoLen, rfalIsoDepDevice *isoDepDev)
ISO-DEP Poller Handle NFC-B Activation. More...
ReturnCode | rfalIsoDepPollHandleSParameters (rfalIsoDepDevice *isoDepDev, rfalBitRate maxTxBR, rfalBitRate maxRxBR)
ISO-DEP Poller Handle S(Parameters) More...
ReturnCode | rfalIsoDepPollAStartActivation (rfalIsoDepFSxI FSDI, uint8_t DID, rfalBitRate maxBR, rfalIsoDepDevice *isoDepDev)
ISO-DEP Poller Start NFC-A Activation. More...
ReturnCode | rfalIsoDepPollAGetActivationStatus (void)
ISO-DEP Poller Get NFC-A Activation Status. More...
ReturnCode | rfalIsoDepPollBStartActivation (rfalIsoDepFSxI FSDI, uint8_t DID, rfalBitRate maxBR, uint8_t PARAM1, const rfalNfcbListenDevice *nfcbDev, const uint8_t *HLInfo, uint8_t HLInfoLen, rfalIsoDepDevice *isoDepDev)
ISO-DEP Poller Start NFC-B Activation. More...
ReturnCode | rfalIsoDepPollBGetActivationStatus (void)
ISO-DEP Poller Get NFC-B Activation Status. More...

Detailed Description

Author
Gustavo Patricio

This implementation was based on the following specs:

  • ISO/IEC 14443-4 2nd Edition 2008-07-15
  • NFC Forum Digital Protocol 1.1 2014-01-14
Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: rfal_nfc.h File Reference

  • File List
  • Globals
  • include
Data Structures | Macros | Enumerations | Functions
rfal_nfc.h File Reference

RFAL NFC device. More...

#include "platform.h"
#include "st_errno.h"
#include "rfal_rf.h"
#include "rfal_nfca.h"
#include "rfal_nfcb.h"
#include "rfal_nfcf.h"
#include "rfal_nfcv.h"
#include "rfal_st25tb.h"
#include "rfal_nfcDep.h"
#include "rfal_isoDep.h"
Include dependency graph for rfal_nfc.h:
This graph shows which files directly or indirectly include this file:

Data Structures

struct | rfalNfcDevice
struct | rfalNfcDiscoverParam
union | rfalNfcBuffer

Macros

#define | RFAL_NFC_TECH_NONE 0x0000U
#define | RFAL_NFC_POLL_TECH_A 0x0001U
#define | RFAL_NFC_POLL_TECH_B 0x0002U
#define | RFAL_NFC_POLL_TECH_F 0x0004U
#define | RFAL_NFC_POLL_TECH_V 0x0008U
#define | RFAL_NFC_POLL_TECH_AP2P 0x0010U
#define | RFAL_NFC_POLL_TECH_ST25TB 0x0020U
#define | RFAL_NFC_LISTEN_TECH_A 0x1000U
#define | RFAL_NFC_LISTEN_TECH_B 0x2000U
#define | RFAL_NFC_LISTEN_TECH_F 0x4000U
#define | RFAL_NFC_LISTEN_TECH_AP2P 0x8000U
#define | rfalNfcIsDevActivated(st) ( ((st)>= RFAL_NFC_STATE_ACTIVATED) && ((st)<RFAL_NFC_STATE_DEACTIVATION) )
#define | rfalNfcIsInDiscovery(st) ( ((st)>= RFAL_NFC_STATE_START_DISCOVERY) && ((st)<RFAL_NFC_STATE_ACTIVATED) )
#define | rfalNfcIsRemDevPoller(tp) ( ((tp)>= RFAL_NFC_POLL_TYPE_NFCA) && ((tp)<=RFAL_NFC_POLL_TYPE_AP2P ) )
#define | rfalNfcIsRemDevListener(tp) ( ((int16_t)(tp)>= (int16_t)RFAL_NFC_LISTEN_TYPE_NFCA) && ((tp)<=RFAL_NFC_LISTEN_TYPE_AP2P) )

Enumerations

enum rfalNfcState {
RFAL_NFC_STATE_NOTINIT = 0, RFAL_NFC_STATE_IDLE = 1, RFAL_NFC_STATE_START_DISCOVERY = 2, RFAL_NFC_STATE_WAKEUP_MODE = 3,
RFAL_NFC_STATE_POLL_TECHDETECT = 10, RFAL_NFC_STATE_POLL_COLAVOIDANCE = 11, RFAL_NFC_STATE_POLL_SELECT = 12, RFAL_NFC_STATE_POLL_ACTIVATION = 13,
RFAL_NFC_STATE_LISTEN_TECHDETECT = 20, RFAL_NFC_STATE_LISTEN_COLAVOIDANCE = 21, RFAL_NFC_STATE_LISTEN_ACTIVATION = 22, RFAL_NFC_STATE_LISTEN_SLEEP = 23,
RFAL_NFC_STATE_ACTIVATED = 30, RFAL_NFC_STATE_DATAEXCHANGE = 31, RFAL_NFC_STATE_DATAEXCHANGE_DONE = 33, RFAL_NFC_STATE_DEACTIVATION = 34
}
enum rfalNfcDevType {
RFAL_NFC_LISTEN_TYPE_NFCA = 0, RFAL_NFC_LISTEN_TYPE_NFCB = 1, RFAL_NFC_LISTEN_TYPE_NFCF = 2, RFAL_NFC_LISTEN_TYPE_NFCV = 3,
RFAL_NFC_LISTEN_TYPE_ST25TB = 4, RFAL_NFC_LISTEN_TYPE_AP2P = 5, RFAL_NFC_POLL_TYPE_NFCA = 10, RFAL_NFC_POLL_TYPE_NFCB = 11,
RFAL_NFC_POLL_TYPE_NFCF = 12, RFAL_NFC_POLL_TYPE_NFCV = 13, RFAL_NFC_POLL_TYPE_AP2P = 15
}
enum rfalNfcRfInterface { RFAL_NFC_INTERFACE_RF = 0, RFAL_NFC_INTERFACE_ISODEP = 1, RFAL_NFC_INTERFACE_NFCDEP = 2 }

Functions

void | rfalNfcWorker (void)
RFAL NFC Worker. More...
ReturnCode | rfalNfcInitialize (void)
RFAL NFC Initialize. More...
ReturnCode | rfalNfcDiscover (const rfalNfcDiscoverParam *disParams)
RFAL NFC Discovery. More...
rfalNfcState | rfalNfcGetState (void)
RFAL NFC Get State. More...
ReturnCode | rfalNfcGetDevicesFound (rfalNfcDevice **devList, uint8_t *devCnt)
RFAL NFC Get Devices Found. More...
ReturnCode | rfalNfcGetActiveDevice (rfalNfcDevice **dev)
RFAL NFC Get Active Device. More...
ReturnCode | rfalNfcSelect (uint8_t devIdx)
RFAL NFC Select Device. More...
ReturnCode | rfalNfcDataExchangeStart (uint8_t *txData, uint16_t txDataLen, uint8_t **rxData, uint16_t **rvdLen, uint32_t fwt)
RFAL NFC Start Data Exchange. More...
ReturnCode | rfalNfcDataExchangeGetStatus (void)
RFAL NFC Get Data Exchange Status. More...
ReturnCode | rfalNfcDeactivate (bool discovery)
RFAL NFC Deactivate. More...

Detailed Description

This module provides the required features to behave as an NFC Poller or Listener device. It grants an easy to use interface for the following activities: Technology Detection, Collision Resolution, Activation, Data Exchange, and Deactivation

This layer is influenced by (but not fully aligned with) the NFC Forum specifications, in particular: Activity 2.0 and NCI 2.0

Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: rfal_nfca.h File Reference

  • File List
  • Globals
  • include
Data Structures | Macros | Enumerations | Functions
rfal_nfca.h File Reference

Provides several NFC-A convenience methods and definitions. More...

#include "platform.h"
#include "st_errno.h"
#include "rfal_rf.h"
#include "rfal_t1t.h"
Include dependency graph for rfal_nfca.h:
This graph shows which files directly or indirectly include this file:

Data Structures

struct | rfalNfcaSensRes
struct | rfalNfcaSddReq
struct | rfalNfcaSddRes
struct | rfalNfcaSelReq
struct | rfalNfcaSelRes
struct | rfalNfcaListenDevice

Macros

#define | RFAL_NFCA_CASCADE_1_UID_LEN 4U
#define | RFAL_NFCA_CASCADE_2_UID_LEN 7U
#define | RFAL_NFCA_CASCADE_3_UID_LEN 10U
#define | RFAL_NFCA_SENS_RES_PLATFORM_MASK 0x0FU
#define | RFAL_NFCA_SENS_RES_PLATFORM_T1T 0x0CU
#define | RFAL_NFCA_SEL_RES_CONF_MASK 0x60U
#define | RFAL_NFCA_SEL_RES_CONF_T2T 0x00U
#define | RFAL_NFCA_SEL_RES_CONF_T4T 0x20U
#define | RFAL_NFCA_SEL_RES_CONF_NFCDEP 0x40U
#define | RFAL_NFCA_SEL_RES_CONF_T4T_NFCDEP 0x60U
#define | RFAL_NFCA_FDTMIN 1620U
#define | rfalNfcaIsSensResT1T(sensRes) ((((rfalNfcaSensRes*)(sensRes))->platformInfo & RFAL_NFCA_SENS_RES_PLATFORM_MASK) == RFAL_NFCA_SENS_RES_PLATFORM_T1T )
#define | rfalNfcaIsSelResT2T(selRes) ((((rfalNfcaSelRes*)(selRes))->sak & RFAL_NFCA_SEL_RES_CONF_MASK) == RFAL_NFCA_SEL_RES_CONF_T2T )
#define | rfalNfcaIsSelResT4T(selRes) ((((rfalNfcaSelRes*)(selRes))->sak & RFAL_NFCA_SEL_RES_CONF_MASK) == RFAL_NFCA_SEL_RES_CONF_T4T )
#define | rfalNfcaIsSelResNFCDEP(selRes) ((((rfalNfcaSelRes*)(selRes))->sak & RFAL_NFCA_SEL_RES_CONF_MASK) == RFAL_NFCA_SEL_RES_CONF_NFCDEP )
#define | rfalNfcaIsSelResT4TNFCDEP(selRes) ((((rfalNfcaSelRes*)(selRes))->sak & RFAL_NFCA_SEL_RES_CONF_MASK) == RFAL_NFCA_SEL_RES_CONF_T4T_NFCDEP )
#define | rfalNfcaLisDevIsMultiProto(lisDev) (((rfalNfcaListenDevice*)(lisDev))->type == RFAL_NFCA_T4T_NFCDEP )

Enumerations

enum rfalNfcaListenDeviceType {
RFAL_NFCA_T1T = 0x01, RFAL_NFCA_T2T = 0x00, RFAL_NFCA_T4T = 0x20, RFAL_NFCA_NFCDEP = 0x40,
RFAL_NFCA_T4T_NFCDEP = 0x60
}

Functions

ReturnCode | rfalNfcaPollerInitialize (void)
Initialize NFC-A Poller mode. More...
ReturnCode | rfalNfcaPollerCheckPresence (rfal14443AShortFrameCmd cmd, rfalNfcaSensRes *sensRes)
NFC-A Poller Check Presence. More...
ReturnCode | rfalNfcaPollerSelect (const uint8_t *nfcid1, uint8_t nfcidLen, rfalNfcaSelRes *selRes)
NFC-A Poller Select. More...
ReturnCode | rfalNfcaPollerSleep (void)
NFC-A Poller Sleep. More...
ReturnCode | rfalNfcaPollerTechnologyDetection (rfalComplianceMode compMode, rfalNfcaSensRes *sensRes)
NFC-A Technology Detection. More...
ReturnCode | rfalNfcaPollerSingleCollisionResolution (uint8_t devLimit, bool *collPending, rfalNfcaSelRes *selRes, uint8_t *nfcId1, uint8_t *nfcId1Len)
NFC-A Poller Collision Resolution. More...
ReturnCode | rfalNfcaPollerFullCollisionResolution (rfalComplianceMode compMode, uint8_t devLimit, rfalNfcaListenDevice *nfcaDevList, uint8_t *devCnt)
NFC-A Poller Full Collision Resolution. More...
ReturnCode | rfalNfcaPollerSleepFullCollisionResolution (uint8_t devLimit, rfalNfcaListenDevice *nfcaDevList, uint8_t *devCnt)
NFC-A Poller Full Collision Resolution with Sleep. More...
ReturnCode | rfalNfcaPollerStartFullCollisionResolution (rfalComplianceMode compMode, uint8_t devLimit, rfalNfcaListenDevice *nfcaDevList, uint8_t *devCnt)
NFC-A Poller Start Full Collision Resolution. More...
ReturnCode | rfalNfcaPollerGetFullCollisionResolutionStatus (void)
NFC-A Get Full Collision Resolution Status. More...
bool | rfalNfcaListenerIsSleepReq (const uint8_t *buf, uint16_t bufLen)
NFC-A Listener is SLP_REQ. More...

Detailed Description

Author
Gustavo Patricio

It provides a Poller (ISO14443A PCD) interface and as well as some NFC-A Listener (ISO14443A PICC) helpers.

The definitions and helpers methods provided by this module are only up to ISO14443-3 layer

An usage example is provided here: exampleRfalNfca.c

Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: rfal_nfcb.h File Reference

  • File List
  • Globals
  • include
Data Structures | Macros | Enumerations | Functions
rfal_nfcb.h File Reference

Implementation of NFC-B (ISO14443B) helpers. More...

#include "platform.h"
#include "st_errno.h"
#include "rfal_rf.h"
Include dependency graph for rfal_nfcb.h:
This graph shows which files directly or indirectly include this file:

Data Structures

struct | rfalNfcbSensbResAppData
struct | rfalNfcbSensbResProtocolInfo
struct | rfalNfcbSensbRes
struct | rfalNfcbListenDevice

Macros

#define | RFAL_NFCB_FWTSENSB 7680U
#define | RFAL_NFCB_DFWT 49152U
#define | RFAL_NFCB_DTPOLL_10 rfalConvMsTo1fc(20)
#define | RFAL_NFCB_DTPOLL_20 rfalConvMsTo1fc(17)
#define | RFAL_NFCB_AFI 0x00U
#define | RFAL_NFCB_PARAM 0x00U
#define | RFAL_NFCB_CRC_LEN 2U
#define | RFAL_NFCB_NFCID0_LEN 4U
#define | RFAL_NFCB_CMD_LEN 1U
#define | RFAL_NFCB_SENSB_RES_LEN 12U
#define | RFAL_NFCB_SENSB_RES_EXT_LEN 13U
#define | RFAL_NFCB_SENSB_REQ_ADV_FEATURE 0x20U
#define | RFAL_NFCB_SENSB_RES_FSCI_MASK 0x0FU
#define | RFAL_NFCB_SENSB_RES_FSCI_SHIFT 4U
#define | RFAL_NFCB_SENSB_RES_PROTO_RFU_MASK 0x08U
#define | RFAL_NFCB_SENSB_RES_PROTO_TR2_MASK 0x03U
#define | RFAL_NFCB_SENSB_RES_PROTO_TR2_SHIFT 1U
#define | RFAL_NFCB_SENSB_RES_PROTO_ISO_MASK 0x01U
#define | RFAL_NFCB_SENSB_RES_FWI_MASK 0x0FU
#define | RFAL_NFCB_SENSB_RES_FWI_SHIFT 4U
#define | RFAL_NFCB_SENSB_RES_ADC_MASK 0x0CU
#define | RFAL_NFCB_SENSB_RES_ADC_ADV_FEATURE_MASK 0x08U
#define | RFAL_NFCB_SENSB_RES_ADC_PROPRIETARY_MASK 0x04U
#define | RFAL_NFCB_SENSB_RES_FO_DID_MASK 0x01U
#define | RFAL_NFCB_SENSB_RES_FO_NAD_MASK 0x02U
#define | RFAL_NFCB_SENSB_RES_FO_MASK 0x03U
#define | RFAL_NFCB_SENSB_RES_SFGI_MASK 0x0FU
#define | RFAL_NFCB_SENSB_RES_SFGI_SHIFT 4U
#define | rfalNfcbGetFSCI(sensbRes) ((((rfalNfcbSensbRes*)(sensbRes))->protInfo.FsciProType >> RFAL_NFCB_SENSB_RES_FSCI_SHIFT) & RFAL_NFCB_SENSB_RES_FSCI_MASK )
#define | rfalNfcbIsIsoDepSupported(dev) ( (((rfalNfcbListenDevice*)(dev))->sensbRes.protInfo.FsciProType & RFAL_NFCB_SENSB_RES_PROTO_ISO_MASK) != 0U )

Enumerations

enum rfalNfcbSensCmd { RFAL_NFCB_SENS_CMD_ALLB_REQ = 0x08, RFAL_NFCB_SENS_CMD_SENSB_REQ = 0x00 }
enum rfalNfcbSlots {
RFAL_NFCB_SLOT_NUM_1 = 0, RFAL_NFCB_SLOT_NUM_2 = 1, RFAL_NFCB_SLOT_NUM_4 = 2, RFAL_NFCB_SLOT_NUM_8 = 3,
RFAL_NFCB_SLOT_NUM_16 = 4
}

Functions

ReturnCode | rfalNfcbPollerInitialize (void)
Initialize NFC-B Poller mode. More...
ReturnCode | rfalNfcbPollerInitializeWithParams (uint8_t AFI, uint8_t PARAM)
Set NFC-B Poller parameters. More...
ReturnCode | rfalNfcbPollerCheckPresence (rfalNfcbSensCmd cmd, rfalNfcbSlots slots, rfalNfcbSensbRes *sensbRes, uint8_t *sensbResLen)
NFC-B Poller Check Presence. More...
ReturnCode | rfalNfcbPollerSleep (const uint8_t *nfcid0)
NFC-B Poller Sleep. More...
ReturnCode | rfalNfcbPollerSlotMarker (uint8_t slotCode, rfalNfcbSensbRes *sensbRes, uint8_t *sensbResLen)
NFC-B Poller Slot Marker. More...
ReturnCode | rfalNfcbPollerTechnologyDetection (rfalComplianceMode compMode, rfalNfcbSensbRes *sensbRes, uint8_t *sensbResLen)
NFC-B Technology Detection. More...
ReturnCode | rfalNfcbPollerCollisionResolution (rfalComplianceMode compMode, uint8_t devLimit, rfalNfcbListenDevice *nfcbDevList, uint8_t *devCnt)
NFC-B Poller Collision Resolution. More...
ReturnCode | rfalNfcbPollerSlottedCollisionResolution (rfalComplianceMode compMode, uint8_t devLimit, rfalNfcbSlots initSlots, rfalNfcbSlots endSlots, rfalNfcbListenDevice *nfcbDevList, uint8_t *devCnt, bool *colPending)
NFC-B Poller Collision Resolution Slotted. More...
uint32_t | rfalNfcbTR2ToFDT (uint8_t tr2Code)
NFC-B TR2 code to FDT. More...

Detailed Description

Author
Gustavo Patricio

It provides a NFC-B Poller (ISO14443B PCD) interface and also provides some NFC-B Listener (ISO14443B PICC) helpers

The definitions and helpers methods provided by this module are only up to ISO14443-3 layer (excluding ATTRIB)

Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: rfal_nfcDep.h File Reference

  • File List
  • Globals
  • include
Data Structures | Macros | Typedefs | Enumerations | Functions
rfal_nfcDep.h File Reference

Implementation of NFC-DEP protocol. More...

#include "platform.h"
#include "st_errno.h"
#include "rfal_rf.h"
Include dependency graph for rfal_nfcDep.h:
This graph shows which files directly or indirectly include this file:

Data Structures

struct | rfalNfcDepConfigs
struct | rfalNfcDepAtrReq
struct | rfalNfcDepAtrRes
struct | rfalNfcDepBufFormat
struct | rfalNfcDepPduBufFormat
union | rfalNfcDepActivation
struct | rfalNfcDepInfo
struct | rfalNfcDepDevice
struct | rfalNfcDepAtrParam
struct | rfalNfcDepListenActvParam
struct | rfalNfcDepTargetParam
struct | rfalNfcDepTxRxParam
struct | rfalNfcDepPduTxRxParam

Macros

#define | RFAL_FEATURE_NFC_DEP false
#define | RFAL_FEATURE_NFC_DEP_BLOCK_MAX_LEN 1U
#define | RFAL_FEATURE_NFC_DEP_PDU_MAX_LEN 1U
#define | RFAL_NFCDEP_FRAME_SIZE_MAX_LEN 254U
#define | RFAL_NFCDEP_DEPREQ_HEADER_LEN 5U
#define | RFAL_NFCDEP_DEP_HEADER ( RFAL_NFCDEP_LEN_LEN + RFAL_NFCDEP_CMDTYPE_LEN + RFAL_NFCDEP_CMD_LEN + RFAL_NFCDEP_DEP_PFB_LEN )
#define | RFAL_NFCDEP_HEADER ( RFAL_NFCDEP_CMDTYPE_LEN + RFAL_NFCDEP_CMD_LEN )
#define | RFAL_NFCDEP_SB_LEN 1U
#define | RFAL_NFCDEP_LEN_LEN 1U
#define | RFAL_NFCDEP_CMDTYPE_LEN 1U
#define | RFAL_NFCDEP_CMD_LEN 1U
#define | RFAL_NFCDEP_DID_LEN 1U
#define | RFAL_NFCDEP_DEP_PFB_LEN 1U
#define | RFAL_NFCDEP_DSL_RLS_LEN_NO_DID (RFAL_NFCDEP_LEN_LEN + RFAL_NFCDEP_CMDTYPE_LEN + RFAL_NFCDEP_CMD_LEN)
#define | RFAL_NFCDEP_DSL_RLS_LEN_DID (RFAL_NFCDEP_DSL_RLS_LEN_NO_DID + RFAL_NFCDEP_DID_LEN)
#define | RFAL_NFCDEP_FS_VAL_MIN 64U
#define | RFAL_NFCDEP_LR_VAL_MASK 0x03U
#define | RFAL_NFCDEP_PP_LR_MASK 0x30U
#define | RFAL_NFCDEP_PP_LR_SHIFT 4U
#define | RFAL_NFCDEP_DID_MAX 14U
#define | RFAL_NFCDEP_DID_KEEP 0xFFU
#define | RFAL_NFCDEP_DID_NO 0x00U
#define | RFAL_NFCDEP_NAD_NO 0x00U
#define | RFAL_NFCDEP_OPER_RTOX_REQ_DIS 0x01U
#define | RFAL_NFCDEP_OPER_RTOX_REQ_EN 0x00U
#define | RFAL_NFCDEP_OPER_ATN_DIS 0x00U
#define | RFAL_NFCDEP_OPER_ATN_EN 0x02U
#define | RFAL_NFCDEP_OPER_EMPTY_DEP_DIS 0x04U
#define | RFAL_NFCDEP_OPER_EMPTY_DEP_EN 0x00U
#define | RFAL_NFCDEP_OPER_FULL_MI_DIS 0x00U
#define | RFAL_NFCDEP_OPER_FULL_MI_EN 0x08U
#define | RFAL_NFCDEP_BRS_MAINTAIN 0xC0U
#define | RFAL_NFCDEP_BRS_Dx_MASK 0x07U
#define | RFAL_NFCDEP_BRS_DSI_POS 3U
#define | RFAL_NFCDEP_WT_DELTA (16U - RFAL_NFCDEP_WT_DELTA_ADJUST)
#define | RFAL_NFCDEP_WT_DELTA_ADJUST 4U
#define | RFAL_NFCDEP_ATR_REQ_NFCID3_POS 2U
#define | RFAL_NFCDEP_NFCID3_LEN 10U
#define | RFAL_NFCDEP_LEN_MIN 3U
#define | RFAL_NFCDEP_LEN_MAX 255U
#define | RFAL_NFCDEP_ATRRES_HEADER_LEN 2U
#define | RFAL_NFCDEP_ATRRES_MIN_LEN 17U
#define | RFAL_NFCDEP_ATRRES_MAX_LEN 64U
#define | RFAL_NFCDEP_ATRREQ_MIN_LEN 16U
#define | RFAL_NFCDEP_ATRREQ_MAX_LEN RFAL_NFCDEP_ATRRES_MAX_LEN
#define | RFAL_NFCDEP_GB_MAX_LEN (RFAL_NFCDEP_ATRREQ_MAX_LEN - RFAL_NFCDEP_ATRREQ_MIN_LEN)
#define | RFAL_NFCDEP_WT_INI_DEFAULT RFAL_NFCDEP_WT_INI_MAX
#define | RFAL_NFCDEP_WT_INI_MIN 0U
#define | RFAL_NFCDEP_WT_INI_MAX 14U
#define | RFAL_NFCDEP_RWT_INI_MAX rfalNfcDepWT2RWT( RFAL_NFCDEP_WT_INI_MAX )
#define | RFAL_NFCDEP_WT_TRG_MAX_D10 8U
#define | RFAL_NFCDEP_WT_TRG_MAX_D11 14U
#define | RFAL_NFCDEP_WT_TRG_MAX_L13 10U
#define | RFAL_NFCDEP_WT_TRG_MAX RFAL_NFCDEP_WT_TRG_MAX_D11
#define | RFAL_NFCDEP_RWT_TRG_MAX rfalNfcDepWT2RWT( RFAL_NFCDEP_WT_TRG_MAX )
#define | RFAL_NFCDEP_MAX_FWT ((uint32_t)1U<<20)
#define | RFAL_NFCDEP_WT_MASK 0x0FU
#define | RFAL_NFCDEP_BR_MASK_106 0x01U
#define | RFAL_NFCDEP_BR_MASK_212 0x02U
#define | RFAL_NFCDEP_BR_MASK_424 0x04U
#define | rfalNfcDepWT2RWT(wt) ( (uint32_t)1U << (((uint32_t)(wt) & RFAL_NFCDEP_WT_MASK) + 12U) )
#define | rfalNfcDepDx2BRS(br) ( (((uint8_t)(br) & RFAL_NFCDEP_BRS_Dx_MASK) << RFAL_NFCDEP_BRS_DSI_POS) | ((uint8_t)(br) & RFAL_NFCDEP_BRS_Dx_MASK) )
#define | rfalNfcDepBRS2DRI(brs) (uint8_t)( (uint8_t)(brs) & RFAL_NFCDEP_BRS_Dx_MASK )
#define | rfalNfcDepBRS2DSI(brs) (uint8_t)( ((uint8_t)(brs) >> RFAL_NFCDEP_BRS_DSI_POS) & RFAL_NFCDEP_BRS_Dx_MASK )
#define | rfalNfcDepPP2LR(PPx) ( ((uint8_t)(PPx) & RFAL_NFCDEP_PP_LR_MASK ) >> RFAL_NFCDEP_PP_LR_SHIFT)
#define | rfalNfcDepLR2PP(LRx) ( ((uint8_t)(LRx) << RFAL_NFCDEP_PP_LR_SHIFT) & RFAL_NFCDEP_PP_LR_MASK)
#define | rfalNfcDepLR2FS(LRx) (uint16_t)(MIN( (RFAL_NFCDEP_FS_VAL_MIN * ((uint16_t)(LRx) + 1U) ), RFAL_NFCDEP_FRAME_SIZE_MAX_LEN ))
#define | rfalNfcDepSetNFCID(dst, src, len)

Typedefs

typedef bool(* rfalNfcDepDeactCallback )(void)

Enumerations

enum {
RFAL_NFCDEP_Bx_NO_HIGH_BR = 0x00, RFAL_NFCDEP_Bx_08_848 = 0x01, RFAL_NFCDEP_Bx_16_1695 = 0x02, RFAL_NFCDEP_Bx_32_3390 = 0x04,
RFAL_NFCDEP_Bx_64_6780 = 0x08
}
enum {
RFAL_NFCDEP_Dx_01_106 = RFAL_BR_106, RFAL_NFCDEP_Dx_02_212 = RFAL_BR_212, RFAL_NFCDEP_Dx_04_424 = RFAL_BR_424, RFAL_NFCDEP_Dx_08_848 = RFAL_BR_848,
RFAL_NFCDEP_Dx_16_1695 = RFAL_BR_1695, RFAL_NFCDEP_Dx_32_3390 = RFAL_BR_3390, RFAL_NFCDEP_Dx_64_6780 = RFAL_BR_6780
}
enum | { RFAL_NFCDEP_LR_64 = 0x00, RFAL_NFCDEP_LR_128 = 0x01, RFAL_NFCDEP_LR_192 = 0x02, RFAL_NFCDEP_LR_254 = 0x03 }
enum | rfalNfcDepCommMode { RFAL_NFCDEP_COMM_PASSIVE, RFAL_NFCDEP_COMM_ACTIVE }
enum | rfalNfcDepRole { RFAL_NFCDEP_ROLE_INITIATOR, RFAL_NFCDEP_ROLE_TARGET }

Functions

void | rfalNfcDepInitialize (void)
NFCIP Initialize. More...
void | rfalNfcDepSetDeactivatingCallback (rfalNfcDepDeactCallback pFunc)
Set deactivating callback. More...
uint32_t | rfalNfcDepCalculateRWT (uint8_t wt)
Calculate Response Waiting Time. More...
ReturnCode | rfalNfcDepATR (const rfalNfcDepAtrParam *param, rfalNfcDepAtrRes *atrRes, uint8_t *atrResLen)
NFC-DEP Initiator ATR (Attribute Request) More...
ReturnCode | rfalNfcDepPSL (uint8_t BRS, uint8_t FSL)
NFC-DEP Initiator PSL (Parameter Selection) More...
ReturnCode | rfalNfcDepDSL (void)
NFC-DEP Initiator DSL (Deselect) More...
ReturnCode | rfalNfcDepRLS (void)
NFC-DEP Initiator RLS (Release) More...
ReturnCode | rfalNfcDepInitiatorHandleActivation (rfalNfcDepAtrParam *param, rfalBitRate desiredBR, rfalNfcDepDevice *nfcDepDev)
NFC-DEP Initiator Handle Activation. More...
bool | rfalNfcDepIsAtrReq (const uint8_t *buf, uint16_t bufLen, uint8_t *nfcid3)
Check if buffer contains valid ATR_REQ. More...
bool | rfalNfcDepTargetRcvdATR (void)
Check is Target has received ATR. More...
ReturnCode | rfalNfcDepListenStartActivation (const rfalNfcDepTargetParam *param, const uint8_t *atrReq, uint16_t atrReqLength, rfalNfcDepListenActvParam rxParam)
NFCDEP Start Listen Activation Handling. More...
ReturnCode | rfalNfcDepListenGetActivationStatus (void)
Get the current NFC-DEP Activation Status. More...
ReturnCode | rfalNfcDepStartTransceive (const rfalNfcDepTxRxParam *param)
Start Transceive. More...
ReturnCode | rfalNfcDepGetTransceiveStatus (void)
Return the Transceive status. More...
ReturnCode | rfalNfcDepStartPduTransceive (rfalNfcDepPduTxRxParam param)
Start PDU Transceive. More...
ReturnCode | rfalNfcDepGetPduTransceiveStatus (void)
Return the PSU Transceive status. More...

Detailed Description

Author
Gustavo Patricio

NFC-DEP is also known as NFCIP - Near Field Communication Interface and Protocol

This implementation was based on the following specs:

  • NFC Forum Digital 1.1
  • ECMA 340 3rd Edition 2013
Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: rfal_nfcf.h File Reference

  • File List
  • Globals
  • include
Data Structures | Macros | Typedefs | Enumerations | Functions
rfal_nfcf.h File Reference

Implementation of NFC-F Poller (FeliCa PCD) device. More...

#include "platform.h"
#include "st_errno.h"
#include "rfal_rf.h"
Include dependency graph for rfal_nfcf.h:
This graph shows which files directly or indirectly include this file:

Data Structures

struct | rfalNfcfSensfRes
struct | rfalNfcfPollDevice
struct | rfalNfcfListenDevice
struct | rfalNfcfBlockListElem
struct | rfalNfcfServBlockListParam

Macros

#define | RFAL_NFCF_NFCID2_LEN 8U
#define | RFAL_NFCF_SENSF_RES_LEN_MIN 16U
#define | RFAL_NFCF_SENSF_RES_LEN_MAX 18U
#define | RFAL_NFCF_SENSF_RES_PAD0_LEN 2U
#define | RFAL_NFCF_SENSF_RES_PAD1_LEN 2U
#define | RFAL_NFCF_SENSF_RES_RD_LEN 2U
#define | RFAL_NFCF_SENSF_RES_BYTE1 1U
#define | RFAL_NFCF_SENSF_SC_LEN 2U
#define | RFAL_NFCF_SENSF_PARAMS_SC1_POS 0U
#define | RFAL_NFCF_SENSF_PARAMS_SC2_POS 1U
#define | RFAL_NFCF_SENSF_PARAMS_RC_POS 2U
#define | RFAL_NFCF_SENSF_PARAMS_TSN_POS 3U
#define | RFAL_NFCF_POLL_MAXCARDS 16U
#define | RFAL_NFCF_CMD_POS 0U
#define | RFAL_NFCF_CMD_LEN 1U
#define | RFAL_NFCF_LENGTH_LEN 1U
#define | RFAL_NFCF_HEADER_LEN (RFAL_NFCF_LENGTH_LEN + RFAL_NFCF_CMD_LEN)
#define | RFAL_NFCF_SENSF_NFCID2_BYTE1_POS 0U
#define | RFAL_NFCF_SENSF_NFCID2_BYTE2_POS 1U
#define | RFAL_NFCF_SENSF_NFCID2_PROT_TYPE_LEN 2U
#define | RFAL_NFCF_SENSF_NFCID2_BYTE1_NFCDEP 0x01U
#define | RFAL_NFCF_SENSF_NFCID2_BYTE2_NFCDEP 0xFEU
#define | RFAL_NFCF_SYSTEMCODE 0xFFFFU
#define | RFAL_NFCF_BLOCK_LEN 16U
#define | RFAL_NFCF_CHECKUPDATE_RES_ST1_POS 9U
#define | RFAL_NFCF_CHECKUPDATE_RES_ST2_POS 10U
#define | RFAL_NFCF_CHECKUPDATE_RES_NOB_POS 11U
#define | RFAL_NFCF_STATUS_FLAG_SUCCESS 0x00U
#define | RFAL_NFCF_STATUS_FLAG_ERROR 0xFFU
#define | RFAL_NFCF_BLOCKLISTELEM_LEN 0x80U
#define | RFAL_NFCF_SERVICECODE_RDONLY 0x000BU
#define | RFAL_NFCF_SERVICECODE_RDWR 0x0009U
#define | rfalNfcfIsNfcDepSupported(dev)

Typedefs

typedef uint16_t rfalNfcfServ

Enumerations

enum {
RFAL_NFCF_CMD_POLLING = 0x00, RFAL_NFCF_CMD_POLLING_RES = 0x01, RFAL_NFCF_CMD_REQUEST_SERVICE = 0x02, RFAL_NFCF_CMD_REQUEST_RESPONSE = 0x04,
RFAL_NFCF_CMD_READ_WITHOUT_ENCRYPTION = 0x06, RFAL_NFCF_CMD_READ_WITHOUT_ENCRYPTION_RES = 0x07, RFAL_NFCF_CMD_WRITE_WITHOUT_ENCRYPTION = 0x08, RFAL_NFCF_CMD_WRITE_WITHOUT_ENCRYPTION_RES = 0x09,
RFAL_NFCF_CMD_REQUEST_SYSTEM_CODE = 0x0c, RFAL_NFCF_CMD_AUTHENTICATION1 = 0x10, RFAL_NFCF_CMD_AUTHENTICATION2 = 0x12, RFAL_NFCF_CMD_READ = 0x14,
RFAL_NFCF_CMD_WRITE = 0x16
}

Functions

ReturnCode | rfalNfcfPollerInitialize (rfalBitRate bitRate)
Initialize NFC-F Poller mode. More...
ReturnCode | rfalNfcfPollerCheckPresence (void)
NFC-F Poller Check Presence. More...
ReturnCode | rfalNfcfPollerPoll (rfalFeliCaPollSlots slots, uint16_t sysCode, uint8_t reqCode, rfalFeliCaPollRes *cardList, uint8_t *devCnt, uint8_t *collisions)
NFC-F Poller Poll. More...
ReturnCode | rfalNfcfPollerCollisionResolution (rfalComplianceMode compMode, uint8_t devLimit, rfalNfcfListenDevice *nfcfDevList, uint8_t *devCnt)
NFC-F Poller Full Collision Resolution. More...
ReturnCode | rfalNfcfPollerCheck (const uint8_t *nfcid2, const rfalNfcfServBlockListParam *servBlock, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvdLen)
NFC-F Poller Check/Read. More...
ReturnCode | rfalNfcfPollerUpdate (const uint8_t *nfcid2, const rfalNfcfServBlockListParam *servBlock, uint8_t *txBuf, uint16_t txBufLen, const uint8_t *blockData, uint8_t *rxBuf, uint16_t rxBufLen)
NFC-F Poller Update/Write. More...
bool | rfalNfcfListenerIsT3TReq (const uint8_t *buf, uint16_t bufLen, uint8_t *nfcid2)
NFC-F Listener is T3T Request. More...

Detailed Description

Author
Gustavo Patricio

The definitions and helpers methods provided by this module are aligned with NFC-F (FeliCa - JIS X6319-4)

Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: rfal_nfcv.h File Reference

  • File List
  • Globals
  • include
Data Structures | Macros | Enumerations | Functions
rfal_nfcv.h File Reference

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

#include "platform.h"
#include "st_errno.h"
#include "rfal_rf.h"
Include dependency graph for rfal_nfcv.h:
This graph shows which files directly or indirectly include this file:

Data Structures

struct | rfalNfcvInventoryRes
struct | rfalNfcvGenericReq
struct | rfalNfcvGenericRes
struct | rfalNfcvListenDevice

Macros

#define | RFAL_NFCV_UID_LEN 8U
#define | RFAL_NFCV_MAX_BLOCK_LEN 32U
#define | RFAL_NFCV_BNO_LEN 1U
#define | RFAL_NFCV_CRC_LEN 2U
#define | RFAL_NFCV_MAX_GEN_DATA_LEN (RFAL_NFCV_MAX_BLOCK_LEN + RFAL_NFCV_BNO_LEN + RFAL_NFCV_UID_LEN)
#define | RFAL_NFCV_BLOCKNUM_LEN 1U
#define | RFAL_NFCV_BLOCKNUM_EXTENDED_LEN 2U
#define | RFAL_NFCV_PARAM_SKIP 0U

Enumerations

enum {
RFAL_NFCV_REQ_FLAG_DEFAULT = 0x02U, RFAL_NFCV_REQ_FLAG_SUB_CARRIER = 0x01U, RFAL_NFCV_REQ_FLAG_DATA_RATE = 0x02U, RFAL_NFCV_REQ_FLAG_INVENTORY = 0x04U,
RFAL_NFCV_REQ_FLAG_PROTOCOL_EXT = 0x08U, RFAL_NFCV_REQ_FLAG_SELECT = 0x10U, RFAL_NFCV_REQ_FLAG_ADDRESS = 0x20U, RFAL_NFCV_REQ_FLAG_OPTION = 0x40U,
RFAL_NFCV_REQ_FLAG_RFU = 0x80U, RFAL_NFCV_REQ_FLAG_AFI = 0x10U, RFAL_NFCV_REQ_FLAG_NB_SLOTS = 0x20U
}
enum {
RFAL_NFCV_RES_FLAG_ERROR = 0x01U, RFAL_NFCV_RES_FLAG_RFU1 = 0x02U, RFAL_NFCV_RES_FLAG_RFU2 = 0x04U, RFAL_NFCV_RES_FLAG_EXTENSION = 0x08U,
RFAL_NFCV_RES_FLAG_RFU3 = 0x10U, RFAL_NFCV_RES_FLAG_RFU4 = 0x20U, RFAL_NFCV_RES_FLAG_RFU5 = 0x40U, RFAL_NFCV_RES_FLAG_RFU6 = 0x80U
}
enum {
RFAL_NFCV_ERROR_CMD_NOT_SUPPORTED = 0x01U, RFAL_NFCV_ERROR_CMD_NOT_RECOGNIZED = 0x02U, RFAL_NFCV_ERROR_OPTION_NOT_SUPPORTED = 0x03U, RFAL_NFCV_ERROR_UNKNOWN = 0x0FU,
RFAL_NFCV_ERROR_BLOCK_NOT_AVALIABLE = 0x10U, RFAL_NFCV_ERROR_BLOCK_ALREDY_LOCKED = 0x11U, RFAL_NFCV_ERROR_BLOCK_LOCKED = 0x12U, RFAL_NFCV_ERROR_WRITE_FAILED = 0x13U,
RFAL_NFCV_ERROR_BLOCK_FAILED = 0x14U
}
enum {
RFAL_NFCV_CMD_INVENTORY = 0x01U, RFAL_NFCV_CMD_SLPV = 0x02U, RFAL_NFCV_CMD_READ_SINGLE_BLOCK = 0x20U, RFAL_NFCV_CMD_WRITE_SINGLE_BLOCK = 0x21U,
RFAL_NFCV_CMD_LOCK_BLOCK = 0x22U, RFAL_NFCV_CMD_READ_MULTIPLE_BLOCKS = 0x23U, RFAL_NFCV_CMD_WRITE_MULTIPLE_BLOCKS = 0x24U, RFAL_NFCV_CMD_SELECT = 0x25U,
RFAL_NFCV_CMD_RESET_TO_READY = 0x26U, RFAL_NFCV_CMD_GET_SYS_INFO = 0x2BU, RFAL_NFCV_CMD_EXTENDED_READ_SINGLE_BLOCK = 0x30U, RFAL_NFCV_CMD_EXTENDED_WRITE_SINGLE_BLOCK = 0x31U,
RFAL_NFCV_CMD_EXTENDED_LOCK_SINGLE_BLOCK = 0x32U, RFAL_NFCV_CMD_EXTENDED_READ_MULTIPLE_BLOCK = 0x33U, RFAL_NFCV_CMD_EXTENDED_WRITE_MULTIPLE_BLOCK = 0x34U, RFAL_NFCV_CMD_EXTENDED_GET_SYS_INFO = 0x3BU
}
enum {
RFAL_NFCV_CMD_READ_CONFIGURATION = 0xA0U, RFAL_NFCV_CMD_WRITE_CONFIGURATION = 0xA1U, RFAL_NFCV_CMD_SET_EAS = 0xA2U, RFAL_NFCV_CMD_RESET_EAS = 0xA3U,
RFAL_NFCV_CMD_LOCK_EAS = 0xA4U, RFAL_NFCV_CMD_ENABLE_EAS = 0xA5U, RFAL_NFCV_CMD_KILL = 0xA6U, RFAL_NFCV_CMD_WRITE_EAS_ID = 0xA7U,
RFAL_NFCV_CMD_WRITE_EAS_CONFIG = 0xA8U, RFAL_NFCV_CMD_MANAGE_GPO = 0xA9U, RFAL_NFCV_CMD_WRITE_MESSAGE = 0xAAU, RFAL_NFCV_CMD_READ_MESSAGE_LENGTH = 0xABU,
RFAL_NFCV_CMD_READ_MESSAGE = 0xACU, RFAL_NFCV_CMD_READ_DYN_CONFIGURATION = 0xADU, RFAL_NFCV_CMD_WRITE_DYN_CONFIGURATION = 0xAEU, RFAL_NFCV_CMD_WRITE_PASSWORD = 0xB1U,
RFAL_NFCV_CMD_LOCK_KILL = 0xB2U, RFAL_NFCV_CMD_PRESENT_PASSWORD = 0xB3U, RFAL_NFCV_CMD_GET_RANDOM_NUMBER = 0xB4U, RFAL_NFCV_CMD_FAST_READ_SINGLE_BLOCK = 0xC0U,
RFAL_NFCV_CMD_FAST_READ_MULTIPLE_BLOCKS = 0xC3U, RFAL_NFCV_CMD_FAST_EXTENDED_READ_SINGLE_BLOCK = 0xC4U, RFAL_NFCV_CMD_FAST_EXTENDED_READ_MULTIPLE_BLOCKS = 0xC5U, RFAL_NFCV_CMD_FAST_WRITE_MESSAGE = 0xCAU,
RFAL_NFCV_CMD_FAST_READ_MESSAGE_LENGTH = 0xCBU, RFAL_NFCV_CMD_FAST_READ_MESSAGE = 0xCCU, RFAL_NFCV_CMD_FAST_READ_DYN_CONFIGURATION = 0xCDU, RFAL_NFCV_CMD_FAST_WRITE_DYN_CONFIGURATION = 0xCEU
}
enum {
RFAL_NFCV_SYSINFO_DFSID = 0x01U, RFAL_NFCV_SYSINFO_AFI = 0x02U, RFAL_NFCV_SYSINFO_MEMSIZE = 0x04U, RFAL_NFCV_SYSINFO_ICREF = 0x08U,
RFAL_NFCV_SYSINFO_MOI = 0x10U, RFAL_NFCV_SYSINFO_CMDLIST = 0x20U, RFAL_NFCV_SYSINFO_CSI = 0x40U, RFAL_NFCV_SYSINFO_REQ_ALL = 0x7FU
}
enum rfalNfcvNumSlots { RFAL_NFCV_NUM_SLOTS_1 = 0x20, RFAL_NFCV_NUM_SLOTS_16 = 0x00 }

Functions

ReturnCode | rfalNfcvPollerInitialize (void)
Initialize NFC-V Poller mode. More...
ReturnCode | rfalNfcvPollerCheckPresence (rfalNfcvInventoryRes *invRes)
NFC-V Poller Check Presence. More...
ReturnCode | rfalNfcvPollerInventory (rfalNfcvNumSlots nSlots, uint8_t maskLen, const uint8_t *maskVal, rfalNfcvInventoryRes *invRes, uint16_t *rcvdLen)
NFC-F Poller Poll. More...
ReturnCode | rfalNfcvPollerCollisionResolution (rfalComplianceMode compMode, uint8_t devLimit, rfalNfcvListenDevice *nfcvDevList, uint8_t *devCnt)
NFC-V Poller Full Collision Resolution. More...
ReturnCode | rfalNfcvPollerSleepCollisionResolution (uint8_t devLimit, rfalNfcvListenDevice *nfcvDevList, uint8_t *devCnt)
NFC-V Poller Full Collision Resolution With Sleep. More...
ReturnCode | rfalNfcvPollerSleep (uint8_t flags, const uint8_t *uid)
NFC-V Poller Sleep. More...
ReturnCode | rfalNfcvPollerSelect (uint8_t flags, const uint8_t *uid)
NFC-V Poller Select. More...
ReturnCode | rfalNfcvPollerReadSingleBlock (uint8_t flags, const uint8_t *uid, uint8_t blockNum, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Poller Read Single Block. More...
ReturnCode | rfalNfcvPollerWriteSingleBlock (uint8_t flags, const uint8_t *uid, uint8_t blockNum, const uint8_t *wrData, uint8_t blockLen)
NFC-V Poller Write Single Block. More...
ReturnCode | rfalNfcvPollerReadMultipleBlocks (uint8_t flags, const uint8_t *uid, uint8_t firstBlockNum, uint8_t numOfBlocks, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Poller Read Multiple Blocks. More...
ReturnCode | rfalNfcvPollerWriteMultipleBlocks (uint8_t flags, const uint8_t *uid, uint8_t firstBlockNum, uint8_t numOfBlocks, uint8_t *txBuf, uint16_t txBufLen, uint8_t blockLen, const uint8_t *wrData, uint16_t wrDataLen)
NFC-V Poller Write Multiple Blocks. More...
ReturnCode | rfalNfcvPollerLockBlock (uint8_t flags, const uint8_t *uid, uint8_t blockNum)
NFC-V Poller Extended Lock Single Block. More...
ReturnCode | rfalNfcvPollerExtendedLockSingleBlock (uint8_t flags, const uint8_t *uid, uint16_t blockNum)
NFC-V Poller Extended Lock Single Block. More...
ReturnCode | rfalNfcvPollerExtendedReadSingleBlock (uint8_t flags, const uint8_t *uid, uint16_t blockNum, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Poller Extended Read Single Block. More...
ReturnCode | rfalNfcvPollerExtendedWriteSingleBlock (uint8_t flags, const uint8_t *uid, uint16_t blockNum, const uint8_t *wrData, uint8_t blockLen)
NFC-V Poller Extended Write Single Block. More...
ReturnCode | rfalNfcvPollerExtendedReadMultipleBlocks (uint8_t flags, const uint8_t *uid, uint16_t firstBlockNum, uint16_t numOfBlocks, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Poller Extended Read Multiple Blocks. More...
ReturnCode | rfalNfcvPollerExtendedWriteMultipleBlocks (uint8_t flags, const uint8_t *uid, uint16_t firstBlockNum, uint16_t numOfBlocks, uint8_t *txBuf, uint16_t txBufLen, uint8_t blockLen, const uint8_t *wrData, uint16_t wrDataLen)
NFC-V Poller Extended Write Multiple Blocks. More...
ReturnCode | rfalNfcvPollerGetSystemInformation (uint8_t flags, const uint8_t *uid, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Get System Information. More...
ReturnCode | rfalNfcvPollerExtendedGetSystemInformation (uint8_t flags, const uint8_t *uid, uint8_t requestField, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Extended Get System Information. More...
ReturnCode | rfalNfcvPollerTransceiveReq (uint8_t cmd, uint8_t flags, uint8_t param, const uint8_t *uid, const uint8_t *data, uint16_t dataLen, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Transceive Request. More...

Detailed Description

Author
Gustavo Patricio

The definitions and helpers methods provided by this module are aligned with NFC-V Digital 2.1

Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: rfal_rf.h File Reference

  • File List
  • Globals
  • include
Data Structures | Macros | Typedefs | Enumerations | Functions
rfal_rf.h File Reference

RF Abstraction Layer (RFAL) More...

#include "platform.h"
#include "st_errno.h"
#include "rfal_features.h"
Include dependency graph for rfal_rf.h:
This graph shows which files directly or indirectly include this file:

Data Structures

struct | rfalTransceiveContext
struct | rfalLmConfPA
struct | rfalLmConfPB
struct | rfalLmConfPF
struct | rfalWakeUpConfig

Macros

#define | RFAL_VERSION (uint32_t)0x020102U
#define | RFAL_FWT_NONE 0xFFFFFFFFU
#define | RFAL_GT_NONE RFAL_TIMING_NONE
#define | RFAL_TIMING_NONE 0x00U
#define | RFAL_1FC_IN_4096FC (uint32_t)4096U
#define | RFAL_1FC_IN_512FC (uint32_t)512U
#define | RFAL_1FC_IN_64FC (uint32_t)64U
#define | RFAL_1FC_IN_8FC (uint32_t)8U
#define | RFAL_US_IN_MS (uint32_t)1000U
#define | RFAL_1MS_IN_1FC (uint32_t)13560U
#define | RFAL_BITS_IN_BYTE (uint16_t)8U
#define | RFAL_CRC_LEN 2U
#define | RFAL_TXRX_FLAGS_DEFAULT ( (uint32_t)RFAL_TXRX_FLAGS_CRC_TX_AUTO | (uint32_t)RFAL_TXRX_FLAGS_CRC_RX_REMV | (uint32_t)RFAL_TXRX_FLAGS_NFCIP1_OFF | (uint32_t)RFAL_TXRX_FLAGS_AGC_ON | (uint32_t)RFAL_TXRX_FLAGS_PAR_RX_REMV | (uint32_t)RFAL_TXRX_FLAGS_PAR_TX_AUTO | (uint32_t)RFAL_TXRX_FLAGS_NFCV_FLAG_AUTO)
#define | RFAL_LM_MASK_NFCA ((uint32_t)1U<<(uint8_t)RFAL_MODE_LISTEN_NFCA)
#define | RFAL_LM_MASK_NFCB ((uint32_t)1U<<(uint8_t)RFAL_MODE_LISTEN_NFCB)
#define | RFAL_LM_MASK_NFCF ((uint32_t)1U<<(uint8_t)RFAL_MODE_LISTEN_NFCF)
#define | RFAL_LM_MASK_ACTIVE_P2P ((uint32_t)1U<<(uint8_t)RFAL_MODE_LISTEN_ACTIVE_P2P)
#define | RFAL_LM_SENS_RES_LEN 2U
#define | RFAL_LM_SENSB_RES_LEN 13U
#define | RFAL_LM_SENSF_RES_LEN 19U
#define | RFAL_LM_SENSF_SC_LEN 2U
#define | RFAL_NFCID3_LEN 10U
#define | RFAL_NFCID2_LEN 8U
#define | RFAL_NFCID1_TRIPLE_LEN 10U
#define | RFAL_NFCID1_DOUBLE_LEN 7U
#define | RFAL_NFCID1_SIMPLE_LEN 4U
#define | rfalGetMaxBrRW() ( ((RFAL_SUPPORT_BR_RW_6780) ? RFAL_BR_6780 : ((RFAL_SUPPORT_BR_RW_3390) ? RFAL_BR_3390 : ((RFAL_SUPPORT_BR_RW_1695) ? RFAL_BR_1695 : ((RFAL_SUPPORT_BR_RW_848) ? RFAL_BR_848 : ((RFAL_SUPPORT_BR_RW_424) ? RFAL_BR_424 : ((RFAL_SUPPORT_BR_RW_212) ? RFAL_BR_212 : RFAL_BR_106 ) ) ) ) ) ) )
#define | rfalGetMaxBrAP2P() ( ((RFAL_SUPPORT_BR_AP2P_848) ? RFAL_BR_848 : ((RFAL_SUPPORT_BR_AP2P_424) ? RFAL_BR_424 : ((RFAL_SUPPORT_BR_AP2P_212) ? RFAL_BR_212 : RFAL_BR_106 ) ) ) )
#define | rfalGetMaxBrCEA() ( ((RFAL_SUPPORT_BR_CE_A_848) ? RFAL_BR_848 : ((RFAL_SUPPORT_BR_CE_A_424) ? RFAL_BR_424 : ((RFAL_SUPPORT_BR_CE_A_212) ? RFAL_BR_212 : RFAL_BR_106 ) ) ) )
#define | rfalGetMaxBrCEB() ( ((RFAL_SUPPORT_BR_CE_B_848) ? RFAL_BR_848 : ((RFAL_SUPPORT_BR_CE_B_424) ? RFAL_BR_424 : ((RFAL_SUPPORT_BR_CE_B_212) ? RFAL_BR_212 : RFAL_BR_106 ) ) ) )
#define | rfalGetMaxBrCEF() ( ((RFAL_SUPPORT_BR_CE_F_424) ? RFAL_BR_424 : RFAL_BR_212 ) )
#define | rfalIsModeActiveComm(md) ( ((md) == RFAL_MODE_POLL_ACTIVE_P2P) || ((md) == RFAL_MODE_LISTEN_ACTIVE_P2P) )
#define | rfalIsModePassiveComm(md) ( !rfalIsModeActiveComm(md) )
#define | rfalIsModePassiveListen(md) ( ((md) == RFAL_MODE_LISTEN_NFCA) || ((md) == RFAL_MODE_LISTEN_NFCB) || ((md) == RFAL_MODE_LISTEN_NFCF) )
#define | rfalIsModePassivePoll(md) ( rfalIsModePassiveComm(md) && !rfalIsModePassiveListen(md) )
#define | rfalConv1fcTo8fc(t) (uint32_t)( (uint32_t)(t) / RFAL_1FC_IN_8FC )
#define | rfalConv8fcTo1fc(t) (uint32_t)( (uint32_t)(t) * RFAL_1FC_IN_8FC )
#define | rfalConv1fcTo64fc(t) (uint32_t)( (uint32_t)(t) / RFAL_1FC_IN_64FC )
#define | rfalConv64fcTo1fc(t) (uint32_t)( (uint32_t)(t) * RFAL_1FC_IN_64FC )
#define | rfalConv1fcTo512fc(t) (uint32_t)( (uint32_t)(t) / RFAL_1FC_IN_512FC )
#define | rfalConv512fcTo1fc(t) (uint32_t)( (uint32_t)(t) * RFAL_1FC_IN_512FC )
#define | rfalConv1fcTo4096fc(t) (uint32_t)( (uint32_t)(t) / RFAL_1FC_IN_4096FC )
#define | rfalConv4096fcTo1fc(t) (uint32_t)( (uint32_t)(t) * RFAL_1FC_IN_4096FC )
#define | rfalConv1fcToMs(t) (uint32_t)( (uint32_t)(t) / RFAL_1MS_IN_1FC )
#define | rfalConvMsTo1fc(t) (uint32_t)( (uint32_t)(t) * RFAL_1MS_IN_1FC )
#define | rfalConv1fcToUs(t) (uint32_t)( ((uint32_t)(t) * RFAL_US_IN_MS) / RFAL_1MS_IN_1FC)
#define | rfalConvUsTo1fc(t) (uint32_t)( ((uint32_t)(t) * RFAL_1MS_IN_1FC) / RFAL_US_IN_MS)
#define | rfalConv64fcToMs(t) (uint32_t)( (uint32_t)(t) / (RFAL_1MS_IN_1FC / RFAL_1FC_IN_64FC) )
#define | rfalConvMsTo64fc(t) (uint32_t)( (uint32_t)(t) * (RFAL_1MS_IN_1FC / RFAL_1FC_IN_64FC) )
#define | rfalConvBitsToBytes(n) (uint16_t)( ((uint16_t)(n)+(RFAL_BITS_IN_BYTE-1U)) / (RFAL_BITS_IN_BYTE) )
#define | rfalConvBytesToBits(n) (uint32_t)( (uint32_t)(n) * (RFAL_BITS_IN_BYTE) )
#define | rfalCreateByteTxRxContext(ctx, tB, tBL, rB, rBL, rdL, t)
#define | rfalCreateByteFlagsTxRxContext(ctx, tB, tBL, rB, rBL, rdL, fl, t)
#define | rfalLogE(...) platformLog(__VA_ARGS__)
#define | rfalLogW(...) platformLog(__VA_ARGS__)
#define | rfalLogI(...) platformLog(__VA_ARGS__)
#define | rfalLogD(...) platformLog(__VA_ARGS__)
#define | RFAL_GT_NFCA rfalConvMsTo1fc(5U)
#define | RFAL_GT_NFCB rfalConvMsTo1fc(5U)
#define | RFAL_GT_NFCF rfalConvMsTo1fc(20U)
#define | RFAL_GT_NFCV rfalConvMsTo1fc(5U)
#define | RFAL_GT_PICOPASS rfalConvMsTo1fc(1U)
#define | RFAL_GT_AP2P rfalConvMsTo1fc(5U)
#define | RFAL_GT_AP2P_ADJUSTED rfalConvMsTo1fc(5U+25U)
#define | RFAL_FDT_LISTEN_NFCA_POLLER 1172U
#define | RFAL_FDT_LISTEN_NFCB_POLLER 1008U
#define | RFAL_FDT_LISTEN_NFCF_POLLER 2672U
#define | RFAL_FDT_LISTEN_NFCV_POLLER 4310U
#define | RFAL_FDT_LISTEN_PICOPASS_POLLER 3400U
#define | RFAL_FDT_LISTEN_AP2P_POLLER 64U
#define | RFAL_FDT_LISTEN_NFCA_LISTENER 1172U
#define | RFAL_FDT_LISTEN_NFCB_LISTENER 1024U
#define | RFAL_FDT_LISTEN_NFCF_LISTENER 2688U
#define | RFAL_FDT_LISTEN_AP2P_LISTENER 64U
#define | RFAL_FDT_POLL_NFCA_POLLER 6780U
#define | RFAL_FDT_POLL_NFCA_T1T_POLLER 384U
#define | RFAL_FDT_POLL_NFCB_POLLER 6780U
#define | RFAL_FDT_POLL_NFCF_POLLER 6800U
#define | RFAL_FDT_POLL_NFCV_POLLER 4192U
#define | RFAL_FDT_POLL_PICOPASS_POLLER 1790U
#define | RFAL_FDT_POLL_AP2P_POLLER 0U
#define | RFAL_FELICA_LEN_LEN 1U
#define | RFAL_FELICA_POLL_REQ_LEN (RFAL_FELICA_LEN_LEN + 1U + 2U + 1U + 1U)
#define | RFAL_FELICA_POLL_RES_LEN (RFAL_FELICA_LEN_LEN + 1U + 8U + 8U + 2U)
#define | RFAL_FELICA_POLL_MAX_SLOTS 16U
#define | RFAL_WUM_REFERENCE_AUTO 0xFFU

Typedefs

typedef void(* | rfalUpperLayerCallback )(void)
typedef void(* | rfalPreTxRxCallback )(void)
typedef void(* | rfalPostTxRxCallback )(void)
typedef uint8_t | rfalFeliCaPollRes [RFAL_FELICA_POLL_RES_LEN]

Enumerations

enum rfalMode {
RFAL_MODE_NONE = 0, RFAL_MODE_POLL_NFCA = 1, RFAL_MODE_POLL_NFCA_T1T = 2, RFAL_MODE_POLL_NFCB = 3,
RFAL_MODE_POLL_B_PRIME = 4, RFAL_MODE_POLL_B_CTS = 5, RFAL_MODE_POLL_NFCF = 6, RFAL_MODE_POLL_NFCV = 7,
RFAL_MODE_POLL_PICOPASS = 8, RFAL_MODE_POLL_ACTIVE_P2P = 9, RFAL_MODE_LISTEN_NFCA = 10, RFAL_MODE_LISTEN_NFCB = 11,
RFAL_MODE_LISTEN_NFCF = 12, RFAL_MODE_LISTEN_ACTIVE_P2P = 13
}
enum rfalBitRate {
RFAL_BR_106 = 0, RFAL_BR_212 = 1, RFAL_BR_424 = 2, RFAL_BR_848 = 3,
RFAL_BR_1695 = 4, RFAL_BR_3390 = 5, RFAL_BR_6780 = 6, RFAL_BR_13560 = 7,
RFAL_BR_52p97 = 0xEB, RFAL_BR_26p48 = 0xEC, RFAL_BR_1p66 = 0xED, RFAL_BR_KEEP = 0xFF
}
enum | rfalComplianceMode { RFAL_COMPLIANCE_MODE_NFC, RFAL_COMPLIANCE_MODE_EMV, RFAL_COMPLIANCE_MODE_ISO }
enum rfalState {
RFAL_STATE_IDLE = 0, RFAL_STATE_INIT = 1, RFAL_STATE_MODE_SET = 2, RFAL_STATE_TXRX = 3,
RFAL_STATE_LM = 4, RFAL_STATE_WUM = 5
}
enum rfalTransceiveState {
RFAL_TXRX_STATE_IDLE = 0, RFAL_TXRX_STATE_INIT = 1, RFAL_TXRX_STATE_START = 2, RFAL_TXRX_STATE_TX_IDLE = 11,
RFAL_TXRX_STATE_TX_WAIT_GT = 12, RFAL_TXRX_STATE_TX_WAIT_FDT = 13, RFAL_TXRX_STATE_TX_TRANSMIT = 14, RFAL_TXRX_STATE_TX_WAIT_WL = 15,
RFAL_TXRX_STATE_TX_RELOAD_FIFO = 16, RFAL_TXRX_STATE_TX_WAIT_TXE = 17, RFAL_TXRX_STATE_TX_DONE = 18, RFAL_TXRX_STATE_TX_FAIL = 19,
RFAL_TXRX_STATE_RX_IDLE = 81, RFAL_TXRX_STATE_RX_WAIT_EON = 82, RFAL_TXRX_STATE_RX_WAIT_RXS = 83, RFAL_TXRX_STATE_RX_WAIT_RXE = 84,
RFAL_TXRX_STATE_RX_READ_FIFO = 85, RFAL_TXRX_STATE_RX_ERR_CHECK = 86, RFAL_TXRX_STATE_RX_READ_DATA = 87, RFAL_TXRX_STATE_RX_WAIT_EOF = 88,
RFAL_TXRX_STATE_RX_DONE = 89, RFAL_TXRX_STATE_RX_FAIL = 90
}
enum {
RFAL_TXRX_FLAGS_CRC_TX_AUTO = (0U<<0), RFAL_TXRX_FLAGS_CRC_TX_MANUAL = (1U<<0), RFAL_TXRX_FLAGS_CRC_RX_KEEP = (1U<<1), RFAL_TXRX_FLAGS_CRC_RX_REMV = (0U<<1),
RFAL_TXRX_FLAGS_NFCIP1_ON = (1U<<2), RFAL_TXRX_FLAGS_NFCIP1_OFF = (0U<<2), RFAL_TXRX_FLAGS_AGC_OFF = (1U<<3), RFAL_TXRX_FLAGS_AGC_ON = (0U<<3),
RFAL_TXRX_FLAGS_PAR_RX_KEEP = (1U<<4), RFAL_TXRX_FLAGS_PAR_RX_REMV = (0U<<0), RFAL_TXRX_FLAGS_PAR_TX_NONE = (1U<<5), RFAL_TXRX_FLAGS_PAR_TX_AUTO = (0U<<5),
RFAL_TXRX_FLAGS_NFCV_FLAG_MANUAL = (1U<<6), RFAL_TXRX_FLAGS_NFCV_FLAG_AUTO = (0U<<6)
}
enum | rfalEHandling { RFAL_ERRORHANDLING_NONE = 0, RFAL_ERRORHANDLING_NFC = 1, RFAL_ERRORHANDLING_EMVCO = 2 }
enum | rfal14443AShortFrameCmd { RFAL_14443A_SHORTFRAME_CMD_WUPA = 0x52, RFAL_14443A_SHORTFRAME_CMD_REQA = 0x26 }
enum | { RFAL_FELICA_POLL_RC_NO_REQUEST = 0x00, RFAL_FELICA_POLL_RC_SYSTEM_CODE = 0x01, RFAL_FELICA_POLL_RC_COM_PERFORMANCE = 0x02 }
enum rfalFeliCaPollSlots {
RFAL_FELICA_1_SLOT = 0, RFAL_FELICA_2_SLOTS = 1, RFAL_FELICA_4_SLOTS = 3, RFAL_FELICA_8_SLOTS = 7,
RFAL_FELICA_16_SLOTS = 15
}
enum | rfalLmNfcidLen { RFAL_LM_NFCID_LEN_04 = 4, RFAL_LM_NFCID_LEN_07 = 7, RFAL_LM_NFCID_LEN_10 = 10 }
enum rfalLmState {
RFAL_LM_STATE_NOT_INIT = 0x00, RFAL_LM_STATE_POWER_OFF = 0x01, RFAL_LM_STATE_IDLE = 0x02, RFAL_LM_STATE_READY_A = 0x03,
RFAL_LM_STATE_READY_B = 0x04, RFAL_LM_STATE_READY_F = 0x05, RFAL_LM_STATE_ACTIVE_A = 0x06, RFAL_LM_STATE_CARDEMU_4A = 0x07,
RFAL_LM_STATE_CARDEMU_4B = 0x08, RFAL_LM_STATE_CARDEMU_3 = 0x09, RFAL_LM_STATE_TARGET_A = 0x0A, RFAL_LM_STATE_TARGET_F = 0x0B,
RFAL_LM_STATE_SLEEP_A = 0x0C, RFAL_LM_STATE_SLEEP_B = 0x0D, RFAL_LM_STATE_READY_Ax = 0x0E, RFAL_LM_STATE_ACTIVE_Ax = 0x0F,
RFAL_LM_STATE_SLEEP_AF = 0x10
}
enum | rfalWumState { RFAL_WUM_STATE_NOT_INIT = 0x00, RFAL_WUM_STATE_ENABLED = 0x01, RFAL_WUM_STATE_ENABLED_WOKE = 0x02 }
enum rfalWumPeriod {
RFAL_WUM_PERIOD_10MS = 0x00, RFAL_WUM_PERIOD_20MS = 0x01, RFAL_WUM_PERIOD_30MS = 0x02, RFAL_WUM_PERIOD_40MS = 0x03,
RFAL_WUM_PERIOD_50MS = 0x04, RFAL_WUM_PERIOD_60MS = 0x05, RFAL_WUM_PERIOD_70MS = 0x06, RFAL_WUM_PERIOD_80MS = 0x07,
RFAL_WUM_PERIOD_100MS = 0x10, RFAL_WUM_PERIOD_200MS = 0x11, RFAL_WUM_PERIOD_300MS = 0x12, RFAL_WUM_PERIOD_400MS = 0x13,
RFAL_WUM_PERIOD_500MS = 0x14, RFAL_WUM_PERIOD_600MS = 0x15, RFAL_WUM_PERIOD_700MS = 0x16, RFAL_WUM_PERIOD_800MS = 0x17
}
enum | rfalWumAAWeight { RFAL_WUM_AA_WEIGHT_4 = 0x00, RFAL_WUM_AA_WEIGHT_8 = 0x01, RFAL_WUM_AA_WEIGHT_16 = 0x02, RFAL_WUM_AA_WEIGHT_32 = 0x03 }

Functions

ReturnCode | rfalInitialize (void)
RFAL Initialize. More...
ReturnCode | rfalCalibrate (void)
RFAL Calibrate. More...
ReturnCode | rfalAdjustRegulators (uint16_t *result)
RFAL Adjust Regulators. More...
void | rfalSetUpperLayerCallback (rfalUpperLayerCallback pFunc)
RFAL Set System Callback. More...
void | rfalSetPreTxRxCallback (rfalPreTxRxCallback pFunc)
RFAL Set Pre Tx Callback. More...
void | rfalSetPostTxRxCallback (rfalPostTxRxCallback pFunc)
RFAL Set Post Tx Callback. More...
ReturnCode | rfalDeinitialize (void)
RFAL Deinitialize. More...
ReturnCode | rfalSetMode (rfalMode mode, rfalBitRate txBR, rfalBitRate rxBR)
RFAL Set Mode. More...
rfalMode | rfalGetMode (void)
RFAL Get Mode. More...
ReturnCode | rfalSetBitRate (rfalBitRate txBR, rfalBitRate rxBR)
RFAL Set Bit Rate. More...
ReturnCode | rfalGetBitRate (rfalBitRate *txBR, rfalBitRate *rxBR)
RFAL Get Bit Rate. More...
void | rfalSetErrorHandling (rfalEHandling eHandling)
Set Error Handling Mode. More...
rfalEHandling | rfalGetErrorHandling (void)
Get Error Handling Mode. More...
void | rfalSetObsvMode (uint8_t txMode, uint8_t rxMode)
Set Observation Mode. More...
void | rfalGetObsvMode (uint8_t *txMode, uint8_t *rxMode)
Get Observation Mode. More...
void | rfalDisableObsvMode (void)
Disable Observation Mode. More...
void | rfalSetFDTPoll (uint32_t FDTPoll)
RFAL Set FDT Poll. More...
uint32_t | rfalGetFDTPoll (void)
RFAL Set FDT Poll. More...
void | rfalSetFDTListen (uint32_t FDTListen)
RFAL Set FDT Listen. More...
uint32_t | rfalGetFDTListen (void)
RFAL Set FDT Listen. More...
uint32_t | rfalGetGT (void)
RFAL Get GT. More...
void | rfalSetGT (uint32_t GT)
RFAL Set GT. More...
bool | rfalIsGTExpired (void)
RFAL Is GT expired. More...
ReturnCode | rfalFieldOnAndStartGT (void)
RFAL Turn Field On and Start GT. More...
ReturnCode | rfalFieldOff (void)
RFAL Turn Field Off. More...
ReturnCode | rfalStartTransceive (const rfalTransceiveContext *ctx)
RFAL Set transceive context. More...
rfalTransceiveState | rfalGetTransceiveState (void)
Get Transceive State. More...
ReturnCode | rfalGetTransceiveStatus (void)
Get Transceive Status. More...
bool | rfalIsTransceiveInTx (void)
Is Transceive in Tx. More...
bool | rfalIsTransceiveInRx (void)
Is Transceive in Rx. More...
ReturnCode | rfalGetTransceiveRSSI (uint16_t *rssi)
Get Transceive RSSI. More...
void | rfalWorker (void)
RFAL Worker. More...
ReturnCode | rfalISO14443ATransceiveShortFrame (rfal14443AShortFrameCmd txCmd, uint8_t *rxBuf, uint8_t rxBufLen, uint16_t *rxRcvdLen, uint32_t fwt)
Transceives an ISO14443A ShortFrame. More...
ReturnCode | rfalISO14443ATransceiveAnticollisionFrame (uint8_t *buf, uint8_t *bytesToSend, uint8_t *bitsToSend, uint16_t *rxLength, uint32_t fwt)
Sends an ISO14443A Anticollision Frame. More...
ReturnCode | rfalFeliCaPoll (rfalFeliCaPollSlots slots, uint16_t sysCode, uint8_t reqCode, rfalFeliCaPollRes *pollResList, uint8_t pollResListSize, uint8_t *devicesDetected, uint8_t *collisionsDetected)
FeliCa Poll. More...
ReturnCode | rfalISO15693TransceiveAnticollisionFrame (uint8_t *txBuf, uint8_t txBufLen, uint8_t *rxBuf, uint8_t rxBufLen, uint16_t *actLen)
Sends an ISO15693 Anticollision Frame. More...
ReturnCode | rfalISO15693TransceiveEOFAnticollision (uint8_t *rxBuf, uint8_t rxBufLen, uint16_t *actLen)
Sends an ISO15693 Anticollision EOF. More...
ReturnCode | rfalISO15693TransceiveEOF (uint8_t *rxBuf, uint8_t rxBufLen, uint16_t *actLen)
Sends an ISO15693 EOF. More...
ReturnCode | rfalTransceiveBlockingTx (uint8_t *txBuf, uint16_t txBufLen, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *actLen, uint32_t flags, uint32_t fwt)
Transceive Blocking Tx. More...
ReturnCode | rfalTransceiveBlockingRx (void)
Transceive Blocking Rx. More...
ReturnCode | rfalTransceiveBlockingTxRx (uint8_t *txBuf, uint16_t txBufLen, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *actLen, uint32_t flags, uint32_t fwt)
Transceive Blocking. More...
bool | rfalIsExtFieldOn (void)
Is external Field On. More...
ReturnCode | rfalListenStart (uint32_t lmMask, const rfalLmConfPA *confA, const rfalLmConfPB *confB, const rfalLmConfPF *confF, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rxLen)
Listen Mode start. More...
ReturnCode | rfalListenSleepStart (rfalLmState sleepSt, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rxLen)
Listen Mode start Sleeping.
ReturnCode | rfalListenStop (void)
Listen Mode Stop. More...
rfalLmState | rfalListenGetState (bool *dataFlag, rfalBitRate *lastBR)
Listen Mode get state. More...
ReturnCode | rfalListenSetState (rfalLmState newSt)
Listen Mode set state. More...
ReturnCode | rfalWakeUpModeStart (const rfalWakeUpConfig *config)
Wake-Up Mode Start. More...
bool | rfalWakeUpModeHasWoke (void)
Wake-Up Has Woke. More...
ReturnCode | rfalWakeUpModeStop (void)
Wake-Up Mode Stop. More...
ReturnCode | rfalLowPowerModeStart (void)
Low Power Mode Start. More...
ReturnCode | rfalLowPowerModeStop (void)
Low Power Mode Stop. More...

Detailed Description

Author
Gustavo Patricio

RFAL (RF Abstraction Layer) provides several functionalities required to perform RF/NFC communications.
The RFAL encapsulates the different RF ICs (ST25R3911, ST25R391x, etc) into a common and easy to use interface.

It provides interfaces to configure the RF IC, set/get timings, modes, bit rates, specific handlings, execute listen mode, etc.

Furthermore it provides a common interface to perform a Transceive operations. The Transceive can be executed in a blocking or non blocking way.
Additionally few specific Transceive methods are available to cope with the specifics of these particular operations.

The most common interfaces are:
rfalInitialize()
rfalSetFDTPoll()
rfalSetFDTListen()
rfalSetGT()
rfalSetBitRate()
rfalSetMode()
rfalFieldOnAndStartGT()
rfalFieldOff()
rfalStartTransceive()
rfalGetTransceiveStatus()
rfalTransceiveBlockingTxRx()

An usage example is provided here: exampleRfalPoller.c

Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: rfal_st25tb.h File Reference

  • File List
  • Globals
  • include
Data Structures | Macros | Typedefs | Functions
rfal_st25tb.h File Reference

Implementation of ST25TB interface. More...

#include "platform.h"
#include "st_errno.h"
#include "rfal_rf.h"
#include "rfal_nfcb.h"
Include dependency graph for rfal_st25tb.h:
This graph shows which files directly or indirectly include this file:

Data Structures

struct rfalSt25tbListenDevice

Macros

#define | RFAL_ST25TB_CHIP_ID_LEN 1U
#define | RFAL_ST25TB_CRC_LEN 2U
#define | RFAL_ST25TB_UID_LEN 8U
#define | RFAL_ST25TB_BLOCK_LEN 4U

Typedefs

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

Functions

ReturnCode | rfalSt25tbPollerInitialize (void)
Initialize ST25TB Poller mode. More...
ReturnCode | rfalSt25tbPollerCheckPresence (uint8_t *chipId)
ST25TB Poller Check Presence. More...
ReturnCode | rfalSt25tbPollerCollisionResolution (uint8_t devLimit, rfalSt25tbListenDevice *st25tbDevList, uint8_t *devCnt)
ST25TB Poller Collision Resolution. More...
ReturnCode | rfalSt25tbPollerInitiate (uint8_t *chipId)
ST25TB Poller Initiate. More...
ReturnCode | rfalSt25tbPollerPcall (uint8_t *chipId)
ST25TB Poller Pcall. More...
ReturnCode | rfalSt25tbPollerSlotMarker (uint8_t slotNum, uint8_t *chipIdRes)
ST25TB Poller Slot Marker. More...
ReturnCode | rfalSt25tbPollerSelect (uint8_t chipId)
ST25TB Poller Select. More...
ReturnCode | rfalSt25tbPollerGetUID (rfalSt25tbUID *UID)
ST25TB Get UID. More...
ReturnCode | rfalSt25tbPollerReadBlock (uint8_t blockAddress, rfalSt25tbBlock *blockData)
ST25TB Poller Read Block. More...
ReturnCode | rfalSt25tbPollerWriteBlock (uint8_t blockAddress, const rfalSt25tbBlock *blockData)
ST25TB Poller Write Block. More...
ReturnCode | rfalSt25tbPollerCompletion (void)
ST25TB Poller Completion. More...
ReturnCode | rfalSt25tbPollerResetToInventory (void)
ST25TB Poller Reset to Inventory. More...

Detailed Description

Author
Gustavo Patricio
Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: rfal_st25xv.h File Reference

  • File List
  • Globals
  • include
Macros | Functions
rfal_st25xv.h File Reference

NFC-V ST25 NFC-V Tag specific features. More...

#include "platform.h"
#include "st_errno.h"
#include "rfal_nfc.h"
#include "rfal_rf.h"
Include dependency graph for rfal_st25xv.h:

Macros

#define | RFAL_NFCV_BLOCKNUM_M24LR_LEN 2U
#define | RFAL_NFCV_ST_IC_MFG_CODE 0x02

Functions

ReturnCode | rfalST25xVPollerM24LRReadSingleBlock (uint8_t flags, const uint8_t *uid, uint16_t blockNum, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Poller Read Single Block (M24LR) More...
ReturnCode | rfalST25xVPollerM24LRFastReadSingleBlock (uint8_t flags, const uint8_t *uid, uint16_t blockNum, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Poller Fast Read Single Block (M24LR) More...
ReturnCode | rfalST25xVPollerM24LRWriteSingleBlock (uint8_t flags, const uint8_t *uid, uint16_t blockNum, const uint8_t *wrData, uint8_t blockLen)
NFC-V Poller Write Single Block (M24LR) More...
ReturnCode | rfalST25xVPollerM24LRReadMultipleBlocks (uint8_t flags, const uint8_t *uid, uint16_t firstBlockNum, uint8_t numOfBlocks, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Poller Read Multiple Blocks (M24LR) More...
ReturnCode | rfalST25xVPollerM24LRFastReadMultipleBlocks (uint8_t flags, const uint8_t *uid, uint16_t firstBlockNum, uint8_t numOfBlocks, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Poller Fast Read Multiple Blocks (M24LR) More...
ReturnCode | rfalST25xVPollerFastReadSingleBlock (uint8_t flags, const uint8_t *uid, uint8_t blockNum, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Poller Fast Read Single Block. More...
ReturnCode | rfalST25xVPollerFastReadMultipleBlocks (uint8_t flags, const uint8_t *uid, uint8_t firstBlockNum, uint8_t numOfBlocks, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Poller Fast Read Multiple Blocks. More...
ReturnCode | rfalST25xVPollerFastExtendedReadSingleBlock (uint8_t flags, const uint8_t *uid, uint16_t blockNum, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Poller Fast Extended Read Single Block. More...
ReturnCode | rfalST25xVPollerFastExtReadMultipleBlocks (uint8_t flags, const uint8_t *uid, uint16_t firstBlockNum, uint16_t numOfBlocks, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Poller Fast Extended Read Multiple Blocks. More...
ReturnCode | rfalST25xVPollerReadConfiguration (uint8_t flags, const uint8_t *uid, uint8_t pointer, uint8_t *regValue)
NFC-V Poller Read Configuration. More...
ReturnCode | rfalST25xVPollerWriteConfiguration (uint8_t flags, const uint8_t *uid, uint8_t pointer, uint8_t regValue)
NFC-V Poller Write Configuration. More...
ReturnCode | rfalST25xVPollerReadDynamicConfiguration (uint8_t flags, const uint8_t *uid, uint8_t pointer, uint8_t *regValue)
NFC-V Poller Read Dynamic Configuration. More...
ReturnCode | rfalST25xVPollerWriteDynamicConfiguration (uint8_t flags, const uint8_t *uid, uint8_t pointer, uint8_t regValue)
NFC-V Poller Write Dynamic Configuration. More...
ReturnCode | rfalST25xVPollerFastReadDynamicConfiguration (uint8_t flags, const uint8_t *uid, uint8_t pointer, uint8_t *regValue)
NFC-V Poller Fast Read Dynamic Configuration. More...
ReturnCode | rfalST25xVPollerFastWriteDynamicConfiguration (uint8_t flags, const uint8_t *uid, uint8_t pointer, uint8_t regValue)
NFC-V Poller Fast Write Dynamic Configuration. More...
ReturnCode | rfalST25xVPollerPresentPassword (uint8_t flags, const uint8_t *uid, uint8_t pwdNum, const uint8_t *pwd, uint8_t pwdLen)
NFC-V Poller Present Password. More...
ReturnCode | rfalST25xVPollerGetRandomNumber (uint8_t flags, const uint8_t *uid, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Poller Get Random Number. More...
ReturnCode | rfalST25xVPollerReadMessageLength (uint8_t flags, const uint8_t *uid, uint8_t *msgLen)
NFC-V Poller Read Message length. More...
ReturnCode | rfalST25xVPollerFastReadMsgLength (uint8_t flags, const uint8_t *uid, uint8_t *msgLen)
NFC-V Poller Fast Read Message length. More...
ReturnCode | rfalST25xVPollerReadMessage (uint8_t flags, const uint8_t *uid, uint8_t mbPointer, uint8_t numBytes, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Poller Read Message. More...
ReturnCode | rfalST25xVPollerFastReadMessage (uint8_t flags, const uint8_t *uid, uint8_t mbPointer, uint8_t numBytes, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-V Poller Fast Read Message. More...
ReturnCode | rfalST25xVPollerWriteMessage (uint8_t flags, const uint8_t *uid, uint8_t msgLen, const uint8_t *msgData, uint8_t *txBuf, uint16_t txBufLen)
NFC-V Poller Write Message. More...
ReturnCode | rfalST25xVPollerFastWriteMessage (uint8_t flags, const uint8_t *uid, uint8_t msgLen, const uint8_t *msgData, uint8_t *txBuf, uint16_t txBufLen)
NFC-V Poller Fast Write Message. More...

Detailed Description

Author
Gustavo Patricio

This module provides support for ST's specific features available on NFC-V (ISO15693) tag families: ST25D, ST25TV, M24LR

Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: rfal_t1t.h File Reference

  • File List
  • Globals
  • include
Data Structures | Macros | Enumerations | Functions
rfal_t1t.h File Reference

Provides NFC-A T1T convenience methods and definitions. More...

#include "platform.h"
#include "st_errno.h"
#include "rfal_rf.h"
Include dependency graph for rfal_t1t.h:
This graph shows which files directly or indirectly include this file:

Data Structures

struct rfalT1TRidRes

Macros

#define | RFAL_T1T_UID_LEN 4
#define | RFAL_T1T_HR_LENGTH 2
#define | RFAL_T1T_HR0_NDEF_MASK 0xF0
#define | RFAL_T1T_HR0_NDEF_SUPPORT 0x10

Enumerations

enum rfalT1Tcmds {
RFAL_T1T_CMD_RID = 0x78, RFAL_T1T_CMD_RALL = 0x00, RFAL_T1T_CMD_READ = 0x01, RFAL_T1T_CMD_WRITE_E = 0x53,
RFAL_T1T_CMD_WRITE_NE = 0x1A
}

Functions

ReturnCode | rfalT1TPollerInitialize (void)
Initialize NFC-A T1T Poller mode. More...
ReturnCode | rfalT1TPollerRid (rfalT1TRidRes *ridRes)
NFC-A T1T Poller RID. More...
ReturnCode | rfalT1TPollerRall (const uint8_t *uid, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rxRcvdLen)
NFC-A T1T Poller RALL. More...
ReturnCode | rfalT1TPollerWrite (const uint8_t *uid, uint8_t address, uint8_t data)
NFC-A T1T Poller Write. More...

Detailed Description

Author
Gustavo Patricio

This module provides an interface to perform as a NFC-A Reader/Writer to handle a Type 1 Tag T1T (Topaz)

Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: rfal_t2t.h File Reference

  • File List
  • Globals
  • include
Macros | Functions
rfal_t2t.h File Reference

Provides NFC-A T2T convenience methods and definitions. More...

#include "platform.h"
#include "st_errno.h"
#include "rfal_rf.h"
Include dependency graph for rfal_t2t.h:

Macros

#define | RFAL_T2T_BLOCK_LEN 4U
#define | RFAL_T2T_READ_DATA_LEN (4U * RFAL_T2T_BLOCK_LEN)
#define | RFAL_T2T_WRITE_DATA_LEN RFAL_T2T_BLOCK_LEN

Functions

ReturnCode | rfalT2TPollerRead (uint8_t blockNum, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rcvLen)
NFC-A T2T Poller Read. More...
ReturnCode | rfalT2TPollerWrite (uint8_t blockNum, const uint8_t *wrData)
NFC-A T2T Poller Write. More...
ReturnCode | rfalT2TPollerSectorSelect (uint8_t sectorNum)
NFC-A T2T Poller Sector Select. More...

Detailed Description

Author
Gustavo Patricio

This module provides an interface to perform as a NFC-A Reader/Writer to handle a Type 2 Tag T2T

Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: rfal_t4t.h File Reference

  • File List
  • Globals
  • include
Data Structures | Macros | Enumerations | Functions
rfal_t4t.h File Reference

Provides convenience methods and definitions for T4T (ISO7816-4) More...

#include "platform.h"
#include "st_errno.h"
#include "rfal_rf.h"
#include "rfal_isoDep.h"
Include dependency graph for rfal_t4t.h:

Data Structures

struct | rfalT4tCApduParam
struct | rfalT4tRApduParam

Macros

#define | RFAL_T4T_MAX_CAPDU_PROLOGUE_LEN 4U
#define | RFAL_T4T_LE_LEN 1U
#define | RFAL_T4T_LC_LEN 1U
#define | RFAL_T4T_MAX_RAPDU_SW1SW2_LEN 2U
#define | RFAL_T4T_CLA 0x00U
#define | RFAL_T4T_ISO7816_P1_SELECT_BY_DF_NAME 0x04U
#define | RFAL_T4T_ISO7816_P1_SELECT_BY_FILEID 0x00U
#define | RFAL_T4T_ISO7816_P2_SELECT_FIRST_OR_ONLY_OCCURENCE 0x00U
#define | RFAL_T4T_ISO7816_P2_SELECT_RETURN_FCI_TEMPLATE 0x00U
#define | RFAL_T4T_ISO7816_P2_SELECT_NO_RESPONSE_DATA 0x0CU
#define | RFAL_T4T_ISO7816_STATUS_COMPLETE 0x9000U

Enumerations

enum rfalT4tCmds {
RFAL_T4T_INS_SELECT = 0xA4U, RFAL_T4T_INS_READBINARY = 0xB0U, RFAL_T4T_INS_UPDATEBINARY = 0xD6U, RFAL_T4T_INS_READBINARY_ODO = 0xB1U,
RFAL_T4T_INS_UPDATEBINARY_ODO = 0xD7U
}

Functions

ReturnCode | rfalT4TPollerComposeCAPDU (const rfalT4tCApduParam *apduParam)
T4T Compose APDU. More...
ReturnCode | rfalT4TPollerParseRAPDU (rfalT4tRApduParam *apduParam)
T4T Parse R-APDU. More...
ReturnCode | rfalT4TPollerComposeSelectAppl (rfalIsoDepApduBufFormat *cApduBuf, const uint8_t *aid, uint8_t aidLen, uint16_t *cApduLen)
T4T Compose Select Application APDU. More...
ReturnCode | rfalT4TPollerComposeSelectFile (rfalIsoDepApduBufFormat *cApduBuf, const uint8_t *fid, uint8_t fidLen, uint16_t *cApduLen)
T4T Compose Select File APDU. More...
ReturnCode | rfalT4TPollerComposeSelectFileV1Mapping (rfalIsoDepApduBufFormat *cApduBuf, const uint8_t *fid, uint8_t fidLen, uint16_t *cApduLen)
T4T Compose Select File APDU for Mapping Version 1. More...
ReturnCode | rfalT4TPollerComposeReadData (rfalIsoDepApduBufFormat *cApduBuf, uint16_t offset, uint8_t expLen, uint16_t *cApduLen)
T4T Compose Read Data APDU. More...
ReturnCode | rfalT4TPollerComposeReadDataODO (rfalIsoDepApduBufFormat *cApduBuf, uint32_t offset, uint8_t expLen, uint16_t *cApduLen)
T4T Compose Read Data ODO APDU. More...
ReturnCode | rfalT4TPollerComposeWriteData (rfalIsoDepApduBufFormat *cApduBuf, uint16_t offset, const uint8_t *data, uint8_t dataLen, uint16_t *cApduLen)
T4T Compose Write Data APDU. More...
ReturnCode | rfalT4TPollerComposeWriteDataODO (rfalIsoDepApduBufFormat *cApduBuf, uint32_t offset, const uint8_t *data, uint8_t dataLen, uint16_t *cApduLen)
T4T Compose Write Data ODO APDU. More...

Detailed Description

Author
Gustavo Patricio

This module provides an interface to exchange T4T APDUs according to NFC Forum T4T and ISO7816-4

This implementation was based on the following specs:

  • ISO/IEC 7816-4 3rd Edition 2013-04-15
  • NFC Forum T4T Technical Specification 1.0 2017-08-28
Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: st25r3911.h File Reference

  • File List
  • Globals
  • source
  • st25r3911
Data Structures | Macros | Functions
st25r3911.h File Reference

ST25R3911 declaration file. More...

#include "platform.h"
#include "st_errno.h"
Include dependency graph for st25r3911.h:

Data Structures

struct st25r3911StreamConfig

Macros

#define | ST25R3911_FDT_NONE 0x00U
#define | MS_TO_64FCS(A) ((A) * 212U)
#define | MS_FROM_64FCS(A) ((A) / 212U)
#define | ST25R3911_CMD_SET_DEFAULT 0xC1U
#define | ST25R3911_CMD_CLEAR_FIFO 0xC2U
#define | ST25R3911_CMD_TRANSMIT_WITH_CRC 0xC4U
#define | ST25R3911_CMD_TRANSMIT_WITHOUT_CRC 0xC5U
#define | ST25R3911_CMD_TRANSMIT_REQA 0xC6U
#define | ST25R3911_CMD_TRANSMIT_WUPA 0xC7U
#define | ST25R3911_CMD_INITIAL_RF_COLLISION 0xC8U
#define | ST25R3911_CMD_RESPONSE_RF_COLLISION_N 0xC9U
#define | ST25R3911_CMD_RESPONSE_RF_COLLISION_0 0xCAU
#define | ST25R3911_CMD_NORMAL_NFC_MODE 0xCBU
#define | ST25R3911_CMD_ANALOG_PRESET 0xCCU
#define | ST25R3911_CMD_MASK_RECEIVE_DATA 0xD0U
#define | ST25R3911_CMD_UNMASK_RECEIVE_DATA 0xD1U
#define | ST25R3911_CMD_MEASURE_AMPLITUDE 0xD3U
#define | ST25R3911_CMD_SQUELCH 0xD4U
#define | ST25R3911_CMD_CLEAR_SQUELCH 0xD5U
#define | ST25R3911_CMD_ADJUST_REGULATORS 0xD6U
#define | ST25R3911_CMD_CALIBRATE_MODULATION 0xD7U
#define | ST25R3911_CMD_CALIBRATE_ANTENNA 0xD8U
#define | ST25R3911_CMD_MEASURE_PHASE 0xD9U
#define | ST25R3911_CMD_CLEAR_RSSI 0xDAU
#define | ST25R3911_CMD_TRANSPARENT_MODE 0xDCU
#define | ST25R3911_CMD_CALIBRATE_C_SENSOR 0xDDU
#define | ST25R3911_CMD_MEASURE_CAPACITANCE 0xDEU
#define | ST25R3911_CMD_MEASURE_VDD 0xDFU
#define | ST25R3911_CMD_START_GP_TIMER 0xE0U
#define | ST25R3911_CMD_START_WUP_TIMER 0xE1U
#define | ST25R3911_CMD_START_MASK_RECEIVE_TIMER 0xE2U
#define | ST25R3911_CMD_START_NO_RESPONSE_TIMER 0xE3U
#define | ST25R3911_CMD_TEST_CLEARA 0xFAU
#define | ST25R3911_CMD_TEST_CLEARB 0xFBU
#define | ST25R3911_CMD_TEST_ACCESS 0xFCU
#define | ST25R3911_CMD_LOAD_PPROM 0xFDU
#define | ST25R3911_CMD_FUSE_PPROM 0xFEU
#define | ST25R3911_FIFO_DEPTH 96U
#define | ST25R3911_THRESHOLD_DO_NOT_SET 0xFFU
#define | ST25R3911_BR_DO_NOT_SET 0xFFU
#define | ST25R3911_BR_106 0x00U
#define | ST25R3911_BR_212 0x01U
#define | ST25R3911_BR_424 0x02U
#define | ST25R3911_BR_848 0x03U
#define | ST25R3911_BR_1695 0x04U
#define | ST25R3911_BR_3390 0x05U
#define | ST25R3911_BR_6780 0x06U
#define | st25r3911IsGPTRunning() ( st25r3911CheckReg(ST25R3911_REG_REGULATOR_RESULT, ST25R3911_REG_REGULATOR_RESULT_gpt_on, ST25R3911_REG_REGULATOR_RESULT_gpt_on) )
#define | st25r3911IsCRCinFIFO() ( st25r3911CheckReg(ST25R3911_REG_AUX, ST25R3911_REG_AUX_crc_2_fifo, ST25R3911_REG_AUX_crc_2_fifo) )
#define | st25r3911IsExtFieldOn() ( st25r3911CheckReg(ST25R3911_REG_AUX_DISPLAY, ST25R3911_REG_AUX_DISPLAY_efd_o, ST25R3911_REG_AUX_DISPLAY_efd_o ) )
#define | st25r3911IsTxEnabled() ( st25r3911CheckReg(ST25R3911_REG_OP_CONTROL, ST25R3911_REG_OP_CONTROL_tx_en, ST25R3911_REG_OP_CONTROL_tx_en ) )
#define | st25r3911TxOff() st25r3911ClrRegisterBits(ST25R3911_REG_OP_CONTROL, ST25R3911_REG_OP_CONTROL_tx_en );
#define | st25r3911IsLastFIFOComplete() st25r3911CheckReg( ST25R3911_REG_FIFO_RX_STATUS2, ST25R3911_REG_FIFO_RX_STATUS2_mask_fifo_lb, 0 )
#define | st25r3911IsOscOn() st25r3911CheckReg( ST25R3911_REG_OP_CONTROL, ST25R3911_REG_OP_CONTROL_en, ST25R3911_REG_OP_CONTROL_en )

Functions

ReturnCode | st25r3911OscOn (void)
Turn on Oscillator and Regulator. More...
void | st25r3911TxRxOn (void)
Turn On Tx and Rx. More...
void | st25r3911TxRxOff (void)
Turn Off Tx and Rx. More...
ReturnCode | st25r3911Initialize (void)
Initialise ST25R3911 driver. More...
void | st25r3911Deinitialize (void)
Deinitialize ST25R3911 driver. More...
ReturnCode | st25r3911SetBitrate (uint8_t txRate, uint8_t rxRate)
Sets the bitrate registers. More...
ReturnCode | st25r3911AdjustRegulators (uint16_t *result_mV)
Adjusts supply regulators according to the current supply voltage. More...
void | st25r3911MeasureAmplitude (uint8_t *result)
Measure Amplitude. More...
void | st25r3911MeasureCapacitance (uint8_t *result)
Measure Capacitance. More...
uint8_t | st25r3911MeasurePowerSupply (uint8_t mpsv)
Measure Voltage. More...
uint16_t | st25r3911MeasureVoltage (uint8_t mpsv)
Measure Voltage. More...
void | st25r3911CalibrateAntenna (uint8_t *result)
Calibrate antenna. More...
void | st25r3911MeasurePhase (uint8_t *result)
Measure Phase. More...
void | st25r3911CalibrateModulationDepth (uint8_t *result)
Calibrate modulation depth. More...
ReturnCode | st25r3911CalibrateCapacitiveSensor (uint8_t *result)
Calibrate Capacitive Sensor. More...
ReturnCode | st25r3911SetNoResponseTime_64fcs (uint32_t nrt_64fcs)
set no response time More...
ReturnCode | st25r3911SetStartNoResponseTime_64fcs (uint32_t nrt_64fcs)
set no response time More...
ReturnCode | st25r3911PerformCollisionAvoidance (uint8_t FieldONCmd, uint8_t pdThreshold, uint8_t caThreshold, uint8_t nTRFW)
Perform Collision Avoidance. More...
uint8_t | st25r3911GetNumFIFOLastBits (void)
Get amount of bits of the last FIFO byte if incomplete. More...
uint32_t | st25r3911GetNoResponseTime_64fcs (void)
Get NRT time. More...
void | st25r3911SetGPTime_8fcs (uint16_t gpt_8fcs)
set general purpose timer timeout More...
void | st25r3911StartGPTimer_8fcs (uint16_t gpt_8fcs, uint8_t trigger_source)
Starts GPT with given timeout. More...
bool | st25r3911CheckReg (uint8_t reg, uint8_t mask, uint8_t value)
Checks if register contains a expected value. More...
void | st25r3911SetNumTxBits (uint32_t nBits)
Sets the number Tx Bits. More...
bool | st25r3911CheckChipID (uint8_t *rev)
Check Identity. More...
bool | st25r3911IsCmdValid (uint8_t cmd)
Check if command is valid. More...
ReturnCode | st25r3911StreamConfigure (const struct st25r3911StreamConfig *config)
Configure the stream mode of ST25R3911. More...
ReturnCode | st25r3911GetRegsDump (uint8_t *resRegDump, uint8_t *sizeRegDump)
Register Dump. More...
ReturnCode | st25r3911GetRSSI (uint16_t *amRssi, uint16_t *pmRssi)
Gets the RSSI values. More...

Detailed Description

Author
Ulrich Herrmann

API:

  • Initialize ST25R3911 driver: st25r3911Initialize
  • Deinitialize ST25R3911 driver: st25r3911Deinitialize
Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: st25r3911_com.h File Reference

  • File List
  • Globals
  • source
  • st25r3911
Macros | Functions
st25r3911_com.h File Reference

ST25R3911 communication declaration file. More...

#include "platform.h"
#include "st_errno.h"
Include dependency graph for st25r3911_com.h:

Macros

#define | ST25R3911_FIFO_STATUS_LEN 2
#define | ST25R3911_REG_IO_CONF1 0x00U
#define | ST25R3911_REG_IO_CONF2 0x01U
#define | ST25R3911_REG_OP_CONTROL 0x02U
#define | ST25R3911_REG_MODE 0x03U
#define | ST25R3911_REG_BIT_RATE 0x04U
#define | ST25R3911_REG_ISO14443A_NFC 0x05U
#define | ST25R3911_REG_ISO14443B_1 0x06U
#define | ST25R3911_REG_ISO14443B_2 0x07U
#define | ST25R3911_REG_STREAM_MODE 0x08U
#define | ST25R3911_REG_AUX 0x09U
#define | ST25R3911_REG_RX_CONF1 0x0AU
#define | ST25R3911_REG_RX_CONF2 0x0BU
#define | ST25R3911_REG_RX_CONF3 0x0CU
#define | ST25R3911_REG_RX_CONF4 0x0DU
#define | ST25R3911_REG_MASK_RX_TIMER 0x0EU
#define | ST25R3911_REG_NO_RESPONSE_TIMER1 0x0FU
#define | ST25R3911_REG_NO_RESPONSE_TIMER2 0x10U
#define | ST25R3911_REG_GPT_CONTROL 0x11U
#define | ST25R3911_REG_GPT1 0x12U
#define | ST25R3911_REG_GPT2 0x13U
#define | ST25R3911_REG_IRQ_MASK_MAIN 0x14U
#define | ST25R3911_REG_IRQ_MASK_TIMER_NFC 0x15U
#define | ST25R3911_REG_IRQ_MASK_ERROR_WUP 0x16U
#define | ST25R3911_REG_IRQ_MAIN 0x17U
#define | ST25R3911_REG_IRQ_TIMER_NFC 0x18U
#define | ST25R3911_REG_IRQ_ERROR_WUP 0x19U
#define | ST25R3911_REG_FIFO_RX_STATUS1 0x1AU
#define | ST25R3911_REG_FIFO_RX_STATUS2 0x1BU
#define | ST25R3911_REG_COLLISION_STATUS 0x1CU
#define | ST25R3911_REG_NUM_TX_BYTES1 0x1DU
#define | ST25R3911_REG_NUM_TX_BYTES2 0x1EU
#define | ST25R3911_REG_NFCIP1_BIT_RATE 0x1FU
#define | ST25R3911_REG_AD_RESULT 0x20U
#define | ST25R3911_REG_ANT_CAL_CONTROL 0x21U
#define | ST25R3911_REG_ANT_CAL_TARGET 0x22U
#define | ST25R3911_REG_ANT_CAL_RESULT 0x23U
#define | ST25R3911_REG_AM_MOD_DEPTH_CONTROL 0x24U
#define | ST25R3911_REG_AM_MOD_DEPTH_RESULT 0x25U
#define | ST25R3911_REG_RFO_AM_ON_LEVEL 0x26U
#define | ST25R3911_REG_RFO_AM_OFF_LEVEL 0x27U
#define | ST25R3911_REG_FIELD_THRESHOLD 0x29U
#define | ST25R3911_REG_REGULATOR_CONTROL 0x2AU
#define | ST25R3911_REG_REGULATOR_RESULT 0x2BU
#define | ST25R3911_REG_RSSI_RESULT 0x2CU
#define | ST25R3911_REG_GAIN_RED_STATE 0x2DU
#define | ST25R3911_REG_CAP_SENSOR_CONTROL 0x2EU
#define | ST25R3911_REG_CAP_SENSOR_RESULT 0x2FU
#define | ST25R3911_REG_AUX_DISPLAY 0x30U
#define | ST25R3911_REG_WUP_TIMER_CONTROL 0x31U
#define | ST25R3911_REG_AMPLITUDE_MEASURE_CONF 0x32U
#define | ST25R3911_REG_AMPLITUDE_MEASURE_REF 0x33U
#define | ST25R3911_REG_AMPLITUDE_MEASURE_AA_RESULT 0x34U
#define | ST25R3911_REG_AMPLITUDE_MEASURE_RESULT 0x35U
#define | ST25R3911_REG_PHASE_MEASURE_CONF 0x36U
#define | ST25R3911_REG_PHASE_MEASURE_REF 0x37U
#define | ST25R3911_REG_PHASE_MEASURE_AA_RESULT 0x38U
#define | ST25R3911_REG_PHASE_MEASURE_RESULT 0x39U
#define | ST25R3911_REG_CAPACITANCE_MEASURE_CONF 0x3AU
#define | ST25R3911_REG_CAPACITANCE_MEASURE_REF 0x3BU
#define | ST25R3911_REG_CAPACITANCE_MEASURE_AA_RESULT 0x3CU
#define | ST25R3911_REG_CAPACITANCE_MEASURE_RESULT 0x3DU
#define | ST25R3911_REG_IC_IDENTITY 0x3FU

Functions

void | st25r3911ReadRegister (uint8_t reg, uint8_t *value)
Returns the content of a register within the ST25R3911. More...
void | st25r3911WriteRegister (uint8_t reg, uint8_t value)
Writes a given value to a register within the ST25R3911. More...
void | st25r3911ClrRegisterBits (uint8_t reg, uint8_t clr_mask)
Cleart bits on Register. More...
void | st25r3911SetRegisterBits (uint8_t reg, uint8_t set_mask)
Set bits on Register. More...
void | st25r3911ChangeRegisterBits (uint8_t reg, uint8_t valueMask, uint8_t value)
Changes the given bits on a ST25R3911 register. More...
void | st25r3911ReadTestRegister (uint8_t reg, uint8_t *value)
Read a test register within the ST25R3911. More...
void | st25r3911WriteTestRegister (uint8_t reg, uint8_t value)
Writes a given value to a test register within the ST25R3911. More...
void | st25r3911ModifyRegister (uint8_t reg, uint8_t clr_mask, uint8_t set_mask)
Modifies a value within a ST25R3911 register. More...
void | st25r3911ChangeTestRegisterBits (uint8_t reg, uint8_t valueMask, uint8_t value)
Changes the given bits on a ST25R3911 Test register. More...
void | st25r3911WriteMultipleRegisters (uint8_t reg, const uint8_t *values, uint8_t length)
Writes multiple values to ST25R3911 registers. More...
void | st25r3911ReadMultipleRegisters (uint8_t reg, uint8_t *values, uint8_t length)
Reads from multiple ST25R3911 registers. More...
void | st25r3911WriteFifo (const uint8_t *values, uint8_t length)
Writes values to ST25R3911 FIFO. More...
void | st25r3911ReadFifo (uint8_t *buf, uint8_t length)
Read values from ST25R3911 FIFO. More...
void | st25r3911ExecuteCommand (uint8_t cmd)
Execute a direct command. More...
void | st25r3911ExecuteCommands (const uint8_t *cmds, uint8_t length)
Execute several direct commands. More...
bool | st25r3911IsRegValid (uint8_t reg)
Check if register ID is valid. More...

Detailed Description

Author
Ulrich Herrmann
Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: st25r3911_interrupt.h File Reference

  • File List
  • Globals
  • source
  • st25r3911
Macros | Functions
st25r3911_interrupt.h File Reference

ST25R3911 Interrupt header file. More...

#include "platform.h"

Macros

#define | ST25R3911_IRQ_MASK_ALL (uint32_t)(0xFFFFFFU)
#define | ST25R3911_IRQ_MASK_NONE (uint32_t)(0U)
#define | ST25R3911_IRQ_MASK_OSC (uint32_t)(0x80U)
#define | ST25R3911_IRQ_MASK_FWL (uint32_t)(0x40U)
#define | ST25R3911_IRQ_MASK_RXS (uint32_t)(0x20U)
#define | ST25R3911_IRQ_MASK_RXE (uint32_t)(0x10U)
#define | ST25R3911_IRQ_MASK_TXE (uint32_t)(0x08U)
#define | ST25R3911_IRQ_MASK_COL (uint32_t)(0x04U)
#define | ST25R3911_IRQ_MASK_DCT (uint32_t)(0x8000U)
#define | ST25R3911_IRQ_MASK_NRE (uint32_t)(0x4000U)
#define | ST25R3911_IRQ_MASK_GPE (uint32_t)(0x2000U)
#define | ST25R3911_IRQ_MASK_EON (uint32_t)(0x1000U)
#define | ST25R3911_IRQ_MASK_EOF (uint32_t)(0x0800U)
#define | ST25R3911_IRQ_MASK_CAC (uint32_t)(0x0400U)
#define | ST25R3911_IRQ_MASK_CAT (uint32_t)(0x0200U)
#define | ST25R3911_IRQ_MASK_NFCT (uint32_t)(0x0100U)
#define | ST25R3911_IRQ_MASK_CRC (uint32_t)(0x800000U)
#define | ST25R3911_IRQ_MASK_PAR (uint32_t)(0x400000U)
#define | ST25R3911_IRQ_MASK_ERR2 (uint32_t)(0x200000U)
#define | ST25R3911_IRQ_MASK_ERR1 (uint32_t)(0x100000U)
#define | ST25R3911_IRQ_MASK_WT (uint32_t)(0x080000U)
#define | ST25R3911_IRQ_MASK_WAM (uint32_t)(0x040000U)
#define | ST25R3911_IRQ_MASK_WPH (uint32_t)(0x020000U)
#define | ST25R3911_IRQ_MASK_WCAP (uint32_t)(0x010000U)
#define | ST25R3911_IRQ_MASK_TIM (0x02U)
#define | ST25R3911_IRQ_MASK_ERR (0x01U)

Functions

uint32_t | st25r3911WaitForInterruptsTimed (uint32_t mask, uint16_t tmo)
Wait until an ST25R3911 interrupt occurs. More...
uint32_t | st25r3911GetInterrupt (uint32_t mask)
Get status for the given interrupt. More...
void | st25r3911InitInterrupts (void)
Init the 3911 interrupt. More...
void | st25r3911ModifyInterrupts (uint32_t clr_mask, uint32_t set_mask)
Modifies the Interrupt. More...
void | st25r3911CheckForReceivedInterrupts (void)
Checks received interrupts. More...
void | st25r3911Isr (void)
ISR Service routine. More...
void | st25r3911EnableInterrupts (uint32_t mask)
Enable a given ST25R3911 Interrupt source. More...
void | st25r3911DisableInterrupts (uint32_t mask)
Disable one or more a given ST25R3911 Interrupt sources. More...
void | st25r3911ClearInterrupts (void)
Clear all st25r3911 irq flags.
void | st25r3911IRQCallbackSet (void(*cb)(void))
Sets IRQ callback for the ST25R3911 interrupt.
void | st25r3911IRQCallbackRestore (void)
Sets IRQ callback for the ST25R3911 interrupt.

Detailed Description

Author
Ulrich Herrmann
Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: st25r3916.h File Reference

  • File List
  • Globals
  • source
  • st25r3916
Data Structures | Macros | Functions
st25r3916.h File Reference

ST25R3916 high level interface. More...

#include "platform.h"
#include "st_errno.h"
#include "st25r3916_com.h"
Include dependency graph for st25r3916.h:

Data Structures

struct | t_st25r3916Regs
struct | st25r3916StreamConfig

Macros

#define | ST25R3916_CMD_SET_DEFAULT 0xC1U
#define | ST25R3916_CMD_STOP 0xC2U
#define | ST25R3916_CMD_TRANSMIT_WITH_CRC 0xC4U
#define | ST25R3916_CMD_TRANSMIT_WITHOUT_CRC 0xC5U
#define | ST25R3916_CMD_TRANSMIT_REQA 0xC6U
#define | ST25R3916_CMD_TRANSMIT_WUPA 0xC7U
#define | ST25R3916_CMD_INITIAL_RF_COLLISION 0xC8U
#define | ST25R3916_CMD_RESPONSE_RF_COLLISION_N 0xC9U
#define | ST25R3916_CMD_GOTO_SENSE 0xCDU
#define | ST25R3916_CMD_GOTO_SLEEP 0xCEU
#define | ST25R3916_CMD_MASK_RECEIVE_DATA 0xD0U
#define | ST25R3916_CMD_UNMASK_RECEIVE_DATA 0xD1U
#define | ST25R3916_CMD_AM_MOD_STATE_CHANGE 0xD2U
#define | ST25R3916_CMD_MEASURE_AMPLITUDE 0xD3U
#define | ST25R3916_CMD_RESET_RXGAIN 0xD5U
#define | ST25R3916_CMD_ADJUST_REGULATORS 0xD6U
#define | ST25R3916_CMD_CALIBRATE_DRIVER_TIMING 0xD8U
#define | ST25R3916_CMD_MEASURE_PHASE 0xD9U
#define | ST25R3916_CMD_CLEAR_RSSI 0xDAU
#define | ST25R3916_CMD_CLEAR_FIFO 0xDBU
#define | ST25R3916_CMD_TRANSPARENT_MODE 0xDCU
#define | ST25R3916_CMD_CALIBRATE_C_SENSOR 0xDDU
#define | ST25R3916_CMD_MEASURE_CAPACITANCE 0xDEU
#define | ST25R3916_CMD_MEASURE_VDD 0xDFU
#define | ST25R3916_CMD_START_GP_TIMER 0xE0U
#define | ST25R3916_CMD_START_WUP_TIMER 0xE1U
#define | ST25R3916_CMD_START_MASK_RECEIVE_TIMER 0xE2U
#define | ST25R3916_CMD_START_NO_RESPONSE_TIMER 0xE3U
#define | ST25R3916_CMD_START_PPON2_TIMER 0xE4U
#define | ST25R3916_CMD_STOP_NRT 0xE8U
#define | ST25R3916_CMD_SPACE_B_ACCESS 0xFBU
#define | ST25R3916_CMD_TEST_ACCESS 0xFCU
#define | ST25R3916_THRESHOLD_DO_NOT_SET 0xFFU
#define | ST25R3916_BR_DO_NOT_SET 0xFFU
#define | ST25R3916_BR_106 0x00U
#define | ST25R3916_BR_212 0x01U
#define | ST25R3916_BR_424 0x02U
#define | ST25R3916_BR_848 0x03U
#define | ST25R3916_BR_1695 0x04U
#define | ST25R3916_BR_3390 0x05U
#define | ST25R3916_BR_6780 0x07U
#define | ST25R3916_FIFO_DEPTH 512U
#define | ST25R3916_TOUT_OSC_STABLE 10U
#define | st25r3916TxRxOn() st25r3916SetRegisterBits( ST25R3916_REG_OP_CONTROL, (ST25R3916_REG_OP_CONTROL_rx_en | ST25R3916_REG_OP_CONTROL_tx_en ) )
#define | st25r3916TxRxOff() st25r3916ClrRegisterBits( ST25R3916_REG_OP_CONTROL, (ST25R3916_REG_OP_CONTROL_rx_en | ST25R3916_REG_OP_CONTROL_tx_en ) )
#define | st25r3916TxOff() st25r3916ClrRegisterBits( ST25R3916_REG_OP_CONTROL, ST25R3916_REG_OP_CONTROL_tx_en )
#define | st25r3916IsGPTRunning() st25r3916CheckReg( ST25R3916_REG_NFCIP1_BIT_RATE, ST25R3916_REG_NFCIP1_BIT_RATE_gpt_on, ST25R3916_REG_NFCIP1_BIT_RATE_gpt_on )
#define | st25r3916IsExtFieldOn() st25r3916CheckReg( ST25R3916_REG_AUX_DISPLAY, ST25R3916_REG_AUX_DISPLAY_efd_o, ST25R3916_REG_AUX_DISPLAY_efd_o )
#define | st25r3916IsTxEnabled() st25r3916CheckReg( ST25R3916_REG_OP_CONTROL, ST25R3916_REG_OP_CONTROL_tx_en, ST25R3916_REG_OP_CONTROL_tx_en )
#define | st25r3916IsNRTinEMV() st25r3916CheckReg( ST25R3916_REG_TIMER_EMV_CONTROL, ST25R3916_REG_TIMER_EMV_CONTROL_nrt_emv, ST25R3916_REG_TIMER_EMV_CONTROL_nrt_emv_on )
#define | st25r3916IsLastFIFOComplete() st25r3916CheckReg( ST25R3916_REG_FIFO_STATUS2, ST25R3916_REG_FIFO_STATUS2_fifo_lb_mask, 0 )
#define | st25r3916IsOscOn() st25r3916CheckReg( ST25R3916_REG_OP_CONTROL, ST25R3916_REG_OP_CONTROL_en, ST25R3916_REG_OP_CONTROL_en )

Functions

ReturnCode | st25r3916Initialize (void)
Initialise ST25R3916 driver. More...
void | st25r3916Deinitialize (void)
Deinitialize ST25R3916 driver. More...
ReturnCode | st25r3916OscOn (void)
Turn on Oscillator and Regulator. More...
ReturnCode | st25r3916SetBitrate (uint8_t txrate, uint8_t rxrate)
Sets the bitrate. More...
ReturnCode | st25r3916AdjustRegulators (uint16_t *result_mV)
Adjusts supply regulators according to the current supply voltage. More...
ReturnCode | st25r3916MeasureAmplitude (uint8_t *result)
Measure Amplitude. More...
uint8_t | st25r3916MeasurePowerSupply (uint8_t mpsv)
Measure Power Supply. More...
uint16_t | st25r3916MeasureVoltage (uint8_t mpsv)
Measure Voltage. More...
ReturnCode | st25r3916MeasurePhase (uint8_t *result)
Measure Phase. More...
ReturnCode | st25r3916MeasureCapacitance (uint8_t *result)
Measure Capacitance. More...
ReturnCode | st25r3916CalibrateCapacitiveSensor (uint8_t *result)
Calibrates Capacitive Sensor. More...
uint32_t | st25r3916GetNoResponseTime (void)
Get NRT time. More...
ReturnCode | st25r3916SetNoResponseTime (uint32_t nrt_64fcs)
Set NRT time. More...
ReturnCode | st25r3916SetStartNoResponseTimer (uint32_t nrt_64fcs)
Set and Start NRT. More...
void | st25r3916SetGPTime (uint16_t gpt_8fcs)
Set GPT time. More...
ReturnCode | st25r3916SetStartGPTimer (uint16_t gpt_8fcs, uint8_t trigger_source)
Set and Start GPT. More...
void | st25r3916SetNumTxBits (uint16_t nBits)
Sets the number Tx Bits. More...
uint16_t | st25r3916GetNumFIFOBytes (void)
Get amount of bytes in FIFO. More...
uint8_t | st25r3916GetNumFIFOLastBits (void)
Get amount of bits of the last FIFO byte if incomplete. More...
ReturnCode | st25r3916PerformCollisionAvoidance (uint8_t FieldONCmd, uint8_t pdThreshold, uint8_t caThreshold, uint8_t nTRFW)
Perform Collision Avoidance. More...
bool | st25r3916CheckChipID (uint8_t *rev)
Check Identity. More...
ReturnCode | st25r3916GetRegsDump (t_st25r3916Regs *regDump)
Retrieves all internal registers from ST25R3916. More...
bool | st25r3916IsCmdValid (uint8_t cmd)
Check if command is valid. More...
ReturnCode | st25r3916StreamConfigure (const struct st25r3916StreamConfig *config)
Configure the stream mode of ST25R3916. More...
ReturnCode | st25r3916ExecuteCommandAndGetResult (uint8_t cmd, uint8_t resReg, uint8_t tout, uint8_t *result)
Executes a direct command and returns the result. More...
ReturnCode | st25r3916GetRSSI (uint16_t *amRssi, uint16_t *pmRssi)
Gets the RSSI values. More...

Detailed Description

Author
Gustavo Patricio
Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: st25r3916_aat.h File Reference

  • File List
  • Globals
  • source
  • st25r3916
Data Structures | Functions
st25r3916_aat.h File Reference

ST25R3916 Antenna Tuning. More...

#include "platform.h"
#include "st_errno.h"
Include dependency graph for st25r3916_aat.h:

Data Structures

struct | st25r3916AatTuneParams
struct | st25r3916AatTuneResult

Functions

ReturnCode st25r3916AatTune (const struct st25r3916AatTuneParams *tuningParams, struct st25r3916AatTuneResult *tuningStatus)
Perform antenna tuning. More...

Detailed Description

Author

The antenna tuning algorithm tries to find the optimal settings for the AAT_A and AAT_B registers, which are connected to variable capacitors to tune the antenna matching.

Function Documentation

ReturnCode st25r3916AatTune | ( | const struct st25r3916AatTuneParams * | tuningParams,
 |  | struct st25r3916AatTuneResult * | tuningStatus
 | ) |  |

This function starts an antenna tuning procedure by modifying the serial and parallel capacitors of the antenna matching circuit via the AAT_A and AAT_B registers.

Parameters
[in] | tuningParams | : Input parameters for the tuning algorithm. If NULL default values will be used.
[out] | tuningStatus | : Result information of performed tuning. If NULL no further information is returned, only registers ST25R3916 (AAT_A,B) will be adapted.
Returns
ERR_IO : Error during communication.
ERR_PARAM : Invalid input parameters
ERR_NONE : No error.
Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: st25r3916_com.h File Reference

  • File List
  • Globals
  • source
  • st25r3916
Macros | Functions
st25r3916_com.h File Reference

ST25R3916 communication declaration file. More...

#include "platform.h"
#include "st_errno.h"
Include dependency graph for st25r3916_com.h:
This graph shows which files directly or indirectly include this file:

Macros

#define | ST25R3916_SPACE_B 0x40U
#define | ST25R3916_SPACE_B_REG_LEN 16U
#define | ST25R3916_FIFO_STATUS_LEN 2
#define | ST25R3916_PTM_A_LEN 15U
#define | ST25R3916_PTM_B_LEN 0U
#define | ST25R3916_PTM_F_LEN 21U
#define | ST25R3916_PTM_TSN_LEN 12U
#define | ST25R3916_PTM_LEN (ST25R3916_PTM_A_LEN + ST25R3916_PTM_B_LEN + ST25R3916_PTM_F_LEN + ST25R3916_PTM_TSN_LEN)
#define | ST25R3916_REG_IO_CONF1 0x00U
#define | ST25R3916_REG_IO_CONF2 0x01U
#define | ST25R3916_REG_OP_CONTROL 0x02U
#define | ST25R3916_REG_MODE 0x03U
#define | ST25R3916_REG_BIT_RATE 0x04U
#define | ST25R3916_REG_ISO14443A_NFC 0x05U
#define | ST25R3916_REG_EMD_SUP_CONF (ST25R3916_SPACE_B|0x05U)
#define | ST25R3916_REG_ISO14443B_1 0x06U
#define | ST25R3916_REG_SUBC_START_TIME (ST25R3916_SPACE_B|0x06U)
#define | ST25R3916_REG_ISO14443B_2 0x07U
#define | ST25R3916_REG_PASSIVE_TARGET 0x08U
#define | ST25R3916_REG_STREAM_MODE 0x09U
#define | ST25R3916_REG_AUX 0x0AU
#define | ST25R3916_REG_RX_CONF1 0x0BU
#define | ST25R3916_REG_RX_CONF2 0x0CU
#define | ST25R3916_REG_RX_CONF3 0x0DU
#define | ST25R3916_REG_RX_CONF4 0x0EU
#define | ST25R3916_REG_P2P_RX_CONF (ST25R3916_SPACE_B|0x0BU)
#define | ST25R3916_REG_CORR_CONF1 (ST25R3916_SPACE_B|0x0CU)
#define | ST25R3916_REG_CORR_CONF2 (ST25R3916_SPACE_B|0x0DU)
#define | ST25R3916_REG_MASK_RX_TIMER 0x0FU
#define | ST25R3916_REG_NO_RESPONSE_TIMER1 0x10U
#define | ST25R3916_REG_NO_RESPONSE_TIMER2 0x11U
#define | ST25R3916_REG_TIMER_EMV_CONTROL 0x12U
#define | ST25R3916_REG_GPT1 0x13U
#define | ST25R3916_REG_GPT2 0x14U
#define | ST25R3916_REG_PPON2 0x15U
#define | ST25R3916_REG_SQUELCH_TIMER (ST25R3916_SPACE_B|0x0FU)
#define | ST25R3916_REG_FIELD_ON_GT (ST25R3916_SPACE_B|0x15U)
#define | ST25R3916_REG_IRQ_MASK_MAIN 0x16U
#define | ST25R3916_REG_IRQ_MASK_TIMER_NFC 0x17U
#define | ST25R3916_REG_IRQ_MASK_ERROR_WUP 0x18U
#define | ST25R3916_REG_IRQ_MASK_TARGET 0x19U
#define | ST25R3916_REG_IRQ_MAIN 0x1AU
#define | ST25R3916_REG_IRQ_TIMER_NFC 0x1BU
#define | ST25R3916_REG_IRQ_ERROR_WUP 0x1CU
#define | ST25R3916_REG_IRQ_TARGET 0x1DU
#define | ST25R3916_REG_FIFO_STATUS1 0x1EU
#define | ST25R3916_REG_FIFO_STATUS2 0x1FU
#define | ST25R3916_REG_COLLISION_STATUS 0x20U
#define | ST25R3916_REG_PASSIVE_TARGET_STATUS 0x21U
#define | ST25R3916_REG_NUM_TX_BYTES1 0x22U
#define | ST25R3916_REG_NUM_TX_BYTES2 0x23U
#define | ST25R3916_REG_NFCIP1_BIT_RATE 0x24U
#define | ST25R3916_REG_AD_RESULT 0x25U
#define | ST25R3916_REG_ANT_TUNE_A 0x26U
#define | ST25R3916_REG_ANT_TUNE_B 0x27U
#define | ST25R3916_REG_TX_DRIVER 0x28U
#define | ST25R3916_REG_PT_MOD 0x29U
#define | ST25R3916_REG_AUX_MOD (ST25R3916_SPACE_B|0x28U)
#define | ST25R3916_REG_TX_DRIVER_TIMING (ST25R3916_SPACE_B|0x29U)
#define | ST25R3916_REG_RES_AM_MOD (ST25R3916_SPACE_B|0x2AU)
#define | ST25R3916_REG_TX_DRIVER_STATUS (ST25R3916_SPACE_B|0x2BU)
#define | ST25R3916_REG_FIELD_THRESHOLD_ACTV 0x2AU
#define | ST25R3916_REG_FIELD_THRESHOLD_DEACTV 0x2BU
#define | ST25R3916_REG_REGULATOR_CONTROL 0x2CU
#define | ST25R3916_REG_REGULATOR_RESULT (ST25R3916_SPACE_B|0x2CU)
#define | ST25R3916_REG_RSSI_RESULT 0x2DU
#define | ST25R3916_REG_GAIN_RED_STATE 0x2EU
#define | ST25R3916_REG_CAP_SENSOR_CONTROL 0x2FU
#define | ST25R3916_REG_CAP_SENSOR_RESULT 0x30U
#define | ST25R3916_REG_AUX_DISPLAY 0x31U
#define | ST25R3916_REG_OVERSHOOT_CONF1 (ST25R3916_SPACE_B|0x30U)
#define | ST25R3916_REG_OVERSHOOT_CONF2 (ST25R3916_SPACE_B|0x31U)
#define | ST25R3916_REG_UNDERSHOOT_CONF1 (ST25R3916_SPACE_B|0x32U)
#define | ST25R3916_REG_UNDERSHOOT_CONF2 (ST25R3916_SPACE_B|0x33U)
#define | ST25R3916_REG_WUP_TIMER_CONTROL 0x32U
#define | ST25R3916_REG_AMPLITUDE_MEASURE_CONF 0x33U
#define | ST25R3916_REG_AMPLITUDE_MEASURE_REF 0x34U
#define | ST25R3916_REG_AMPLITUDE_MEASURE_AA_RESULT 0x35U
#define | ST25R3916_REG_AMPLITUDE_MEASURE_RESULT 0x36U
#define | ST25R3916_REG_PHASE_MEASURE_CONF 0x37U
#define | ST25R3916_REG_PHASE_MEASURE_REF 0x38U
#define | ST25R3916_REG_PHASE_MEASURE_AA_RESULT 0x39U
#define | ST25R3916_REG_PHASE_MEASURE_RESULT 0x3AU
#define | ST25R3916_REG_CAPACITANCE_MEASURE_CONF 0x3BU
#define | ST25R3916_REG_CAPACITANCE_MEASURE_REF 0x3CU
#define | ST25R3916_REG_CAPACITANCE_MEASURE_AA_RESULT 0x3DU
#define | ST25R3916_REG_CAPACITANCE_MEASURE_RESULT 0x3EU
#define | ST25R3916_REG_IC_IDENTITY 0x3FU

Functions

ReturnCode | st25r3916ReadRegister (uint8_t reg, uint8_t *val)
Returns the content of a register within the ST25R3916. More...
ReturnCode | st25r3916ReadMultipleRegisters (uint8_t reg, uint8_t *values, uint8_t length)
Reads from multiple ST25R3916 registers. More...
ReturnCode | st25r3916WriteRegister (uint8_t reg, uint8_t val)
Writes a given value to a register within the ST25R3916. More...
ReturnCode | st25r3916WriteMultipleRegisters (uint8_t reg, const uint8_t *values, uint8_t length)
Writes multiple values to ST25R3916 registers. More...
ReturnCode | st25r3916WriteFifo (const uint8_t *values, uint16_t length)
Writes values to ST25R3916 FIFO. More...
ReturnCode | st25r3916ReadFifo (uint8_t *buf, uint16_t length)
Read values from ST25R3916 FIFO. More...
ReturnCode | st25r3916WritePTMem (const uint8_t *values, uint16_t length)
Writes values to ST25R3916 PTM. More...
ReturnCode | st25r3916ReadPTMem (uint8_t *values, uint16_t length)
Reads the ST25R3916 PTM. More...
ReturnCode | st25r3916WritePTMemF (const uint8_t *values, uint16_t length)
Writes values to ST25R3916 PTM F config. More...
ReturnCode | st25r3916WritePTMemTSN (const uint8_t *values, uint16_t length)
Writes values to ST25R3916 PTM TSN Data. More...
ReturnCode | st25r3916ExecuteCommand (uint8_t cmd)
Execute a direct command. More...
ReturnCode | st25r3916ReadTestRegister (uint8_t reg, uint8_t *val)
Read a test register within the ST25R3916. More...
ReturnCode | st25r3916WriteTestRegister (uint8_t reg, uint8_t val)
Writes a given value to a test register within the ST25R3916. More...
ReturnCode | st25r3916ClrRegisterBits (uint8_t reg, uint8_t clr_mask)
Cleart bits on Register. More...
ReturnCode | st25r3916SetRegisterBits (uint8_t reg, uint8_t set_mask)
Set bits on Register. More...
ReturnCode | st25r3916ChangeRegisterBits (uint8_t reg, uint8_t valueMask, uint8_t value)
Changes the given bits on a ST25R3916 register. More...
ReturnCode | st25r3916ModifyRegister (uint8_t reg, uint8_t clr_mask, uint8_t set_mask)
Modifies a value within a ST25R3916 register. More...
ReturnCode | st25r3916ChangeTestRegisterBits (uint8_t reg, uint8_t valueMask, uint8_t value)
Changes the given bits on a ST25R3916 Test register. More...
bool | st25r3916CheckReg (uint8_t reg, uint8_t mask, uint8_t val)
Checks if register contains a expected value. More...
bool | st25r3916IsRegValid (uint8_t reg)
Check if register ID is valid. More...

Detailed Description

Author
Gustavo Patricio

This driver provides basic abstraction for communication with the ST25R3916

Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: st25r3916_irq.h File Reference

  • File List
  • Globals
  • source
  • st25r3916
Macros | Functions
st25r3916_irq.h File Reference

ST25R3916 Interrupt handling. More...

#include "platform.h"

Macros

#define | ST25R3916_IRQ_MASK_ALL (uint32_t)(0xFFFFFFFFUL)
#define | ST25R3916_IRQ_MASK_NONE (uint32_t)(0x00000000UL)
#define | ST25R3916_IRQ_MASK_OSC (uint32_t)(0x00000080U)
#define | ST25R3916_IRQ_MASK_FWL (uint32_t)(0x00000040U)
#define | ST25R3916_IRQ_MASK_RXS (uint32_t)(0x00000020U)
#define | ST25R3916_IRQ_MASK_RXE (uint32_t)(0x00000010U)
#define | ST25R3916_IRQ_MASK_TXE (uint32_t)(0x00000008U)
#define | ST25R3916_IRQ_MASK_COL (uint32_t)(0x00000004U)
#define | ST25R3916_IRQ_MASK_RX_REST (uint32_t)(0x00000002U)
#define | ST25R3916_IRQ_MASK_RFU (uint32_t)(0x00000001U)
#define | ST25R3916_IRQ_MASK_DCT (uint32_t)(0x00008000U)
#define | ST25R3916_IRQ_MASK_NRE (uint32_t)(0x00004000U)
#define | ST25R3916_IRQ_MASK_GPE (uint32_t)(0x00002000U)
#define | ST25R3916_IRQ_MASK_EON (uint32_t)(0x00001000U)
#define | ST25R3916_IRQ_MASK_EOF (uint32_t)(0x00000800U)
#define | ST25R3916_IRQ_MASK_CAC (uint32_t)(0x00000400U)
#define | ST25R3916_IRQ_MASK_CAT (uint32_t)(0x00000200U)
#define | ST25R3916_IRQ_MASK_NFCT (uint32_t)(0x00000100U)
#define | ST25R3916_IRQ_MASK_CRC (uint32_t)(0x00800000U)
#define | ST25R3916_IRQ_MASK_PAR (uint32_t)(0x00400000U)
#define | ST25R3916_IRQ_MASK_ERR2 (uint32_t)(0x00200000U)
#define | ST25R3916_IRQ_MASK_ERR1 (uint32_t)(0x00100000U)
#define | ST25R3916_IRQ_MASK_WT (uint32_t)(0x00080000U)
#define | ST25R3916_IRQ_MASK_WAM (uint32_t)(0x00040000U)
#define | ST25R3916_IRQ_MASK_WPH (uint32_t)(0x00020000U)
#define | ST25R3916_IRQ_MASK_WCAP (uint32_t)(0x00010000U)
#define | ST25R3916_IRQ_MASK_PPON2 (uint32_t)(0x80000000U)
#define | ST25R3916_IRQ_MASK_SL_WL (uint32_t)(0x40000000U)
#define | ST25R3916_IRQ_MASK_APON (uint32_t)(0x20000000U)
#define | ST25R3916_IRQ_MASK_RXE_PTA (uint32_t)(0x10000000U)
#define | ST25R3916_IRQ_MASK_WU_F (uint32_t)(0x08000000U)
#define | ST25R3916_IRQ_MASK_RFU2 (uint32_t)(0x04000000U)
#define | ST25R3916_IRQ_MASK_WU_A_X (uint32_t)(0x02000000U)
#define | ST25R3916_IRQ_MASK_WU_A (uint32_t)(0x01000000U)

Functions

uint32_t | st25r3916WaitForInterruptsTimed (uint32_t mask, uint16_t tmo)
Wait until an ST25R3916 interrupt occurs. More...
uint32_t | st25r3916GetInterrupt (uint32_t mask)
Get status for the given interrupt. More...
void | st25r3916InitInterrupts (void)
Init the 3916 interrupt. More...
void | st25r3916ModifyInterrupts (uint32_t clr_mask, uint32_t set_mask)
Modifies the Interrupt. More...
void | st25r3916CheckForReceivedInterrupts (void)
Checks received interrupts. More...
void | st25r3916Isr (void)
ISR Service routine. More...
void | st25r3916EnableInterrupts (uint32_t mask)
Enable a given ST25R3916 Interrupt source. More...
void | st25r3916DisableInterrupts (uint32_t mask)
Disable one or more a given ST25R3916 Interrupt sources. More...
void | st25r3916ClearInterrupts (void)
Clear all ST25R3916 irq flags.
void | st25r3916ClearAndEnableInterrupts (uint32_t mask)
Clears and then enables the given ST25R3916 Interrupt sources. More...
void | st25r3916IRQCallbackSet (void(*cb)(void))
Sets IRQ callback for the ST25R3916 interrupt.
void | st25r3916IRQCallbackRestore (void)
Sets IRQ callback for the ST25R3916 interrupt.

Detailed Description

Author
Gustavo Patricio
Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: st25r3916_led.h File Reference

  • File List
  • Globals
  • source
  • st25r3916
Functions
st25r3916_led.h File Reference

ST25R3916 LEDs handling. More...

#include "platform.h"

Functions

void | st25r3916ledInit (void)
ST25R3916 LED Initialize. More...
void | st25r3916ledEvtIrq (uint32_t irqs)
ST25R3916 LED Event Interrupt. More...
void | st25r3916ledEvtWrReg (uint8_t reg, uint8_t val)
ST25R3916 LED Event Write Register. More...
void | st25r3916ledEvtWrMultiReg (uint8_t reg, const uint8_t *vals, uint8_t len)
ST25R3916 LED Event Write Multiple Register. More...
void | st25r3916ledEvtCmd (uint8_t cmd)
ST25R3916 LED Event Direct Command. More...

Detailed Description

Author
Gustavo Patricio
Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: st25r95.h File Reference

  • File List
  • Globals
  • source
  • st25r95
Macros | Functions
st25r95.h File Reference

ST25R95 declaration file. More...

#include "platform.h"
#include "st_errno.h"
Include dependency graph for st25r95.h:

Macros

#define | st25r95_nIRQ_IN_Pulse() st25r95SPI_nIRQ_IN_Pulse()
#define | st25r95ResetChip() st25r95SPIResetChip()

Functions

ReturnCode | st25r95Initialize (void)
Initialise ST25R95 driver. More...
void | st25r95Deinitialize (void)
Deinitialize ST25R95 driver. More...
void | st25r95SPI_nIRQ_IN_Pulse (void)
Generates an IRQ_IN pulse (SPI intefrace) More...
void | st25r95UART_nIRQ_IN_Pulse (void)
Generates an IRQ_IN pulse (UART interface) More...
bool | st25r95CheckChipID (void)
Check Identity. More...
ReturnCode | st25r95FieldOn (uint32_t protocol)
Turns field on. More...
ReturnCode | st25r95FieldOff (void)
Turns field off. More...

Detailed Description

Author

API:

  • Initialize ST25R95 driver: st25r95Initialize
  • Deinitialize ST25R95 driver: st25r95Deinitialize
Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: st25r95_com.h File Reference

  • File List
  • Globals
  • source
  • st25r95
Data Structures | Macros | Functions | Variables
st25r95_com.h File Reference

ST25R95 communication declaration file. More...

#include "platform.h"
#include "st_errno.h"
#include "rfal_rf.h"
Include dependency graph for st25r95_com.h:

Data Structures

struct st25r95SPIRxContext

Macros

#define | ST25R95_CONTROL_SEND 0x00
#define | ST25R95_CONTROL_RESET 0x01
#define | ST25R95_CONTROL_READ 0x02
#define | ST25R95_CONTROL_POLL 0x03
#define | ST25R95_CONTROL_POLL_TIMEOUT 100
#define | ST25R95_CONTROL_POLL_NO_TIMEOUT 0
#define | ST25R95_COMMAND_IDN 0x01
#define | ST25R95_COMMAND_PROTOCOLSELECT 0x02
#define | ST25R95_COMMAND_POLLFIED 0x03
#define | ST25R95_COMMAND_SENDRECV 0x04
#define | ST25R95_COMMAND_LISTEN 0x05
#define | ST25R95_COMMAND_SEND 0x06
#define | ST25R95_COMMAND_IDLE 0x07
#define | ST25R95_COMMAND_RDREG 0x08
#define | ST25R95_COMMAND_WRREG 0x09
#define | ST25R95_COMMAND_BAUDRATE 0x0A
#define | ST25R95_COMMAND_ACFILTER 0x0D
#define | ST25R95_COMMAND_ECHO 0x55
#define | ST25R95_SPI_DUMMY_BYTE 0x00
#define | ST25R95_CMD_COMMAND_OFFSET 0x00U
#define | ST25R95_CMD_RESULT_OFFSET 0x00U
#define | ST25R95_CMD_LENGTH_OFFSET 0x01U
#define | ST25R95_CMD_DATA_OFFSET 0x02U
#define | ST25R95_COMMUNICATION_BUFFER_SIZE (528 + 2)
#define | ST25R95_COMMUNICATION_UART_WDOGTIMER (5000U)
#define | ST25R95_PROTOCOL_FIELDOFF 0x00U
#define | ST25R95_PROTOCOL_ISO15693 0x01U
#define | ST25R95_PROTOCOL_ISO14443A 0x02U
#define | ST25R95_PROTOCOL_ISO14443B 0x03U
#define | ST25R95_PROTOCOL_ISO18092 0x04U
#define | ST25R95_PROTOCOL_CE_ISO14443A 0x05U
#define | ST25R95_PROTOCOL_MAX ST25R95_PROTOCOL_CE_ISO14443A
#define | ST25R95_FWT_MAX 0x40A8BC0
#define | ST25R95_ERRCODE_NONE 0x00
#define | ST25R95_ERRCODE_FRAMEOKADDITIONALINFO 0x80
#define | ST25R95_ERRCODE_INVALIDCCMDCODE 0x81
#define | ST25R95_ERRCODE_INVALIDCMDLENGHT 0x82
#define | ST25R95_ERRCODE_INVALIDPROTOCOL 0x83
#define | ST25R95_ERRCODE_COMERROR 0x86
#define | ST25R95_ERRCODE_FRAMEWAITTIMEOUT 0x87
#define | ST25R95_ERRCODE_INVALIDSOF 0x88
#define | ST25R95_ERRCODE_OVERFLOW 0x89
#define | ST25R95_ERRCODE_FRAMING 0x8A
#define | ST25R95_ERRCODE_EGT 0x8B
#define | ST25R95_ERRCODE_FIELDLENGTH 0x8C
#define | ST25R95_ERRCODE_CRC 0x8D
#define | ST25R95_ERRCODE_RECEPTIONLOST 0x8E
#define | ST25R95_ERRCODE_NOFIELD 0x8F
#define | ST25R95_ERRCODE_RESULTSRESIDUAL 0x90
#define | ST25R95_ERRCODE_61_SOF 0x61
#define | ST25R95_ERRCODE_62_CRC 0x62
#define | ST25R95_ERRCODE_63_SOF_HIGH 0x63
#define | ST25R95_ERRCODE_65_SOF_LOW 0x65
#define | ST25R95_ERRCODE_66_EGT 0x66
#define | ST25R95_ERRCODE_67_TR1TOOLONG 0x67
#define | ST25R95_ERRCODE_68_TR1TOOSHORT 0x68
#define | ST25R95_REG_ARC_B 0x6801
#define | ST25R95_REG_ACC_A 0x6804
#define | ST25R95_REG_TIMERW 0x3A00
#define | ST25R95_IDN_RESPONSE_BUFLEN (15 + 2)
#define | ST25R95_PROTOCOLSELECT_RESPONSE_BUFLEN (0 + 2)
#define | ST25R95_POLLFIELD_RESPONSE_BUFLEN (1 + 2)
#define | ST25R95_LISTEN_RESPONSE_BUFLEN (0 + 2)
#define | ST25R95_RDREG_RESPONSE_BUFLEN (1 + 2)
#define | ST25R95_WRREG_RESPONSE_BUFLEN (0 + 2)
#define | ST25R95_ACFILTER_RESPONSE_BUFLEN (1 + 2)
#define | ST25R95_IDLE_RESPONSE_BUFLEN (1 + 2)
#define | ST25R95_ECHO_RESPONSE_BUFLEN (3)
#define | ST25R95_SEND_RESPONSE_BUFLEN (0 + 2)
#define | ST25R95_ACSTATE_IDLE 0x00U
#define | ST25R95_ACSTATE_READYA 0x01U
#define | ST25R95_ACSTATE_ACTIVE 0x04U
#define | ST25R95_ACSTATE_HALT 0x80U
#define | ST25R95_ACSTATE_READYAX 0x81U
#define | ST25R95_ACSTATE_ACTIVEX 0x84U
#define | ST25R95_IS_PROT_ISO15693_CRC_ERR(status) (((status) & 0x02U) == 0x02U)
#define | ST25R95_IS_PROT_ISO15693_COLLISION_ERR(status) (((status) & 0x01U) == 0x01U)
#define | ST25R95_IS_PROT_ISO14443A_COLLISION_ERR(status) (((status) & 0x80U) == 0x80U)
#define | ST25R95_IS_PROT_ISO14443A_CRC_ERR(status) (((status) & 0x20U) == 0x20U)
#define | ST25R95_IS_PROT_ISO14443A_PARITY_ERR(status) (((status) & 0x10U) == 0x10U)
#define | ST25R95_IS_PROT_ISO14443B_CRC_ERR(status) (((status) & 0x02U) == 0x02U)
#define | ST25R95_IS_PROT_ISO18092_CRC_ERR(status) (((status) & 0x02U) == 0x02U)
#define | ST25R95_PROTOCOLSELECT_BR_OFFSET (3U)
#define | ST25R95_IDLE_WUPERIOD_OFFSET (0x09U)
#define | ST25R95_IDLE_DACDATAL_OFFSET (0x0CU)
#define | ST25R95_IDLE_DACDATAH_OFFSET (0x0DU)
#define | ST25R95_DACDATA_MAX (0xFCU)
#define | ST25R95_IDLE_WKUP_TIMEOUT (0x01U)
#define | ST25R95_IDLE_WKUP_TAGDETECT (0x02U)
#define | st25r95SendCommandTypeAndLen(cmd, resp, respBuffLen) st25r95SPISendCommandTypeAndLen((cmd), (resp), (respBuffLen))
#define | st25r95CommandEcho() st25r95SPICommandEcho()
#define | st25r95SendData(buf, bufLen, protocol, flags) st25r95SPISendData((buf), (bufLen), (protocol), (flags))
#define | st25r95SendTransmitFlag(protocol, transmitFlag) st25r95SPISendTransmitFlag((protocol), (transmitFlag))
#define | st25r95PollRead(timeout) st25r95SPIPollRead((timeout))
#define | st25r95PrepareRx(protocol, rxBuf, rxBufLen, rxRcvdLen, flags, additionalRespBytes) st25r95SPIPrepareRx((protocol), (rxBuf), (rxBufLen), (rxRcvdLen), (flags), (additionalRespBytes));
#define | st25r95CompleteRx() st25r95SPICompleteRx();
#define | st25r95IsTransmitTxCompleted() st25r95SPIIsTransmitCompleted()
#define | st25r95IsInListen() st25r95SPIIsInListen()
#define | st25r95GetLmState() st25r95SPIGetLmState()
#define | st25r95DeactivateACFilter() st25r95SPIDeactivateACFilter()
#define | st25r95SetACState(State) st25r95SPISetACState(State)
#define | st25r95Idle(DacDataL, DacDataH, WUPeriod) st25r95SPIIdle((DacDataL), (DacDataH), (WUPeriod))
#define | st25r95GetIdleResponse() st25r95SPIGetIdleResponse()
#define | st25r95KillIdle() st25r95SPIKillIdle()
#define | st25r95FlushChipSPIBuffer() st25r95SPIRxTx(NULL, NULL, ST25R95_COMMUNICATION_BUFFER_SIZE)

Functions

void | st25r95SPIResetChip (void)
Resets the ST25R95 (SPI interface) More...
ReturnCode | st25r95SPISendCommandTypeAndLen (uint8_t *cmd, uint8_t *resp, uint16_t respBuffLen)
Sends a command to ST25R95 and reads the response (SPI Interface) More...
ReturnCode | st25r95UARTSendCommandTypeAndLen (uint8_t *cmd, uint8_t *resp, uint16_t respBuffLen)
Sends a command to ST25R95 and reads the response (UART Interface) More...
ReturnCode | st25r95SPICommandEcho (void)
Sends a echo command to ST25R95 (SPI Interface) More...
ReturnCode | st25r95UARTCommandEcho (void)
Sends a echo command to ST25R95 (UART Interface) More...
uint8_t | st25r95SPISendReceiveByte (uint8_t data)
Sends one byte over SPI and returns the byte received. More...
ReturnCode | st25r95ProtocolSelect (uint8_t protocol)
Sends ProtocolSelect command. More...
ReturnCode | st25r95SetBitRate (uint8_t protocol, rfalBitRate txBR, rfalBitRate rxBR)
Set bit rates. More...
void | st25r95SPISendData (uint8_t *buf, uint8_t bufLen, uint8_t protocol, uint32_t flags)
Sends data (SPI interface) More...
void | st25r95UARTSendData (uint8_t *buf, uint8_t bufLen, uint8_t protocol, uint32_t flags)
Sends data (UART interface) More...
void | st25r95SPIPrepareRx (uint8_t protocol, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rxRcvdLen, uint32_t flags, uint8_t *additionalRespBytes)
Prepares Rx (SPI Interface) More...
void | st25r95UARTPrepareRx (uint8_t protocol, uint8_t *rxBuf, uint16_t rxBufLen, uint16_t *rxRcvdLen, uint32_t flags, uint8_t *additionalRespBytes)
Prepares Rx (UART Interface) More...
ReturnCode | st25r95SPIPollRead (uint32_t timeout)
Polls the ST25R95 for incomming data (SPI Interface) More...
ReturnCode | st25r95UARTPollRead (uint32_t timeout)
Polls the ST25R95 for incomming data (UART Interface) More...
ReturnCode | st25r95SPIPollSend (void)
Polls the ST25R95 for sending (SPI Interface) More...
ReturnCode | st25r95SetFWT (uint8_t protocol, uint32_t fwt)
set FWT More...
ReturnCode | st25r95SetSlotCounter (uint8_t slots)
set slot counter More...
ReturnCode | st25r95WriteReg (uint8_t protocol, uint16_t reg, uint8_t value)
Write Register. More...
ReturnCode | st25r95ReadReg (uint16_t reg, uint8_t *value)
Read Register. More...
bool | st25r95PollField (void)
Poll field (CE mode) More...
ReturnCode | st25r95SetACFilter (const rfalLmConfPA *confA)
Set Anti-Collision filter (CE mode) More...
ReturnCode | st25r95Listen (void)
Listen (CE mode) More...
void | st25r95UartTxCpltCallback (void)
Uart Tx Callback (UART mode) More...
void | st25r95UartRxCpltCallback (void)
Uart Rx Callback (UART mode) More...
void | st25r95UartErrorCallback (void)
Uart Error Callback (UART mode) More...
bool | st25r95SPIIsTransmitCompleted (void)
End of transmit test function (SPI mode) More...
bool | st25r95UARTIsTransmitTxCompleted (void)
End of transmit test function (UART mode) More...
bool | st25r95SPIIsInListen (void)
Listen mode test function (CE mode) More...
rfalLmState | st25r95SPIGetLmState (void)
Get Listen Mode state (CE mode) More...
ReturnCode | st25r95SPIDeactivateACFilter (void)
Deactivate the Anti-Collision filter (CE mode) More...
ReturnCode | st25r95SPISetACState (uint8_t state)
Set Anti-Collision filter state (CE mode) More...
void | st25r95RearmListen (void)
Rearm Listen mode (CE mode) More...
void | st25r95SPIIdle (uint8_t dacDataL, uint8_t dacDataH, uint8_t WUPeriod)
Send Idle command (SPI mode) More...
void | st25r95SPIGetIdleResponse (void)
Flush the Idle response (SPI mode) More...
void | st25r95UARTIdle (uint8_t dacDataL, uint8_t dacDataH, uint8_t WUPeriod)
Send Idle command (UART mode) More...
void | st25r95UARTGetIdleResponse (void)
Flush the Idle response (UART mode) More...
void | st25r95SPISendTransmitFlag (uint8_t protocol, uint8_t transmitFlag)
Send transmit flag (SPI mode) More...
void | st25r95UARTSendTransmitFlag (uint8_t protocol, uint8_t transmitFlag)
Send transmit flag (UART mode) More...
ReturnCode | st25r95SPICompleteRx (void)
Process end of Rx (SPI mode) More...
ReturnCode | st25r95UARTCompleteRx (void)
Process end of Rx (UART mode) More...
void | st25r95SPIKillIdle (void)
return to ready mode (SPI mode) More...
void | st25r95UARTKillIdle (void)
return to ready mode (UART mode) More...
uint8_t | st25r95CalibrateTagDetector (void)
Calibrate Tag Detector. More...
void | st25r95SPIRxTx (uint8_t *txData, uint8_t *rxData, uint16_t length)
SPI transceive function. More...

Variables

st25r95SPIRxContext st25r95SPIRxCtx

Detailed Description

Author
Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6


RFAL: Globals

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • i
  • m
  • r
  • s
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:

- i -

  • ISO15693_FWT : rfal_iso15693_2.h
  • ISO15693_MASK_FDT_LISTEN : rfal_iso15693_2.h
  • ISO15693_REQ_FLAG_HIGH_DATARATE : rfal_iso15693_2.h
  • ISO15693_REQ_FLAG_TWO_SUBCARRIERS : rfal_iso15693_2.h
  • iso15693PhyConfigure() : rfal_iso15693_2.h
  • iso15693PhyGetConfiguration() : rfal_iso15693_2.h
  • iso15693VCDCode() : rfal_iso15693_2.h
  • iso15693VcdCoding_t : rfal_iso15693_2.h
  • iso15693VICCDecode() : rfal_iso15693_2.h
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Globals

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • i
  • m
  • r
  • s
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:

- m -

  • MS_FROM_64FCS : st25r3911.h
  • MS_TO_64FCS : st25r3911.h
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Globals

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • i
  • m
  • r
  • s
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:

- r -

  • rfal14443AShortFrameCmd : rfal_rf.h
  • RFAL_14443A_SHORTFRAME_CMD_REQA : rfal_rf.h
  • RFAL_14443A_SHORTFRAME_CMD_WUPA : rfal_rf.h
  • RFAL_1FC_IN_4096FC : rfal_rf.h
  • RFAL_1FC_IN_512FC : rfal_rf.h
  • RFAL_1FC_IN_64FC : rfal_rf.h
  • RFAL_1FC_IN_8FC : rfal_rf.h
  • RFAL_1MS_IN_1FC : rfal_rf.h
  • RFAL_ANALOG_CONFIG_ANTICOL : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_BITRATE_106 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_BITRATE_1695 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_BITRATE_1OF256 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_BITRATE_1OF4 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_BITRATE_212 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_BITRATE_3390 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_BITRATE_424 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_BITRATE_6780 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_BITRATE_848 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_BITRATE_COMMON : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_BITRATE_MASK : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_BITRATE_SHIFT : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_CHIP_DEINIT : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_CHIP_FIELD_OFF : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_CHIP_FIELD_ON : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_CHIP_INIT : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_CHIP_LISTEN_COMMON : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_CHIP_LISTEN_OFF : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_CHIP_LISTEN_ON : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_CHIP_LOWPOWER_OFF : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_CHIP_LOWPOWER_ON : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_CHIP_POLL_COMMON : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_CHIP_SPECIFIC_MASK : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_CHIP_WAKEUP_OFF : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_CHIP_WAKEUP_ON : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_CONFIG_NUM : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_DIRECTION_MASK : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_DIRECTION_SHIFT : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_DPO : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_GET_BITRATE : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_GET_DIRECTION : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_GET_POLL_LISTEN : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_GET_TECH : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_106 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_1695 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_1OF256 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_1OF4 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_212 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_3390 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_424 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_6780 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_848 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_AP2P : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_CHIP : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_COMMON : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_NFCA : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_NFCB : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_NFCF : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_NFCV : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_RX : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_TX : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_SET : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_LISTEN : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_LUT_NOT_FOUND : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_LUT_SIZE : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_NO_DIRECTION : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_POLL : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_POLL_LISTEN_MODE_MASK : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_POLL_LISTEN_MODE_SHIFT : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_RX : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_TBL_SIZE : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_TECH_AP2P : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_TECH_CHIP : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_TECH_MASK : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_TECH_NFCA : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_TECH_NFCB : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_TECH_NFCF : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_TECH_NFCV : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_TECH_RFU : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_TECH_SHIFT : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_TX : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_UPDATE_LAST : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_UPDATE_MORE : rfal_analogConfig.h
  • RFAL_BITS_IN_BYTE : rfal_rf.h
  • RFAL_BR_106 : rfal_rf.h
  • RFAL_BR_13560 : rfal_rf.h
  • RFAL_BR_1695 : rfal_rf.h
  • RFAL_BR_1p66 : rfal_rf.h
  • RFAL_BR_212 : rfal_rf.h
  • RFAL_BR_26p48 : rfal_rf.h
  • RFAL_BR_3390 : rfal_rf.h
  • RFAL_BR_424 : rfal_rf.h
  • RFAL_BR_52p97 : rfal_rf.h
  • RFAL_BR_6780 : rfal_rf.h
  • RFAL_BR_848 : rfal_rf.h
  • RFAL_BR_KEEP : rfal_rf.h
  • RFAL_COMPLIANCE_MODE_EMV : rfal_rf.h
  • RFAL_COMPLIANCE_MODE_ISO : rfal_rf.h
  • RFAL_COMPLIANCE_MODE_NFC : rfal_rf.h
  • RFAL_CRC_LEN : rfal_rf.h
  • RFAL_DPO_TABLE_PARAMETER : rfal_dpo.h
  • RFAL_DPO_TABLE_SIZE_MAX : rfal_dpo.h
  • RFAL_ERRORHANDLING_EMVCO : rfal_rf.h
  • RFAL_ERRORHANDLING_NFC : rfal_rf.h
  • RFAL_ERRORHANDLING_NONE : rfal_rf.h
  • RFAL_FDT_LISTEN_AP2P_LISTENER : rfal_rf.h
  • RFAL_FDT_LISTEN_AP2P_POLLER : rfal_rf.h
  • RFAL_FDT_LISTEN_NFCA_LISTENER : rfal_rf.h
  • RFAL_FDT_LISTEN_NFCA_POLLER : rfal_rf.h
  • RFAL_FDT_LISTEN_NFCB_LISTENER : rfal_rf.h
  • RFAL_FDT_LISTEN_NFCB_POLLER : rfal_rf.h
  • RFAL_FDT_LISTEN_NFCF_LISTENER : rfal_rf.h
  • RFAL_FDT_LISTEN_NFCF_POLLER : rfal_rf.h
  • RFAL_FDT_LISTEN_NFCV_POLLER : rfal_rf.h
  • RFAL_FDT_LISTEN_PICOPASS_POLLER : rfal_rf.h
  • RFAL_FDT_POLL_AP2P_POLLER : rfal_rf.h
  • RFAL_FDT_POLL_NFCA_POLLER : rfal_rf.h
  • RFAL_FDT_POLL_NFCA_T1T_POLLER : rfal_rf.h
  • RFAL_FDT_POLL_NFCB_POLLER : rfal_rf.h
  • RFAL_FDT_POLL_NFCF_POLLER : rfal_rf.h
  • RFAL_FDT_POLL_NFCV_POLLER : rfal_rf.h
  • RFAL_FDT_POLL_PICOPASS_POLLER : rfal_rf.h
  • RFAL_FEATURE_ISO_DEP : rfal_isoDep.h
  • RFAL_FEATURE_ISO_DEP_APDU_MAX_LEN : rfal_isoDep.h
  • RFAL_FEATURE_ISO_DEP_IBLOCK_MAX_LEN : rfal_isoDep.h
  • RFAL_FEATURE_NFC_DEP : rfal_nfcDep.h
  • RFAL_FEATURE_NFC_DEP_BLOCK_MAX_LEN : rfal_nfcDep.h
  • RFAL_FEATURE_NFC_DEP_PDU_MAX_LEN : rfal_nfcDep.h
  • RFAL_FELICA_16_SLOTS : rfal_rf.h
  • RFAL_FELICA_1_SLOT : rfal_rf.h
  • RFAL_FELICA_2_SLOTS : rfal_rf.h
  • RFAL_FELICA_4_SLOTS : rfal_rf.h
  • RFAL_FELICA_8_SLOTS : rfal_rf.h
  • RFAL_FELICA_LEN_LEN : rfal_rf.h
  • RFAL_FELICA_POLL_MAX_SLOTS : rfal_rf.h
  • RFAL_FELICA_POLL_RC_COM_PERFORMANCE : rfal_rf.h
  • RFAL_FELICA_POLL_RC_NO_REQUEST : rfal_rf.h
  • RFAL_FELICA_POLL_RC_SYSTEM_CODE : rfal_rf.h
  • RFAL_FELICA_POLL_REQ_LEN : rfal_rf.h
  • RFAL_FELICA_POLL_RES_LEN : rfal_rf.h
  • RFAL_FWT_NONE : rfal_rf.h
  • RFAL_GT_AP2P : rfal_rf.h
  • RFAL_GT_AP2P_ADJUSTED : rfal_rf.h
  • RFAL_GT_NFCA : rfal_rf.h
  • RFAL_GT_NFCB : rfal_rf.h
  • RFAL_GT_NFCF : rfal_rf.h
  • RFAL_GT_NFCV : rfal_rf.h
  • RFAL_GT_NONE : rfal_rf.h
  • RFAL_GT_PICOPASS : rfal_rf.h
  • RFAL_ISODEP_ADV_FEATURE : rfal_isoDep.h
  • RFAL_ISODEP_APDU_MAX_LEN : rfal_isoDep.h
  • RFAL_ISODEP_ATS_HB_MAX_LEN : rfal_isoDep.h
  • RFAL_ISODEP_ATS_T0_FSCI_MASK : rfal_isoDep.h
  • RFAL_ISODEP_ATS_T0_OFFSET : rfal_isoDep.h
  • RFAL_ISODEP_ATS_T0_TA_PRESENCE_MASK : rfal_isoDep.h
  • RFAL_ISODEP_ATS_T0_TB_PRESENCE_MASK : rfal_isoDep.h
  • RFAL_ISODEP_ATS_T0_TC_PRESENCE_MASK : rfal_isoDep.h
  • RFAL_ISODEP_ATS_TA_DLP_212 : rfal_isoDep.h
  • RFAL_ISODEP_ATS_TA_DLP_424 : rfal_isoDep.h
  • RFAL_ISODEP_ATS_TA_DLP_848 : rfal_isoDep.h
  • RFAL_ISODEP_ATS_TA_DPL_212 : rfal_isoDep.h
  • RFAL_ISODEP_ATS_TA_DPL_424 : rfal_isoDep.h
  • RFAL_ISODEP_ATS_TA_DPL_848 : rfal_isoDep.h
  • RFAL_ISODEP_ATS_TA_SAME_D : rfal_isoDep.h
  • RFAL_ISODEP_ATS_TB_FWI_MASK : rfal_isoDep.h
  • RFAL_ISODEP_ATS_TB_SFGI_MASK : rfal_isoDep.h
  • RFAL_ISODEP_ATTRIB_HLINFO_LEN : rfal_isoDep.h
  • RFAL_ISODEP_ATTRIB_REQ_MIN_LEN : rfal_isoDep.h
  • RFAL_ISODEP_ATTRIB_REQ_PARAM1_DEFAULT : rfal_isoDep.h
  • RFAL_ISODEP_ATTRIB_RES_MBLI_NO_INFO : rfal_isoDep.h
  • RFAL_ISODEP_ATTRIB_RES_MIN_LEN : rfal_isoDep.h
  • RFAL_ISODEP_BITRATE_RFU_MASK : rfal_isoDep.h
  • RFAL_ISODEP_BRI_MASK : rfal_isoDep.h
  • RFAL_ISODEP_BSI_MASK : rfal_isoDep.h
  • RFAL_ISODEP_DEFAULT_FSC : rfal_isoDep.h
  • RFAL_ISODEP_DEFAULT_FSCI : rfal_isoDep.h
  • RFAL_ISODEP_DEFAULT_FWI : rfal_isoDep.h
  • RFAL_ISODEP_DEFAULT_SFGI : rfal_isoDep.h
  • RFAL_ISODEP_DID_LEN : rfal_isoDep.h
  • RFAL_ISODEP_DID_MAX : rfal_isoDep.h
  • RFAL_ISODEP_FSDI_DEFAULT : rfal_isoDep.h
  • RFAL_ISODEP_FSX_1024 : rfal_isoDep.h
  • RFAL_ISODEP_FSX_128 : rfal_isoDep.h
  • RFAL_ISODEP_FSX_16 : rfal_isoDep.h
  • RFAL_ISODEP_FSX_2048 : rfal_isoDep.h
  • RFAL_ISODEP_FSX_24 : rfal_isoDep.h
  • RFAL_ISODEP_FSX_256 : rfal_isoDep.h
  • RFAL_ISODEP_FSX_32 : rfal_isoDep.h
  • RFAL_ISODEP_FSX_40 : rfal_isoDep.h
  • RFAL_ISODEP_FSX_4096 : rfal_isoDep.h
  • RFAL_ISODEP_FSX_48 : rfal_isoDep.h
  • RFAL_ISODEP_FSX_512 : rfal_isoDep.h
  • RFAL_ISODEP_FSX_64 : rfal_isoDep.h
  • RFAL_ISODEP_FSX_96 : rfal_isoDep.h
  • RFAL_ISODEP_FSX_KEEP : rfal_isoDep.h
  • RFAL_ISODEP_FSXI_1024 : rfal_isoDep.h
  • RFAL_ISODEP_FSXI_128 : rfal_isoDep.h
  • RFAL_ISODEP_FSXI_16 : rfal_isoDep.h
  • RFAL_ISODEP_FSXI_2048 : rfal_isoDep.h
  • RFAL_ISODEP_FSXI_24 : rfal_isoDep.h
  • RFAL_ISODEP_FSXI_256 : rfal_isoDep.h
  • RFAL_ISODEP_FSXI_32 : rfal_isoDep.h
  • RFAL_ISODEP_FSXI_40 : rfal_isoDep.h
  • RFAL_ISODEP_FSXI_4096 : rfal_isoDep.h
  • RFAL_ISODEP_FSXI_48 : rfal_isoDep.h
  • RFAL_ISODEP_FSXI_512 : rfal_isoDep.h
  • RFAL_ISODEP_FSXI_64 : rfal_isoDep.h
  • RFAL_ISODEP_FSXI_96 : rfal_isoDep.h
  • RFAL_ISODEP_FWI_DEFAULT : rfal_isoDep.h
  • RFAL_ISODEP_FWI_MASK : rfal_isoDep.h
  • RFAL_ISODEP_FWI_SHIFT : rfal_isoDep.h
  • RFAL_ISODEP_MAX_DSL_RETRYS : rfal_isoDep.h
  • RFAL_ISODEP_MAX_FWT : rfal_isoDep.h
  • RFAL_ISODEP_MAX_I_RETRYS : rfal_isoDep.h
  • RFAL_ISODEP_MAX_R_RETRYS : rfal_isoDep.h
  • RFAL_ISODEP_MAX_WTX_NACK_RETRYS : rfal_isoDep.h
  • RFAL_ISODEP_MAX_WTX_RETRYS : rfal_isoDep.h
  • RFAL_ISODEP_MAX_WTX_RETRYS_ULTD : rfal_isoDep.h
  • RFAL_ISODEP_NAD_LEN : rfal_isoDep.h
  • RFAL_ISODEP_NO_DID : rfal_isoDep.h
  • RFAL_ISODEP_NO_NAD : rfal_isoDep.h
  • RFAL_ISODEP_PCB_LEN : rfal_isoDep.h
  • RFAL_ISODEP_PROLOGUE_SIZE : rfal_isoDep.h
  • RFAL_ISODEP_RATS_RETRIES : rfal_isoDep.h
  • RFAL_ISODEP_SAME_BITRATE_MASK : rfal_isoDep.h
  • RFAL_ISODEP_SPARAM_TAG_BLOCKINFO : rfal_isoDep.h
  • RFAL_ISODEP_SPARAM_TAG_BRACK : rfal_isoDep.h
  • RFAL_ISODEP_SPARAM_TAG_BRACK_LEN : rfal_isoDep.h
  • RFAL_ISODEP_SPARAM_TAG_BRACT : rfal_isoDep.h
  • RFAL_ISODEP_SPARAM_TAG_BRIND : rfal_isoDep.h
  • RFAL_ISODEP_SPARAM_TAG_BRREQ : rfal_isoDep.h
  • RFAL_ISODEP_SPARAM_TAG_BRREQ_LEN : rfal_isoDep.h
  • RFAL_ISODEP_SPARAM_TAG_LEN : rfal_isoDep.h
  • RFAL_ISODEP_SPARAM_TAG_PCD2PICC_LEN : rfal_isoDep.h
  • RFAL_ISODEP_SPARAM_TAG_PICC2PCD_LEN : rfal_isoDep.h
  • RFAL_ISODEP_SPARAM_TAG_SEL_FRAME : rfal_isoDep.h
  • RFAL_ISODEP_SPARAM_TAG_SEL_PCD2PICC : rfal_isoDep.h
  • RFAL_ISODEP_SPARAM_TAG_SEL_PICC2PCD : rfal_isoDep.h
  • RFAL_ISODEP_SPARAM_TAG_SUP_FRAME : rfal_isoDep.h
  • RFAL_ISODEP_SPARAM_TAG_SUP_PCD2PICC : rfal_isoDep.h
  • RFAL_ISODEP_SPARAM_TAG_SUP_PICC2PCD : rfal_isoDep.h
  • RFAL_ISODEP_SPARAM_VALUES_MAX_LEN : rfal_isoDep.h
  • RFAL_LM_MASK_ACTIVE_P2P : rfal_rf.h
  • RFAL_LM_MASK_NFCA : rfal_rf.h
  • RFAL_LM_MASK_NFCB : rfal_rf.h
  • RFAL_LM_MASK_NFCF : rfal_rf.h
  • RFAL_LM_NFCID_LEN_04 : rfal_rf.h
  • RFAL_LM_NFCID_LEN_07 : rfal_rf.h
  • RFAL_LM_NFCID_LEN_10 : rfal_rf.h
  • RFAL_LM_SENS_RES_LEN : rfal_rf.h
  • RFAL_LM_SENSB_RES_LEN : rfal_rf.h
  • RFAL_LM_SENSF_RES_LEN : rfal_rf.h
  • RFAL_LM_SENSF_SC_LEN : rfal_rf.h
  • RFAL_LM_STATE_ACTIVE_A : rfal_rf.h
  • RFAL_LM_STATE_ACTIVE_Ax : rfal_rf.h
  • RFAL_LM_STATE_CARDEMU_3 : rfal_rf.h
  • RFAL_LM_STATE_CARDEMU_4A : rfal_rf.h
  • RFAL_LM_STATE_CARDEMU_4B : rfal_rf.h
  • RFAL_LM_STATE_IDLE : rfal_rf.h
  • RFAL_LM_STATE_NOT_INIT : rfal_rf.h
  • RFAL_LM_STATE_POWER_OFF : rfal_rf.h
  • RFAL_LM_STATE_READY_A : rfal_rf.h
  • RFAL_LM_STATE_READY_Ax : rfal_rf.h
  • RFAL_LM_STATE_READY_B : rfal_rf.h
  • RFAL_LM_STATE_READY_F : rfal_rf.h
  • RFAL_LM_STATE_SLEEP_A : rfal_rf.h
  • RFAL_LM_STATE_SLEEP_AF : rfal_rf.h
  • RFAL_LM_STATE_SLEEP_B : rfal_rf.h
  • RFAL_LM_STATE_TARGET_A : rfal_rf.h
  • RFAL_LM_STATE_TARGET_F : rfal_rf.h
  • RFAL_MODE_LISTEN_ACTIVE_P2P : rfal_rf.h
  • RFAL_MODE_LISTEN_NFCA : rfal_rf.h
  • RFAL_MODE_LISTEN_NFCB : rfal_rf.h
  • RFAL_MODE_LISTEN_NFCF : rfal_rf.h
  • RFAL_MODE_NONE : rfal_rf.h
  • RFAL_MODE_POLL_ACTIVE_P2P : rfal_rf.h
  • RFAL_MODE_POLL_B_CTS : rfal_rf.h
  • RFAL_MODE_POLL_B_PRIME : rfal_rf.h
  • RFAL_MODE_POLL_NFCA : rfal_rf.h
  • RFAL_MODE_POLL_NFCA_T1T : rfal_rf.h
  • RFAL_MODE_POLL_NFCB : rfal_rf.h
  • RFAL_MODE_POLL_NFCF : rfal_rf.h
  • RFAL_MODE_POLL_NFCV : rfal_rf.h
  • RFAL_MODE_POLL_PICOPASS : rfal_rf.h
  • RFAL_NFC_INTERFACE_ISODEP : rfal_nfc.h
  • RFAL_NFC_INTERFACE_NFCDEP : rfal_nfc.h
  • RFAL_NFC_INTERFACE_RF : rfal_nfc.h
  • RFAL_NFC_LISTEN_TECH_A : rfal_nfc.h
  • RFAL_NFC_LISTEN_TECH_AP2P : rfal_nfc.h
  • RFAL_NFC_LISTEN_TECH_B : rfal_nfc.h
  • RFAL_NFC_LISTEN_TECH_F : rfal_nfc.h
  • RFAL_NFC_LISTEN_TYPE_AP2P : rfal_nfc.h
  • RFAL_NFC_LISTEN_TYPE_NFCA : rfal_nfc.h
  • RFAL_NFC_LISTEN_TYPE_NFCB : rfal_nfc.h
  • RFAL_NFC_LISTEN_TYPE_NFCF : rfal_nfc.h
  • RFAL_NFC_LISTEN_TYPE_NFCV : rfal_nfc.h
  • RFAL_NFC_LISTEN_TYPE_ST25TB : rfal_nfc.h
  • RFAL_NFC_POLL_TECH_A : rfal_nfc.h
  • RFAL_NFC_POLL_TECH_AP2P : rfal_nfc.h
  • RFAL_NFC_POLL_TECH_B : rfal_nfc.h
  • RFAL_NFC_POLL_TECH_F : rfal_nfc.h
  • RFAL_NFC_POLL_TECH_ST25TB : rfal_nfc.h
  • RFAL_NFC_POLL_TECH_V : rfal_nfc.h
  • RFAL_NFC_POLL_TYPE_AP2P : rfal_nfc.h
  • RFAL_NFC_POLL_TYPE_NFCA : rfal_nfc.h
  • RFAL_NFC_POLL_TYPE_NFCB : rfal_nfc.h
  • RFAL_NFC_POLL_TYPE_NFCF : rfal_nfc.h
  • RFAL_NFC_POLL_TYPE_NFCV : rfal_nfc.h
  • RFAL_NFC_STATE_ACTIVATED : rfal_nfc.h
  • RFAL_NFC_STATE_DATAEXCHANGE : rfal_nfc.h
  • RFAL_NFC_STATE_DATAEXCHANGE_DONE : rfal_nfc.h
  • RFAL_NFC_STATE_DEACTIVATION : rfal_nfc.h
  • RFAL_NFC_STATE_IDLE : rfal_nfc.h
  • RFAL_NFC_STATE_LISTEN_ACTIVATION : rfal_nfc.h
  • RFAL_NFC_STATE_LISTEN_COLAVOIDANCE : rfal_nfc.h
  • RFAL_NFC_STATE_LISTEN_SLEEP : rfal_nfc.h
  • RFAL_NFC_STATE_LISTEN_TECHDETECT : rfal_nfc.h
  • RFAL_NFC_STATE_NOTINIT : rfal_nfc.h
  • RFAL_NFC_STATE_POLL_ACTIVATION : rfal_nfc.h
  • RFAL_NFC_STATE_POLL_COLAVOIDANCE : rfal_nfc.h
  • RFAL_NFC_STATE_POLL_SELECT : rfal_nfc.h
  • RFAL_NFC_STATE_POLL_TECHDETECT : rfal_nfc.h
  • RFAL_NFC_STATE_START_DISCOVERY : rfal_nfc.h
  • RFAL_NFC_STATE_WAKEUP_MODE : rfal_nfc.h
  • RFAL_NFC_TECH_NONE : rfal_nfc.h
  • RFAL_NFCA_CASCADE_1_UID_LEN : rfal_nfca.h
  • RFAL_NFCA_CASCADE_2_UID_LEN : rfal_nfca.h
  • RFAL_NFCA_CASCADE_3_UID_LEN : rfal_nfca.h
  • RFAL_NFCA_FDTMIN : rfal_nfca.h
  • RFAL_NFCA_SEL_RES_CONF_MASK : rfal_nfca.h
  • RFAL_NFCA_SEL_RES_CONF_NFCDEP : rfal_nfca.h
  • RFAL_NFCA_SEL_RES_CONF_T2T : rfal_nfca.h
  • RFAL_NFCA_SEL_RES_CONF_T4T : rfal_nfca.h
  • RFAL_NFCA_SEL_RES_CONF_T4T_NFCDEP : rfal_nfca.h
  • RFAL_NFCA_SENS_RES_PLATFORM_MASK : rfal_nfca.h
  • RFAL_NFCA_SENS_RES_PLATFORM_T1T : rfal_nfca.h
  • RFAL_NFCB_AFI : rfal_nfcb.h
  • RFAL_NFCB_CMD_LEN : rfal_nfcb.h
  • RFAL_NFCB_CRC_LEN : rfal_nfcb.h
  • RFAL_NFCB_DFWT : rfal_nfcb.h
  • RFAL_NFCB_DTPOLL_10 : rfal_nfcb.h
  • RFAL_NFCB_DTPOLL_20 : rfal_nfcb.h
  • RFAL_NFCB_FWTSENSB : rfal_nfcb.h
  • RFAL_NFCB_NFCID0_LEN : rfal_nfcb.h
  • RFAL_NFCB_PARAM : rfal_nfcb.h
  • RFAL_NFCB_SENS_CMD_ALLB_REQ : rfal_nfcb.h
  • RFAL_NFCB_SENS_CMD_SENSB_REQ : rfal_nfcb.h
  • RFAL_NFCB_SENSB_REQ_ADV_FEATURE : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_ADC_ADV_FEATURE_MASK : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_ADC_MASK : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_ADC_PROPRIETARY_MASK : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_EXT_LEN : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_FO_DID_MASK : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_FO_MASK : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_FO_NAD_MASK : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_FSCI_MASK : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_FSCI_SHIFT : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_FWI_MASK : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_FWI_SHIFT : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_LEN : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_PROTO_ISO_MASK : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_PROTO_RFU_MASK : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_PROTO_TR2_MASK : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_PROTO_TR2_SHIFT : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_SFGI_MASK : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_SFGI_SHIFT : rfal_nfcb.h
  • RFAL_NFCB_SLOT_NUM_1 : rfal_nfcb.h
  • RFAL_NFCB_SLOT_NUM_16 : rfal_nfcb.h
  • RFAL_NFCB_SLOT_NUM_2 : rfal_nfcb.h
  • RFAL_NFCB_SLOT_NUM_4 : rfal_nfcb.h
  • RFAL_NFCB_SLOT_NUM_8 : rfal_nfcb.h
  • RFAL_NFCDEP_ATR_REQ_NFCID3_POS : rfal_nfcDep.h
  • RFAL_NFCDEP_ATRREQ_MAX_LEN : rfal_nfcDep.h
  • RFAL_NFCDEP_ATRREQ_MIN_LEN : rfal_nfcDep.h
  • RFAL_NFCDEP_ATRRES_HEADER_LEN : rfal_nfcDep.h
  • RFAL_NFCDEP_ATRRES_MAX_LEN : rfal_nfcDep.h
  • RFAL_NFCDEP_ATRRES_MIN_LEN : rfal_nfcDep.h
  • RFAL_NFCDEP_BR_MASK_106 : rfal_nfcDep.h
  • RFAL_NFCDEP_BR_MASK_212 : rfal_nfcDep.h
  • RFAL_NFCDEP_BR_MASK_424 : rfal_nfcDep.h
  • RFAL_NFCDEP_BRS_DSI_POS : rfal_nfcDep.h
  • RFAL_NFCDEP_BRS_Dx_MASK : rfal_nfcDep.h
  • RFAL_NFCDEP_BRS_MAINTAIN : rfal_nfcDep.h
  • RFAL_NFCDEP_Bx_08_848 : rfal_nfcDep.h
  • RFAL_NFCDEP_Bx_16_1695 : rfal_nfcDep.h
  • RFAL_NFCDEP_Bx_32_3390 : rfal_nfcDep.h
  • RFAL_NFCDEP_Bx_64_6780 : rfal_nfcDep.h
  • RFAL_NFCDEP_Bx_NO_HIGH_BR : rfal_nfcDep.h
  • RFAL_NFCDEP_CMD_LEN : rfal_nfcDep.h
  • RFAL_NFCDEP_CMDTYPE_LEN : rfal_nfcDep.h
  • RFAL_NFCDEP_COMM_ACTIVE : rfal_nfcDep.h
  • RFAL_NFCDEP_COMM_PASSIVE : rfal_nfcDep.h
  • RFAL_NFCDEP_DEP_HEADER : rfal_nfcDep.h
  • RFAL_NFCDEP_DEP_PFB_LEN : rfal_nfcDep.h
  • RFAL_NFCDEP_DEPREQ_HEADER_LEN : rfal_nfcDep.h
  • RFAL_NFCDEP_DID_KEEP : rfal_nfcDep.h
  • RFAL_NFCDEP_DID_LEN : rfal_nfcDep.h
  • RFAL_NFCDEP_DID_MAX : rfal_nfcDep.h
  • RFAL_NFCDEP_DID_NO : rfal_nfcDep.h
  • RFAL_NFCDEP_DSL_RLS_LEN_DID : rfal_nfcDep.h
  • RFAL_NFCDEP_DSL_RLS_LEN_NO_DID : rfal_nfcDep.h
  • RFAL_NFCDEP_Dx_01_106 : rfal_nfcDep.h
  • RFAL_NFCDEP_Dx_02_212 : rfal_nfcDep.h
  • RFAL_NFCDEP_Dx_04_424 : rfal_nfcDep.h
  • RFAL_NFCDEP_Dx_08_848 : rfal_nfcDep.h
  • RFAL_NFCDEP_Dx_16_1695 : rfal_nfcDep.h
  • RFAL_NFCDEP_Dx_32_3390 : rfal_nfcDep.h
  • RFAL_NFCDEP_Dx_64_6780 : rfal_nfcDep.h
  • RFAL_NFCDEP_FRAME_SIZE_MAX_LEN : rfal_nfcDep.h
  • RFAL_NFCDEP_FS_VAL_MIN : rfal_nfcDep.h
  • RFAL_NFCDEP_GB_MAX_LEN : rfal_nfcDep.h
  • RFAL_NFCDEP_HEADER : rfal_nfcDep.h
  • RFAL_NFCDEP_LEN_LEN : rfal_nfcDep.h
  • RFAL_NFCDEP_LEN_MAX : rfal_nfcDep.h
  • RFAL_NFCDEP_LEN_MIN : rfal_nfcDep.h
  • RFAL_NFCDEP_LR_128 : rfal_nfcDep.h
  • RFAL_NFCDEP_LR_192 : rfal_nfcDep.h
  • RFAL_NFCDEP_LR_254 : rfal_nfcDep.h
  • RFAL_NFCDEP_LR_64 : rfal_nfcDep.h
  • RFAL_NFCDEP_LR_VAL_MASK : rfal_nfcDep.h
  • RFAL_NFCDEP_MAX_FWT : rfal_nfcDep.h
  • RFAL_NFCDEP_NAD_NO : rfal_nfcDep.h
  • RFAL_NFCDEP_NFCID3_LEN : rfal_nfcDep.h
  • RFAL_NFCDEP_OPER_ATN_DIS : rfal_nfcDep.h
  • RFAL_NFCDEP_OPER_ATN_EN : rfal_nfcDep.h
  • RFAL_NFCDEP_OPER_EMPTY_DEP_DIS : rfal_nfcDep.h
  • RFAL_NFCDEP_OPER_EMPTY_DEP_EN : rfal_nfcDep.h
  • RFAL_NFCDEP_OPER_FULL_MI_DIS : rfal_nfcDep.h
  • RFAL_NFCDEP_OPER_FULL_MI_EN : rfal_nfcDep.h
  • RFAL_NFCDEP_OPER_RTOX_REQ_DIS : rfal_nfcDep.h
  • RFAL_NFCDEP_OPER_RTOX_REQ_EN : rfal_nfcDep.h
  • RFAL_NFCDEP_PP_LR_MASK : rfal_nfcDep.h
  • RFAL_NFCDEP_PP_LR_SHIFT : rfal_nfcDep.h
  • RFAL_NFCDEP_ROLE_INITIATOR : rfal_nfcDep.h
  • RFAL_NFCDEP_ROLE_TARGET : rfal_nfcDep.h
  • RFAL_NFCDEP_RWT_INI_MAX : rfal_nfcDep.h
  • RFAL_NFCDEP_RWT_TRG_MAX : rfal_nfcDep.h
  • RFAL_NFCDEP_SB_LEN : rfal_nfcDep.h
  • RFAL_NFCDEP_WT_DELTA : rfal_nfcDep.h
  • RFAL_NFCDEP_WT_DELTA_ADJUST : rfal_nfcDep.h
  • RFAL_NFCDEP_WT_INI_DEFAULT : rfal_nfcDep.h
  • RFAL_NFCDEP_WT_INI_MAX : rfal_nfcDep.h
  • RFAL_NFCDEP_WT_INI_MIN : rfal_nfcDep.h
  • RFAL_NFCDEP_WT_MASK : rfal_nfcDep.h
  • RFAL_NFCDEP_WT_TRG_MAX : rfal_nfcDep.h
  • RFAL_NFCDEP_WT_TRG_MAX_D10 : rfal_nfcDep.h
  • RFAL_NFCDEP_WT_TRG_MAX_D11 : rfal_nfcDep.h
  • RFAL_NFCDEP_WT_TRG_MAX_L13 : rfal_nfcDep.h
  • RFAL_NFCF_BLOCK_LEN : rfal_nfcf.h
  • RFAL_NFCF_BLOCKLISTELEM_LEN : rfal_nfcf.h
  • RFAL_NFCF_CHECKUPDATE_RES_NOB_POS : rfal_nfcf.h
  • RFAL_NFCF_CHECKUPDATE_RES_ST1_POS : rfal_nfcf.h
  • RFAL_NFCF_CHECKUPDATE_RES_ST2_POS : rfal_nfcf.h
  • RFAL_NFCF_CMD_AUTHENTICATION1 : rfal_nfcf.h
  • RFAL_NFCF_CMD_AUTHENTICATION2 : rfal_nfcf.h
  • RFAL_NFCF_CMD_LEN : rfal_nfcf.h
  • RFAL_NFCF_CMD_POLLING : rfal_nfcf.h
  • RFAL_NFCF_CMD_POLLING_RES : rfal_nfcf.h
  • RFAL_NFCF_CMD_POS : rfal_nfcf.h
  • RFAL_NFCF_CMD_READ : rfal_nfcf.h
  • RFAL_NFCF_CMD_READ_WITHOUT_ENCRYPTION : rfal_nfcf.h
  • RFAL_NFCF_CMD_READ_WITHOUT_ENCRYPTION_RES : rfal_nfcf.h
  • RFAL_NFCF_CMD_REQUEST_RESPONSE : rfal_nfcf.h
  • RFAL_NFCF_CMD_REQUEST_SERVICE : rfal_nfcf.h
  • RFAL_NFCF_CMD_REQUEST_SYSTEM_CODE : rfal_nfcf.h
  • RFAL_NFCF_CMD_WRITE : rfal_nfcf.h
  • RFAL_NFCF_CMD_WRITE_WITHOUT_ENCRYPTION : rfal_nfcf.h
  • RFAL_NFCF_CMD_WRITE_WITHOUT_ENCRYPTION_RES : rfal_nfcf.h
  • RFAL_NFCF_HEADER_LEN : rfal_nfcf.h
  • RFAL_NFCF_LENGTH_LEN : rfal_nfcf.h
  • RFAL_NFCF_NFCID2_LEN : rfal_nfcf.h
  • RFAL_NFCF_POLL_MAXCARDS : rfal_nfcf.h
  • RFAL_NFCF_SENSF_NFCID2_BYTE1_NFCDEP : rfal_nfcf.h
  • RFAL_NFCF_SENSF_NFCID2_BYTE1_POS : rfal_nfcf.h
  • RFAL_NFCF_SENSF_NFCID2_BYTE2_NFCDEP : rfal_nfcf.h
  • RFAL_NFCF_SENSF_NFCID2_BYTE2_POS : rfal_nfcf.h
  • RFAL_NFCF_SENSF_NFCID2_PROT_TYPE_LEN : rfal_nfcf.h
  • RFAL_NFCF_SENSF_PARAMS_RC_POS : rfal_nfcf.h
  • RFAL_NFCF_SENSF_PARAMS_SC1_POS : rfal_nfcf.h
  • RFAL_NFCF_SENSF_PARAMS_SC2_POS : rfal_nfcf.h
  • RFAL_NFCF_SENSF_PARAMS_TSN_POS : rfal_nfcf.h
  • RFAL_NFCF_SENSF_RES_BYTE1 : rfal_nfcf.h
  • RFAL_NFCF_SENSF_RES_LEN_MAX : rfal_nfcf.h
  • RFAL_NFCF_SENSF_RES_LEN_MIN : rfal_nfcf.h
  • RFAL_NFCF_SENSF_RES_PAD0_LEN : rfal_nfcf.h
  • RFAL_NFCF_SENSF_RES_PAD1_LEN : rfal_nfcf.h
  • RFAL_NFCF_SENSF_RES_RD_LEN : rfal_nfcf.h
  • RFAL_NFCF_SENSF_SC_LEN : rfal_nfcf.h
  • RFAL_NFCF_SERVICECODE_RDONLY : rfal_nfcf.h
  • RFAL_NFCF_SERVICECODE_RDWR : rfal_nfcf.h
  • RFAL_NFCF_STATUS_FLAG_ERROR : rfal_nfcf.h
  • RFAL_NFCF_STATUS_FLAG_SUCCESS : rfal_nfcf.h
  • RFAL_NFCF_SYSTEMCODE : rfal_nfcf.h
  • RFAL_NFCID1_DOUBLE_LEN : rfal_rf.h
  • RFAL_NFCID1_SIMPLE_LEN : rfal_rf.h
  • RFAL_NFCID1_TRIPLE_LEN : rfal_rf.h
  • RFAL_NFCID2_LEN : rfal_rf.h
  • RFAL_NFCID3_LEN : rfal_rf.h
  • RFAL_NFCV_BLOCKNUM_EXTENDED_LEN : rfal_nfcv.h
  • RFAL_NFCV_BLOCKNUM_LEN : rfal_nfcv.h
  • RFAL_NFCV_BLOCKNUM_M24LR_LEN : rfal_st25xv.h
  • RFAL_NFCV_BNO_LEN : rfal_nfcv.h
  • RFAL_NFCV_CMD_ENABLE_EAS : rfal_nfcv.h
  • RFAL_NFCV_CMD_EXTENDED_GET_SYS_INFO : rfal_nfcv.h
  • RFAL_NFCV_CMD_EXTENDED_LOCK_SINGLE_BLOCK : rfal_nfcv.h
  • RFAL_NFCV_CMD_EXTENDED_READ_MULTIPLE_BLOCK : rfal_nfcv.h
  • RFAL_NFCV_CMD_EXTENDED_READ_SINGLE_BLOCK : rfal_nfcv.h
  • RFAL_NFCV_CMD_EXTENDED_WRITE_MULTIPLE_BLOCK : rfal_nfcv.h
  • RFAL_NFCV_CMD_EXTENDED_WRITE_SINGLE_BLOCK : rfal_nfcv.h
  • RFAL_NFCV_CMD_FAST_EXTENDED_READ_MULTIPLE_BLOCKS : rfal_nfcv.h
  • RFAL_NFCV_CMD_FAST_EXTENDED_READ_SINGLE_BLOCK : rfal_nfcv.h
  • RFAL_NFCV_CMD_FAST_READ_DYN_CONFIGURATION : rfal_nfcv.h
  • RFAL_NFCV_CMD_FAST_READ_MESSAGE : rfal_nfcv.h
  • RFAL_NFCV_CMD_FAST_READ_MESSAGE_LENGTH : rfal_nfcv.h
  • RFAL_NFCV_CMD_FAST_READ_MULTIPLE_BLOCKS : rfal_nfcv.h
  • RFAL_NFCV_CMD_FAST_READ_SINGLE_BLOCK : rfal_nfcv.h
  • RFAL_NFCV_CMD_FAST_WRITE_DYN_CONFIGURATION : rfal_nfcv.h
  • RFAL_NFCV_CMD_FAST_WRITE_MESSAGE : rfal_nfcv.h
  • RFAL_NFCV_CMD_GET_RANDOM_NUMBER : rfal_nfcv.h
  • RFAL_NFCV_CMD_GET_SYS_INFO : rfal_nfcv.h
  • RFAL_NFCV_CMD_INVENTORY : rfal_nfcv.h
  • RFAL_NFCV_CMD_KILL : rfal_nfcv.h
  • RFAL_NFCV_CMD_LOCK_BLOCK : rfal_nfcv.h
  • RFAL_NFCV_CMD_LOCK_EAS : rfal_nfcv.h
  • RFAL_NFCV_CMD_LOCK_KILL : rfal_nfcv.h
  • RFAL_NFCV_CMD_MANAGE_GPO : rfal_nfcv.h
  • RFAL_NFCV_CMD_PRESENT_PASSWORD : rfal_nfcv.h
  • RFAL_NFCV_CMD_READ_CONFIGURATION : rfal_nfcv.h
  • RFAL_NFCV_CMD_READ_DYN_CONFIGURATION : rfal_nfcv.h
  • RFAL_NFCV_CMD_READ_MESSAGE : rfal_nfcv.h
  • RFAL_NFCV_CMD_READ_MESSAGE_LENGTH : rfal_nfcv.h
  • RFAL_NFCV_CMD_READ_MULTIPLE_BLOCKS : rfal_nfcv.h
  • RFAL_NFCV_CMD_READ_SINGLE_BLOCK : rfal_nfcv.h
  • RFAL_NFCV_CMD_RESET_EAS : rfal_nfcv.h
  • RFAL_NFCV_CMD_RESET_TO_READY : rfal_nfcv.h
  • RFAL_NFCV_CMD_SELECT : rfal_nfcv.h
  • RFAL_NFCV_CMD_SET_EAS : rfal_nfcv.h
  • RFAL_NFCV_CMD_SLPV : rfal_nfcv.h
  • RFAL_NFCV_CMD_WRITE_CONFIGURATION : rfal_nfcv.h
  • RFAL_NFCV_CMD_WRITE_DYN_CONFIGURATION : rfal_nfcv.h
  • RFAL_NFCV_CMD_WRITE_EAS_CONFIG : rfal_nfcv.h
  • RFAL_NFCV_CMD_WRITE_EAS_ID : rfal_nfcv.h
  • RFAL_NFCV_CMD_WRITE_MESSAGE : rfal_nfcv.h
  • RFAL_NFCV_CMD_WRITE_MULTIPLE_BLOCKS : rfal_nfcv.h
  • RFAL_NFCV_CMD_WRITE_PASSWORD : rfal_nfcv.h
  • RFAL_NFCV_CMD_WRITE_SINGLE_BLOCK : rfal_nfcv.h
  • RFAL_NFCV_CRC_LEN : rfal_nfcv.h
  • RFAL_NFCV_ERROR_BLOCK_ALREDY_LOCKED : rfal_nfcv.h
  • RFAL_NFCV_ERROR_BLOCK_FAILED : rfal_nfcv.h
  • RFAL_NFCV_ERROR_BLOCK_LOCKED : rfal_nfcv.h
  • RFAL_NFCV_ERROR_BLOCK_NOT_AVALIABLE : rfal_nfcv.h
  • RFAL_NFCV_ERROR_CMD_NOT_RECOGNIZED : rfal_nfcv.h
  • RFAL_NFCV_ERROR_CMD_NOT_SUPPORTED : rfal_nfcv.h
  • RFAL_NFCV_ERROR_OPTION_NOT_SUPPORTED : rfal_nfcv.h
  • RFAL_NFCV_ERROR_UNKNOWN : rfal_nfcv.h
  • RFAL_NFCV_ERROR_WRITE_FAILED : rfal_nfcv.h
  • RFAL_NFCV_MAX_BLOCK_LEN : rfal_nfcv.h
  • RFAL_NFCV_MAX_GEN_DATA_LEN : rfal_nfcv.h
  • RFAL_NFCV_NUM_SLOTS_1 : rfal_nfcv.h
  • RFAL_NFCV_NUM_SLOTS_16 : rfal_nfcv.h
  • RFAL_NFCV_PARAM_SKIP : rfal_nfcv.h
  • RFAL_NFCV_REQ_FLAG_ADDRESS : rfal_nfcv.h
  • RFAL_NFCV_REQ_FLAG_AFI : rfal_nfcv.h
  • RFAL_NFCV_REQ_FLAG_DATA_RATE : rfal_nfcv.h
  • RFAL_NFCV_REQ_FLAG_DEFAULT : rfal_nfcv.h
  • RFAL_NFCV_REQ_FLAG_INVENTORY : rfal_nfcv.h
  • RFAL_NFCV_REQ_FLAG_NB_SLOTS : rfal_nfcv.h
  • RFAL_NFCV_REQ_FLAG_OPTION : rfal_nfcv.h
  • RFAL_NFCV_REQ_FLAG_PROTOCOL_EXT : rfal_nfcv.h
  • RFAL_NFCV_REQ_FLAG_RFU : rfal_nfcv.h
  • RFAL_NFCV_REQ_FLAG_SELECT : rfal_nfcv.h
  • RFAL_NFCV_REQ_FLAG_SUB_CARRIER : rfal_nfcv.h
  • RFAL_NFCV_RES_FLAG_ERROR : rfal_nfcv.h
  • RFAL_NFCV_RES_FLAG_EXTENSION : rfal_nfcv.h
  • RFAL_NFCV_RES_FLAG_RFU1 : rfal_nfcv.h
  • RFAL_NFCV_RES_FLAG_RFU2 : rfal_nfcv.h
  • RFAL_NFCV_RES_FLAG_RFU3 : rfal_nfcv.h
  • RFAL_NFCV_RES_FLAG_RFU4 : rfal_nfcv.h
  • RFAL_NFCV_RES_FLAG_RFU5 : rfal_nfcv.h
  • RFAL_NFCV_RES_FLAG_RFU6 : rfal_nfcv.h
  • RFAL_NFCV_ST_IC_MFG_CODE : rfal_st25xv.h
  • RFAL_NFCV_SYSINFO_AFI : rfal_nfcv.h
  • RFAL_NFCV_SYSINFO_CMDLIST : rfal_nfcv.h
  • RFAL_NFCV_SYSINFO_CSI : rfal_nfcv.h
  • RFAL_NFCV_SYSINFO_DFSID : rfal_nfcv.h
  • RFAL_NFCV_SYSINFO_ICREF : rfal_nfcv.h
  • RFAL_NFCV_SYSINFO_MEMSIZE : rfal_nfcv.h
  • RFAL_NFCV_SYSINFO_MOI : rfal_nfcv.h
  • RFAL_NFCV_SYSINFO_REQ_ALL : rfal_nfcv.h
  • RFAL_NFCV_UID_LEN : rfal_nfcv.h
  • RFAL_ST25TB_BLOCK_LEN : rfal_st25tb.h
  • RFAL_ST25TB_CHIP_ID_LEN : rfal_st25tb.h
  • RFAL_ST25TB_CRC_LEN : rfal_st25tb.h
  • RFAL_ST25TB_UID_LEN : rfal_st25tb.h
  • RFAL_SUPPORT_AP2P : st25r3911/rfal_features.h , st25r3916/rfal_features.h , st25r95/rfal_features.h
  • RFAL_SUPPORT_BR_AP2P_106 : st25r3911/rfal_features.h , st25r3916/rfal_features.h , st25r95/rfal_features.h
  • RFAL_SUPPORT_BR_AP2P_1695 : st25r3911/rfal_features.h , st25r95/rfal_features.h
  • RFAL_SUPPORT_BR_AP2P_212 : st25r3911/rfal_features.h , st25r95/rfal_features.h , st25r3916/rfal_features.h
  • RFAL_SUPPORT_BR_AP2P_3390 : st25r3911/rfal_features.h , st25r95/rfal_features.h
  • RFAL_SUPPORT_BR_AP2P_424 : st25r3916/rfal_features.h , st25r95/rfal_features.h , st25r3911/rfal_features.h
  • RFAL_SUPPORT_BR_AP2P_6780 : st25r3911/rfal_features.h , st25r95/rfal_features.h
  • RFAL_SUPPORT_BR_AP2P_848 : st25r3911/rfal_features.h , st25r3916/rfal_features.h , st25r95/rfal_features.h
  • RFAL_SUPPORT_BR_CE_A_106 : st25r3916/rfal_features.h , st25r95/rfal_features.h , st25r3911/rfal_features.h
  • RFAL_SUPPORT_BR_CE_A_212 : st25r3911/rfal_features.h , st25r95/rfal_features.h , st25r3916/rfal_features.h
  • RFAL_SUPPORT_BR_CE_A_424 : st25r3911/rfal_features.h , st25r3916/rfal_features.h , st25r95/rfal_features.h
  • RFAL_SUPPORT_BR_CE_A_848 : st25r3911/rfal_features.h , st25r3916/rfal_features.h , st25r95/rfal_features.h
  • RFAL_SUPPORT_BR_CE_B_106 : st25r3911/rfal_features.h , st25r3916/rfal_features.h , st25r95/rfal_features.h
  • RFAL_SUPPORT_BR_CE_B_212 : st25r3911/rfal_features.h , st25r95/rfal_features.h , st25r3916/rfal_features.h
  • RFAL_SUPPORT_BR_CE_B_424 : st25r3911/rfal_features.h , st25r3916/rfal_features.h , st25r95/rfal_features.h
  • RFAL_SUPPORT_BR_CE_B_848 : st25r3911/rfal_features.h , st25r3916/rfal_features.h , st25r95/rfal_features.h
  • RFAL_SUPPORT_BR_CE_F_212 : st25r3916/rfal_features.h , st25r95/rfal_features.h , st25r3911/rfal_features.h
  • RFAL_SUPPORT_BR_CE_F_424 : st25r3911/rfal_features.h , st25r3916/rfal_features.h , st25r95/rfal_features.h
  • RFAL_SUPPORT_BR_RW_106 : st25r3911/rfal_features.h , st25r3916/rfal_features.h , st25r95/rfal_features.h
  • RFAL_SUPPORT_BR_RW_13560 : st25r3911/rfal_features.h , st25r3916/rfal_features.h
  • RFAL_SUPPORT_BR_RW_1695 : st25r3911/rfal_features.h , st25r95/rfal_features.h , st25r3916/rfal_features.h
  • RFAL_SUPPORT_BR_RW_212 : st25r3911/rfal_features.h , st25r3916/rfal_features.h , st25r95/rfal_features.h
  • RFAL_SUPPORT_BR_RW_3390 : st25r3911/rfal_features.h , st25r3916/rfal_features.h , st25r95/rfal_features.h
  • RFAL_SUPPORT_BR_RW_424 : st25r3911/rfal_features.h , st25r3916/rfal_features.h , st25r95/rfal_features.h
  • RFAL_SUPPORT_BR_RW_6780 : st25r3911/rfal_features.h , st25r95/rfal_features.h , st25r3916/rfal_features.h
  • RFAL_SUPPORT_BR_RW_848 : st25r3911/rfal_features.h , st25r3916/rfal_features.h , st25r95/rfal_features.h
  • RFAL_SUPPORT_CE : st25r3911/rfal_features.h , st25r3916/rfal_features.h , st25r95/rfal_features.h
  • RFAL_SUPPORT_MODE_LISTEN_ACTIVE_P2P : st25r3916/rfal_features.h , st25r95/rfal_features.h , st25r3911/rfal_features.h
  • RFAL_SUPPORT_MODE_LISTEN_NFCA : st25r3911/rfal_features.h , st25r3916/rfal_features.h , st25r95/rfal_features.h
  • RFAL_SUPPORT_MODE_LISTEN_NFCB : st25r3911/rfal_features.h , st25r3916/rfal_features.h , st25r95/rfal_features.h
  • RFAL_SUPPORT_MODE_LISTEN_NFCF : st25r3911/rfal_features.h , st25r3916/rfal_features.h , st25r95/rfal_features.h
  • RFAL_SUPPORT_MODE_POLL_ACTIVE_P2P : st25r3916/rfal_features.h , st25r95/rfal_features.h , st25r3911/rfal_features.h
  • RFAL_SUPPORT_MODE_POLL_NFCA : st25r3911/rfal_features.h , st25r95/rfal_features.h , st25r3916/rfal_features.h
  • RFAL_SUPPORT_MODE_POLL_NFCB : st25r3911/rfal_features.h , st25r3916/rfal_features.h , st25r95/rfal_features.h
  • RFAL_SUPPORT_MODE_POLL_NFCF : st25r3911/rfal_features.h , st25r3916/rfal_features.h , st25r95/rfal_features.h
  • RFAL_SUPPORT_MODE_POLL_NFCV : st25r3916/rfal_features.h , st25r95/rfal_features.h , st25r3911/rfal_features.h
  • RFAL_SUPPORT_RW : st25r3911/rfal_features.h , st25r95/rfal_features.h , st25r3916/rfal_features.h
  • RFAL_T1T_CMD_RALL : rfal_t1t.h
  • RFAL_T1T_CMD_READ : rfal_t1t.h
  • RFAL_T1T_CMD_RID : rfal_t1t.h
  • RFAL_T1T_CMD_WRITE_E : rfal_t1t.h
  • RFAL_T1T_CMD_WRITE_NE : rfal_t1t.h
  • RFAL_T1T_HR0_NDEF_MASK : rfal_t1t.h
  • RFAL_T1T_HR0_NDEF_SUPPORT : rfal_t1t.h
  • RFAL_T1T_HR_LENGTH : rfal_t1t.h
  • RFAL_T1T_UID_LEN : rfal_t1t.h
  • RFAL_T2T_BLOCK_LEN : rfal_t2t.h
  • RFAL_T2T_READ_DATA_LEN : rfal_t2t.h
  • RFAL_T2T_WRITE_DATA_LEN : rfal_t2t.h
  • RFAL_T4T_CLA : rfal_t4t.h
  • RFAL_T4T_INS_READBINARY : rfal_t4t.h
  • RFAL_T4T_INS_READBINARY_ODO : rfal_t4t.h
  • RFAL_T4T_INS_SELECT : rfal_t4t.h
  • RFAL_T4T_INS_UPDATEBINARY : rfal_t4t.h
  • RFAL_T4T_INS_UPDATEBINARY_ODO : rfal_t4t.h
  • RFAL_T4T_ISO7816_P1_SELECT_BY_DF_NAME : rfal_t4t.h
  • RFAL_T4T_ISO7816_P1_SELECT_BY_FILEID : rfal_t4t.h
  • RFAL_T4T_ISO7816_P2_SELECT_FIRST_OR_ONLY_OCCURENCE : rfal_t4t.h
  • RFAL_T4T_ISO7816_P2_SELECT_NO_RESPONSE_DATA : rfal_t4t.h
  • RFAL_T4T_ISO7816_P2_SELECT_RETURN_FCI_TEMPLATE : rfal_t4t.h
  • RFAL_T4T_ISO7816_STATUS_COMPLETE : rfal_t4t.h
  • RFAL_T4T_LC_LEN : rfal_t4t.h
  • RFAL_T4T_LE_LEN : rfal_t4t.h
  • RFAL_T4T_MAX_CAPDU_PROLOGUE_LEN : rfal_t4t.h
  • RFAL_T4T_MAX_RAPDU_SW1SW2_LEN : rfal_t4t.h
  • RFAL_TIMING_NONE : rfal_rf.h
  • RFAL_TXRX_FLAGS_AGC_OFF : rfal_rf.h
  • RFAL_TXRX_FLAGS_AGC_ON : rfal_rf.h
  • RFAL_TXRX_FLAGS_CRC_RX_KEEP : rfal_rf.h
  • RFAL_TXRX_FLAGS_CRC_RX_REMV : rfal_rf.h
  • RFAL_TXRX_FLAGS_CRC_TX_AUTO : rfal_rf.h
  • RFAL_TXRX_FLAGS_CRC_TX_MANUAL : rfal_rf.h
  • RFAL_TXRX_FLAGS_DEFAULT : rfal_rf.h
  • RFAL_TXRX_FLAGS_NFCIP1_OFF : rfal_rf.h
  • RFAL_TXRX_FLAGS_NFCIP1_ON : rfal_rf.h
  • RFAL_TXRX_FLAGS_NFCV_FLAG_AUTO : rfal_rf.h
  • RFAL_TXRX_FLAGS_NFCV_FLAG_MANUAL : rfal_rf.h
  • RFAL_TXRX_FLAGS_PAR_RX_KEEP : rfal_rf.h
  • RFAL_TXRX_FLAGS_PAR_RX_REMV : rfal_rf.h
  • RFAL_TXRX_FLAGS_PAR_TX_AUTO : rfal_rf.h
  • RFAL_TXRX_FLAGS_PAR_TX_NONE : rfal_rf.h
  • RFAL_US_IN_MS : rfal_rf.h
  • RFAL_VERSION : rfal_rf.h
  • RFAL_WUM_AA_WEIGHT_16 : rfal_rf.h
  • RFAL_WUM_AA_WEIGHT_32 : rfal_rf.h
  • RFAL_WUM_AA_WEIGHT_4 : rfal_rf.h
  • RFAL_WUM_AA_WEIGHT_8 : rfal_rf.h
  • RFAL_WUM_PERIOD_100MS : rfal_rf.h
  • RFAL_WUM_PERIOD_10MS : rfal_rf.h
  • RFAL_WUM_PERIOD_200MS : rfal_rf.h
  • RFAL_WUM_PERIOD_20MS : rfal_rf.h
  • RFAL_WUM_PERIOD_300MS : rfal_rf.h
  • RFAL_WUM_PERIOD_30MS : rfal_rf.h
  • RFAL_WUM_PERIOD_400MS : rfal_rf.h
  • RFAL_WUM_PERIOD_40MS : rfal_rf.h
  • RFAL_WUM_PERIOD_500MS : rfal_rf.h
  • RFAL_WUM_PERIOD_50MS : rfal_rf.h
  • RFAL_WUM_PERIOD_600MS : rfal_rf.h
  • RFAL_WUM_PERIOD_60MS : rfal_rf.h
  • RFAL_WUM_PERIOD_700MS : rfal_rf.h
  • RFAL_WUM_PERIOD_70MS : rfal_rf.h
  • RFAL_WUM_PERIOD_800MS : rfal_rf.h
  • RFAL_WUM_PERIOD_80MS : rfal_rf.h
  • RFAL_WUM_REFERENCE_AUTO : rfal_rf.h
  • RFAL_WUM_STATE_ENABLED : rfal_rf.h
  • RFAL_WUM_STATE_ENABLED_WOKE : rfal_rf.h
  • RFAL_WUM_STATE_NOT_INIT : rfal_rf.h
  • rfalAdjustRegulators() : rfal_rf.h
  • rfalAnalogConfigBitrate : rfal_analogConfig.h
  • rfalAnalogConfigDirection : rfal_analogConfig.h
  • rfalAnalogConfigGenModeID() : rfal_analogConfig.h
  • rfalAnalogConfigId : rfal_analogConfig.h
  • rfalAnalogConfigInitialize() : rfal_analogConfig.h
  • rfalAnalogConfigIsReady() : rfal_analogConfig.h
  • rfalAnalogConfigListRead() : rfal_analogConfig.h
  • rfalAnalogConfigListReadRaw() : rfal_analogConfig.h
  • rfalAnalogConfigListWrite() : rfal_analogConfig.h
  • rfalAnalogConfigListWriteRaw() : rfal_analogConfig.h
  • rfalAnalogConfigMode : rfal_analogConfig.h
  • rfalAnalogConfigNum : rfal_analogConfig.h
  • rfalAnalogConfigOffset : rfal_analogConfig.h
  • rfalAnalogConfigRegAddr : rfal_analogConfig.h
  • rfalAnalogConfigRegMask : rfal_analogConfig.h
  • rfalAnalogConfigRegVal : rfal_analogConfig.h
  • rfalAnalogConfigTech : rfal_analogConfig.h
  • rfalBitRate : rfal_rf.h
  • rfalCalibrate() : rfal_rf.h
  • rfalChipChangeRegBits() : rfal_chip.h
  • rfalChipChangeTestRegBits() : rfal_chip.h
  • rfalChipExecCmd() : rfal_chip.h
  • rfalChipGetRFO() : rfal_chip.h
  • rfalChipMeasureAmplitude() : rfal_chip.h
  • rfalChipMeasureCapacitance() : rfal_chip.h
  • rfalChipMeasurePhase() : rfal_chip.h
  • rfalChipMeasurePowerSupply() : rfal_chip.h
  • rfalChipReadReg() : rfal_chip.h
  • rfalChipReadTestReg() : rfal_chip.h
  • rfalChipSetRFO() : rfal_chip.h
  • rfalChipWriteReg() : rfal_chip.h
  • rfalChipWriteTestReg() : rfal_chip.h
  • rfalComplianceMode : rfal_rf.h
  • rfalConv1fcTo4096fc : rfal_rf.h
  • rfalConv1fcTo512fc : rfal_rf.h
  • rfalConv1fcTo64fc : rfal_rf.h
  • rfalConv1fcTo8fc : rfal_rf.h
  • rfalConv1fcToMs : rfal_rf.h
  • rfalConv1fcToUs : rfal_rf.h
  • rfalConv4096fcTo1fc : rfal_rf.h
  • rfalConv512fcTo1fc : rfal_rf.h
  • rfalConv64fcTo1fc : rfal_rf.h
  • rfalConv64fcToMs : rfal_rf.h
  • rfalConv8fcTo1fc : rfal_rf.h
  • rfalConvBitsToBytes : rfal_rf.h
  • rfalConvBytesToBits : rfal_rf.h
  • rfalConvMsTo1fc : rfal_rf.h
  • rfalConvMsTo64fc : rfal_rf.h
  • rfalConvUsTo1fc : rfal_rf.h
  • rfalCrcCalculateCcitt() : rfal_crc.h
  • rfalCreateByteFlagsTxRxContext : rfal_rf.h
  • rfalCreateByteTxRxContext : rfal_rf.h
  • rfalDeinitialize() : rfal_rf.h
  • rfalDisableObsvMode() : rfal_rf.h
  • rfalDpoAdjust() : rfal_dpo.h
  • rfalDpoDefaultSettings : st25r3916/rfal_dpoTbl.h
  • rfalDpoGetCurrentTableEntry() : rfal_dpo.h
  • rfalDpoInitialize() : rfal_dpo.h
  • rfalDpoIsEnabled() : rfal_dpo.h
  • rfalDpoMeasureFunc : rfal_dpo.h
  • rfalDpoSetEnabled() : rfal_dpo.h
  • rfalDpoSetMeasureCallback() : rfal_dpo.h
  • rfalDpoTableRead() : rfal_dpo.h
  • rfalDpoTableWrite() : rfal_dpo.h
  • rfalEHandling : rfal_rf.h
  • rfalFeliCaPoll() : rfal_rf.h
  • rfalFeliCaPollRes : rfal_rf.h
  • rfalFeliCaPollSlots : rfal_rf.h
  • rfalFieldOff() : rfal_rf.h
  • rfalFieldOnAndStartGT() : rfal_rf.h
  • rfalGetBitRate() : rfal_rf.h
  • rfalGetErrorHandling() : rfal_rf.h
  • rfalGetFDTListen() : rfal_rf.h
  • rfalGetFDTPoll() : rfal_rf.h
  • rfalGetGT() : rfal_rf.h
  • rfalGetMaxBrAP2P : rfal_rf.h
  • rfalGetMaxBrCEA : rfal_rf.h
  • rfalGetMaxBrCEB : rfal_rf.h
  • rfalGetMaxBrCEF : rfal_rf.h
  • rfalGetMaxBrRW : rfal_rf.h
  • rfalGetMode() : rfal_rf.h
  • rfalGetObsvMode() : rfal_rf.h
  • rfalGetTransceiveRSSI() : rfal_rf.h
  • rfalGetTransceiveState() : rfal_rf.h
  • rfalGetTransceiveStatus() : rfal_rf.h
  • rfalInitialize() : rfal_rf.h
  • rfalIsExtFieldOn() : rfal_rf.h
  • rfalIsGTExpired() : rfal_rf.h
  • rfalIsModeActiveComm : rfal_rf.h
  • rfalIsModePassiveComm : rfal_rf.h
  • rfalIsModePassiveListen : rfal_rf.h
  • rfalIsModePassivePoll : rfal_rf.h
  • rfalISO14443ATransceiveAnticollisionFrame() : rfal_rf.h
  • rfalISO14443ATransceiveShortFrame() : rfal_rf.h
  • rfalISO15693TransceiveAnticollisionFrame() : rfal_rf.h
  • rfalISO15693TransceiveEOF() : rfal_rf.h
  • rfalISO15693TransceiveEOFAnticollision() : rfal_rf.h
  • rfalIsoDepATTRIB() : rfal_isoDep.h
  • rfalIsoDepDeselect() : rfal_isoDep.h
  • rfalIsoDepFSx : rfal_isoDep.h
  • rfalIsoDepFSxI : rfal_isoDep.h
  • rfalIsoDepFSxI2FSx() : rfal_isoDep.h
  • rfalIsoDepFWI2FWT() : rfal_isoDep.h
  • rfalIsoDepGetApduTransceiveStatus() : rfal_isoDep.h
  • rfalIsoDepGetMaxInfLen() : rfal_isoDep.h
  • rfalIsoDepGetTransceiveStatus() : rfal_isoDep.h
  • rfalIsoDepInitialize() : rfal_isoDep.h
  • rfalIsoDepInitializeWithParams() : rfal_isoDep.h
  • rfalIsoDepIsAttrib() : rfal_isoDep.h
  • rfalIsoDepIsRats() : rfal_isoDep.h
  • rfalIsoDepListenGetActivationStatus() : rfal_isoDep.h
  • rfalIsoDepListenStartActivation() : rfal_isoDep.h
  • rfalIsoDepPollAGetActivationStatus() : rfal_isoDep.h
  • rfalIsoDepPollAHandleActivation() : rfal_isoDep.h
  • rfalIsoDepPollAStartActivation() : rfal_isoDep.h
  • rfalIsoDepPollBGetActivationStatus() : rfal_isoDep.h
  • rfalIsoDepPollBHandleActivation() : rfal_isoDep.h
  • rfalIsoDepPollBStartActivation() : rfal_isoDep.h
  • rfalIsoDepPollHandleSParameters() : rfal_isoDep.h
  • rfalIsoDepPPS() : rfal_isoDep.h
  • rfalIsoDepRATS() : rfal_isoDep.h
  • rfalIsoDepStartApduTransceive() : rfal_isoDep.h
  • rfalIsoDepStartTransceive() : rfal_isoDep.h
  • rfalIsTransceiveInRx() : rfal_rf.h
  • rfalIsTransceiveInTx() : rfal_rf.h
  • rfalListenGetState() : rfal_rf.h
  • rfalListenSetState() : rfal_rf.h
  • rfalListenSleepStart() : rfal_rf.h
  • rfalListenStart() : rfal_rf.h
  • rfalListenStop() : rfal_rf.h
  • rfalLmNfcidLen : rfal_rf.h
  • rfalLmState : rfal_rf.h
  • rfalLogD : rfal_rf.h
  • rfalLogE : rfal_rf.h
  • rfalLogI : rfal_rf.h
  • rfalLogW : rfal_rf.h
  • rfalLowPowerModeStart() : rfal_rf.h
  • rfalLowPowerModeStop() : rfal_rf.h
  • rfalMode : rfal_rf.h
  • rfalNfcaIsSelResNFCDEP : rfal_nfca.h
  • rfalNfcaIsSelResT2T : rfal_nfca.h
  • rfalNfcaIsSelResT4T : rfal_nfca.h
  • rfalNfcaIsSelResT4TNFCDEP : rfal_nfca.h
  • rfalNfcaIsSensResT1T : rfal_nfca.h
  • rfalNfcaLisDevIsMultiProto : rfal_nfca.h
  • rfalNfcaListenDeviceType : rfal_nfca.h
  • rfalNfcaListenerIsSleepReq() : rfal_nfca.h
  • rfalNfcaPollerCheckPresence() : rfal_nfca.h
  • rfalNfcaPollerFullCollisionResolution() : rfal_nfca.h
  • rfalNfcaPollerGetFullCollisionResolutionStatus() : rfal_nfca.h
  • rfalNfcaPollerInitialize() : rfal_nfca.h
  • rfalNfcaPollerSelect() : rfal_nfca.h
  • rfalNfcaPollerSingleCollisionResolution() : rfal_nfca.h
  • rfalNfcaPollerSleep() : rfal_nfca.h
  • rfalNfcaPollerSleepFullCollisionResolution() : rfal_nfca.h
  • rfalNfcaPollerStartFullCollisionResolution() : rfal_nfca.h
  • rfalNfcaPollerTechnologyDetection() : rfal_nfca.h
  • rfalNfcbGetFSCI : rfal_nfcb.h
  • rfalNfcbIsIsoDepSupported : rfal_nfcb.h
  • rfalNfcbPollerCheckPresence() : rfal_nfcb.h
  • rfalNfcbPollerCollisionResolution() : rfal_nfcb.h
  • rfalNfcbPollerInitialize() : rfal_nfcb.h
  • rfalNfcbPollerInitializeWithParams() : rfal_nfcb.h
  • rfalNfcbPollerSleep() : rfal_nfcb.h
  • rfalNfcbPollerSlotMarker() : rfal_nfcb.h
  • rfalNfcbPollerSlottedCollisionResolution() : rfal_nfcb.h
  • rfalNfcbPollerTechnologyDetection() : rfal_nfcb.h
  • rfalNfcbSensCmd : rfal_nfcb.h
  • rfalNfcbSlots : rfal_nfcb.h
  • rfalNfcbTR2ToFDT() : rfal_nfcb.h
  • rfalNfcDataExchangeGetStatus() : rfal_nfc.h
  • rfalNfcDataExchangeStart() : rfal_nfc.h
  • rfalNfcDeactivate() : rfal_nfc.h
  • rfalNfcDepATR() : rfal_nfcDep.h
  • rfalNfcDepBRS2DRI : rfal_nfcDep.h
  • rfalNfcDepBRS2DSI : rfal_nfcDep.h
  • rfalNfcDepCalculateRWT() : rfal_nfcDep.h
  • rfalNfcDepCommMode : rfal_nfcDep.h
  • rfalNfcDepDeactCallback : rfal_nfcDep.h
  • rfalNfcDepDSL() : rfal_nfcDep.h
  • rfalNfcDepDx2BRS : rfal_nfcDep.h
  • rfalNfcDepGetPduTransceiveStatus() : rfal_nfcDep.h
  • rfalNfcDepGetTransceiveStatus() : rfal_nfcDep.h
  • rfalNfcDepInitialize() : rfal_nfcDep.h
  • rfalNfcDepInitiatorHandleActivation() : rfal_nfcDep.h
  • rfalNfcDepIsAtrReq() : rfal_nfcDep.h
  • rfalNfcDepListenGetActivationStatus() : rfal_nfcDep.h
  • rfalNfcDepListenStartActivation() : rfal_nfcDep.h
  • rfalNfcDepLR2FS : rfal_nfcDep.h
  • rfalNfcDepLR2PP : rfal_nfcDep.h
  • rfalNfcDepPP2LR : rfal_nfcDep.h
  • rfalNfcDepPSL() : rfal_nfcDep.h
  • rfalNfcDepRLS() : rfal_nfcDep.h
  • rfalNfcDepRole : rfal_nfcDep.h
  • rfalNfcDepSetDeactivatingCallback() : rfal_nfcDep.h
  • rfalNfcDepSetNFCID : rfal_nfcDep.h
  • rfalNfcDepStartPduTransceive() : rfal_nfcDep.h
  • rfalNfcDepStartTransceive() : rfal_nfcDep.h
  • rfalNfcDepTargetRcvdATR() : rfal_nfcDep.h
  • rfalNfcDepWT2RWT : rfal_nfcDep.h
  • rfalNfcDevType : rfal_nfc.h
  • rfalNfcDiscover() : rfal_nfc.h
  • rfalNfcfIsNfcDepSupported : rfal_nfcf.h
  • rfalNfcfListenerIsT3TReq() : rfal_nfcf.h
  • rfalNfcfPollerCheck() : rfal_nfcf.h
  • rfalNfcfPollerCheckPresence() : rfal_nfcf.h
  • rfalNfcfPollerCollisionResolution() : rfal_nfcf.h
  • rfalNfcfPollerInitialize() : rfal_nfcf.h
  • rfalNfcfPollerPoll() : rfal_nfcf.h
  • rfalNfcfPollerUpdate() : rfal_nfcf.h
  • rfalNfcfServ : rfal_nfcf.h
  • rfalNfcGetActiveDevice() : rfal_nfc.h
  • rfalNfcGetDevicesFound() : rfal_nfc.h
  • rfalNfcGetState() : rfal_nfc.h
  • rfalNfcInitialize() : rfal_nfc.h
  • rfalNfcIsDevActivated : rfal_nfc.h
  • rfalNfcIsInDiscovery : rfal_nfc.h
  • rfalNfcIsRemDevListener : rfal_nfc.h
  • rfalNfcIsRemDevPoller : rfal_nfc.h
  • rfalNfcRfInterface : rfal_nfc.h
  • rfalNfcSelect() : rfal_nfc.h
  • rfalNfcState : rfal_nfc.h
  • rfalNfcvNumSlots : rfal_nfcv.h
  • rfalNfcvPollerCheckPresence() : rfal_nfcv.h
  • rfalNfcvPollerCollisionResolution() : rfal_nfcv.h
  • rfalNfcvPollerExtendedGetSystemInformation() : rfal_nfcv.h
  • rfalNfcvPollerExtendedLockSingleBlock() : rfal_nfcv.h
  • rfalNfcvPollerExtendedReadMultipleBlocks() : rfal_nfcv.h
  • rfalNfcvPollerExtendedReadSingleBlock() : rfal_nfcv.h
  • rfalNfcvPollerExtendedWriteMultipleBlocks() : rfal_nfcv.h
  • rfalNfcvPollerExtendedWriteSingleBlock() : rfal_nfcv.h
  • rfalNfcvPollerGetSystemInformation() : rfal_nfcv.h
  • rfalNfcvPollerInitialize() : rfal_nfcv.h
  • rfalNfcvPollerInventory() : rfal_nfcv.h
  • rfalNfcvPollerLockBlock() : rfal_nfcv.h
  • rfalNfcvPollerReadMultipleBlocks() : rfal_nfcv.h
  • rfalNfcvPollerReadSingleBlock() : rfal_nfcv.h
  • rfalNfcvPollerSelect() : rfal_nfcv.h
  • rfalNfcvPollerSleep() : rfal_nfcv.h
  • rfalNfcvPollerSleepCollisionResolution() : rfal_nfcv.h
  • rfalNfcvPollerTransceiveReq() : rfal_nfcv.h
  • rfalNfcvPollerWriteMultipleBlocks() : rfal_nfcv.h
  • rfalNfcvPollerWriteSingleBlock() : rfal_nfcv.h
  • rfalNfcWorker() : rfal_nfc.h
  • rfalPostTxRxCallback : rfal_rf.h
  • rfalPreTxRxCallback : rfal_rf.h
  • rfalSetAnalogConfig() : rfal_analogConfig.h
  • rfalSetBitRate() : rfal_rf.h
  • rfalSetErrorHandling() : rfal_rf.h
  • rfalSetFDTListen() : rfal_rf.h
  • rfalSetFDTPoll() : rfal_rf.h
  • rfalSetGT() : rfal_rf.h
  • rfalSetMode() : rfal_rf.h
  • rfalSetObsvMode() : rfal_rf.h
  • rfalSetPostTxRxCallback() : rfal_rf.h
  • rfalSetPreTxRxCallback() : rfal_rf.h
  • rfalSetUpperLayerCallback() : rfal_rf.h
  • rfalSt25tbBlock : rfal_st25tb.h
  • rfalSt25tbPollerCheckPresence() : rfal_st25tb.h
  • rfalSt25tbPollerCollisionResolution() : rfal_st25tb.h
  • rfalSt25tbPollerCompletion() : rfal_st25tb.h
  • rfalSt25tbPollerGetUID() : rfal_st25tb.h
  • rfalSt25tbPollerInitialize() : rfal_st25tb.h
  • rfalSt25tbPollerInitiate() : rfal_st25tb.h
  • rfalSt25tbPollerPcall() : rfal_st25tb.h
  • rfalSt25tbPollerReadBlock() : rfal_st25tb.h
  • rfalSt25tbPollerResetToInventory() : rfal_st25tb.h
  • rfalSt25tbPollerSelect() : rfal_st25tb.h
  • rfalSt25tbPollerSlotMarker() : rfal_st25tb.h
  • rfalSt25tbPollerWriteBlock() : rfal_st25tb.h
  • rfalSt25tbUID : rfal_st25tb.h
  • rfalST25xVPollerFastExtendedReadSingleBlock() : rfal_st25xv.h
  • rfalST25xVPollerFastExtReadMultipleBlocks() : rfal_st25xv.h
  • rfalST25xVPollerFastReadDynamicConfiguration() : rfal_st25xv.h
  • rfalST25xVPollerFastReadMessage() : rfal_st25xv.h
  • rfalST25xVPollerFastReadMsgLength() : rfal_st25xv.h
  • rfalST25xVPollerFastReadMultipleBlocks() : rfal_st25xv.h
  • rfalST25xVPollerFastReadSingleBlock() : rfal_st25xv.h
  • rfalST25xVPollerFastWriteDynamicConfiguration() : rfal_st25xv.h
  • rfalST25xVPollerFastWriteMessage() : rfal_st25xv.h
  • rfalST25xVPollerGetRandomNumber() : rfal_st25xv.h
  • rfalST25xVPollerM24LRFastReadMultipleBlocks() : rfal_st25xv.h
  • rfalST25xVPollerM24LRFastReadSingleBlock() : rfal_st25xv.h
  • rfalST25xVPollerM24LRReadMultipleBlocks() : rfal_st25xv.h
  • rfalST25xVPollerM24LRReadSingleBlock() : rfal_st25xv.h
  • rfalST25xVPollerM24LRWriteSingleBlock() : rfal_st25xv.h
  • rfalST25xVPollerPresentPassword() : rfal_st25xv.h
  • rfalST25xVPollerReadConfiguration() : rfal_st25xv.h
  • rfalST25xVPollerReadDynamicConfiguration() : rfal_st25xv.h
  • rfalST25xVPollerReadMessage() : rfal_st25xv.h
  • rfalST25xVPollerReadMessageLength() : rfal_st25xv.h
  • rfalST25xVPollerWriteConfiguration() : rfal_st25xv.h
  • rfalST25xVPollerWriteDynamicConfiguration() : rfal_st25xv.h
  • rfalST25xVPollerWriteMessage() : rfal_st25xv.h
  • rfalStartTransceive() : rfal_rf.h
  • rfalState : rfal_rf.h
  • rfalT1Tcmds : rfal_t1t.h
  • rfalT1TPollerInitialize() : rfal_t1t.h
  • rfalT1TPollerRall() : rfal_t1t.h
  • rfalT1TPollerRid() : rfal_t1t.h
  • rfalT1TPollerWrite() : rfal_t1t.h
  • rfalT2TPollerRead() : rfal_t2t.h
  • rfalT2TPollerSectorSelect() : rfal_t2t.h
  • rfalT2TPollerWrite() : rfal_t2t.h
  • rfalT4tCmds : rfal_t4t.h
  • rfalT4TPollerComposeCAPDU() : rfal_t4t.h
  • rfalT4TPollerComposeReadData() : rfal_t4t.h
  • rfalT4TPollerComposeReadDataODO() : rfal_t4t.h
  • rfalT4TPollerComposeSelectAppl() : rfal_t4t.h
  • rfalT4TPollerComposeSelectFile() : rfal_t4t.h
  • rfalT4TPollerComposeSelectFileV1Mapping() : rfal_t4t.h
  • rfalT4TPollerComposeWriteData() : rfal_t4t.h
  • rfalT4TPollerComposeWriteDataODO() : rfal_t4t.h
  • rfalT4TPollerParseRAPDU() : rfal_t4t.h
  • rfalTransceiveBlockingRx() : rfal_rf.h
  • rfalTransceiveBlockingTx() : rfal_rf.h
  • rfalTransceiveBlockingTxRx() : rfal_rf.h
  • rfalTransceiveState : rfal_rf.h
  • rfalUpperLayerCallback : rfal_rf.h
  • rfalWakeUpModeHasWoke() : rfal_rf.h
  • rfalWakeUpModeStart() : rfal_rf.h
  • rfalWakeUpModeStop() : rfal_rf.h
  • rfalWorker() : rfal_rf.h
  • rfalWumAAWeight : rfal_rf.h
  • rfalWumPeriod : rfal_rf.h
  • rfalWumState : rfal_rf.h
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Globals

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • i
  • m
  • r
  • s
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:

- s -

  • ST25R3911_BR_106 : st25r3911.h
  • ST25R3911_BR_1695 : st25r3911.h
  • ST25R3911_BR_212 : st25r3911.h
  • ST25R3911_BR_3390 : st25r3911.h
  • ST25R3911_BR_424 : st25r3911.h
  • ST25R3911_BR_6780 : st25r3911.h
  • ST25R3911_BR_848 : st25r3911.h
  • ST25R3911_BR_DO_NOT_SET : st25r3911.h
  • ST25R3911_CMD_ADJUST_REGULATORS : st25r3911.h
  • ST25R3911_CMD_ANALOG_PRESET : st25r3911.h
  • ST25R3911_CMD_CALIBRATE_ANTENNA : st25r3911.h
  • ST25R3911_CMD_CALIBRATE_C_SENSOR : st25r3911.h
  • ST25R3911_CMD_CALIBRATE_MODULATION : st25r3911.h
  • ST25R3911_CMD_CLEAR_FIFO : st25r3911.h
  • ST25R3911_CMD_CLEAR_RSSI : st25r3911.h
  • ST25R3911_CMD_CLEAR_SQUELCH : st25r3911.h
  • ST25R3911_CMD_FUSE_PPROM : st25r3911.h
  • ST25R3911_CMD_INITIAL_RF_COLLISION : st25r3911.h
  • ST25R3911_CMD_LOAD_PPROM : st25r3911.h
  • ST25R3911_CMD_MASK_RECEIVE_DATA : st25r3911.h
  • ST25R3911_CMD_MEASURE_AMPLITUDE : st25r3911.h
  • ST25R3911_CMD_MEASURE_CAPACITANCE : st25r3911.h
  • ST25R3911_CMD_MEASURE_PHASE : st25r3911.h
  • ST25R3911_CMD_MEASURE_VDD : st25r3911.h
  • ST25R3911_CMD_NORMAL_NFC_MODE : st25r3911.h
  • ST25R3911_CMD_RESPONSE_RF_COLLISION_0 : st25r3911.h
  • ST25R3911_CMD_RESPONSE_RF_COLLISION_N : st25r3911.h
  • ST25R3911_CMD_SET_DEFAULT : st25r3911.h
  • ST25R3911_CMD_SQUELCH : st25r3911.h
  • ST25R3911_CMD_START_GP_TIMER : st25r3911.h
  • ST25R3911_CMD_START_MASK_RECEIVE_TIMER : st25r3911.h
  • ST25R3911_CMD_START_NO_RESPONSE_TIMER : st25r3911.h
  • ST25R3911_CMD_START_WUP_TIMER : st25r3911.h
  • ST25R3911_CMD_TEST_ACCESS : st25r3911.h
  • ST25R3911_CMD_TEST_CLEARA : st25r3911.h
  • ST25R3911_CMD_TEST_CLEARB : st25r3911.h
  • ST25R3911_CMD_TRANSMIT_REQA : st25r3911.h
  • ST25R3911_CMD_TRANSMIT_WITH_CRC : st25r3911.h
  • ST25R3911_CMD_TRANSMIT_WITHOUT_CRC : st25r3911.h
  • ST25R3911_CMD_TRANSMIT_WUPA : st25r3911.h
  • ST25R3911_CMD_TRANSPARENT_MODE : st25r3911.h
  • ST25R3911_CMD_UNMASK_RECEIVE_DATA : st25r3911.h
  • ST25R3911_FDT_NONE : st25r3911.h
  • ST25R3911_FIFO_DEPTH : st25r3911.h
  • ST25R3911_FIFO_STATUS_LEN : st25r3911_com.h
  • ST25R3911_IRQ_MASK_ALL : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_CAC : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_CAT : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_COL : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_CRC : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_DCT : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_EOF : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_EON : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_ERR : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_ERR1 : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_ERR2 : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_FWL : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_GPE : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_NFCT : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_NONE : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_NRE : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_OSC : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_PAR : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_RXE : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_RXS : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_TIM : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_TXE : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_WAM : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_WCAP : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_WPH : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_WT : st25r3911_interrupt.h
  • ST25R3911_REG_AD_RESULT : st25r3911_com.h
  • ST25R3911_REG_AM_MOD_DEPTH_CONTROL : st25r3911_com.h
  • ST25R3911_REG_AM_MOD_DEPTH_RESULT : st25r3911_com.h
  • ST25R3911_REG_AMPLITUDE_MEASURE_AA_RESULT : st25r3911_com.h
  • ST25R3911_REG_AMPLITUDE_MEASURE_CONF : st25r3911_com.h
  • ST25R3911_REG_AMPLITUDE_MEASURE_REF : st25r3911_com.h
  • ST25R3911_REG_AMPLITUDE_MEASURE_RESULT : st25r3911_com.h
  • ST25R3911_REG_ANT_CAL_CONTROL : st25r3911_com.h
  • ST25R3911_REG_ANT_CAL_RESULT : st25r3911_com.h
  • ST25R3911_REG_ANT_CAL_TARGET : st25r3911_com.h
  • ST25R3911_REG_AUX : st25r3911_com.h
  • ST25R3911_REG_AUX_DISPLAY : st25r3911_com.h
  • ST25R3911_REG_BIT_RATE : st25r3911_com.h
  • ST25R3911_REG_CAP_SENSOR_CONTROL : st25r3911_com.h
  • ST25R3911_REG_CAP_SENSOR_RESULT : st25r3911_com.h
  • ST25R3911_REG_CAPACITANCE_MEASURE_AA_RESULT : st25r3911_com.h
  • ST25R3911_REG_CAPACITANCE_MEASURE_CONF : st25r3911_com.h
  • ST25R3911_REG_CAPACITANCE_MEASURE_REF : st25r3911_com.h
  • ST25R3911_REG_CAPACITANCE_MEASURE_RESULT : st25r3911_com.h
  • ST25R3911_REG_COLLISION_STATUS : st25r3911_com.h
  • ST25R3911_REG_FIELD_THRESHOLD : st25r3911_com.h
  • ST25R3911_REG_FIFO_RX_STATUS1 : st25r3911_com.h
  • ST25R3911_REG_FIFO_RX_STATUS2 : st25r3911_com.h
  • ST25R3911_REG_GAIN_RED_STATE : st25r3911_com.h
  • ST25R3911_REG_GPT1 : st25r3911_com.h
  • ST25R3911_REG_GPT2 : st25r3911_com.h
  • ST25R3911_REG_GPT_CONTROL : st25r3911_com.h
  • ST25R3911_REG_IC_IDENTITY : st25r3911_com.h
  • ST25R3911_REG_IO_CONF1 : st25r3911_com.h
  • ST25R3911_REG_IO_CONF2 : st25r3911_com.h
  • ST25R3911_REG_IRQ_ERROR_WUP : st25r3911_com.h
  • ST25R3911_REG_IRQ_MAIN : st25r3911_com.h
  • ST25R3911_REG_IRQ_MASK_ERROR_WUP : st25r3911_com.h
  • ST25R3911_REG_IRQ_MASK_MAIN : st25r3911_com.h
  • ST25R3911_REG_IRQ_MASK_TIMER_NFC : st25r3911_com.h
  • ST25R3911_REG_IRQ_TIMER_NFC : st25r3911_com.h
  • ST25R3911_REG_ISO14443A_NFC : st25r3911_com.h
  • ST25R3911_REG_ISO14443B_1 : st25r3911_com.h
  • ST25R3911_REG_ISO14443B_2 : st25r3911_com.h
  • ST25R3911_REG_MASK_RX_TIMER : st25r3911_com.h
  • ST25R3911_REG_MODE : st25r3911_com.h
  • ST25R3911_REG_NFCIP1_BIT_RATE : st25r3911_com.h
  • ST25R3911_REG_NO_RESPONSE_TIMER1 : st25r3911_com.h
  • ST25R3911_REG_NO_RESPONSE_TIMER2 : st25r3911_com.h
  • ST25R3911_REG_NUM_TX_BYTES1 : st25r3911_com.h
  • ST25R3911_REG_NUM_TX_BYTES2 : st25r3911_com.h
  • ST25R3911_REG_OP_CONTROL : st25r3911_com.h
  • ST25R3911_REG_PHASE_MEASURE_AA_RESULT : st25r3911_com.h
  • ST25R3911_REG_PHASE_MEASURE_CONF : st25r3911_com.h
  • ST25R3911_REG_PHASE_MEASURE_REF : st25r3911_com.h
  • ST25R3911_REG_PHASE_MEASURE_RESULT : st25r3911_com.h
  • ST25R3911_REG_REGULATOR_CONTROL : st25r3911_com.h
  • ST25R3911_REG_REGULATOR_RESULT : st25r3911_com.h
  • ST25R3911_REG_RFO_AM_OFF_LEVEL : st25r3911_com.h
  • ST25R3911_REG_RFO_AM_ON_LEVEL : st25r3911_com.h
  • ST25R3911_REG_RSSI_RESULT : st25r3911_com.h
  • ST25R3911_REG_RX_CONF1 : st25r3911_com.h
  • ST25R3911_REG_RX_CONF2 : st25r3911_com.h
  • ST25R3911_REG_RX_CONF3 : st25r3911_com.h
  • ST25R3911_REG_RX_CONF4 : st25r3911_com.h
  • ST25R3911_REG_STREAM_MODE : st25r3911_com.h
  • ST25R3911_REG_WUP_TIMER_CONTROL : st25r3911_com.h
  • ST25R3911_THRESHOLD_DO_NOT_SET : st25r3911.h
  • st25r3911AdjustRegulators() : st25r3911.h
  • st25r3911CalibrateAntenna() : st25r3911.h
  • st25r3911CalibrateCapacitiveSensor() : st25r3911.h
  • st25r3911CalibrateModulationDepth() : st25r3911.h
  • st25r3911ChangeRegisterBits() : st25r3911_com.h
  • st25r3911ChangeTestRegisterBits() : st25r3911_com.h
  • st25r3911CheckChipID() : st25r3911.h
  • st25r3911CheckForReceivedInterrupts() : st25r3911_interrupt.h
  • st25r3911CheckReg() : st25r3911.h
  • st25r3911ClearInterrupts() : st25r3911_interrupt.h
  • st25r3911ClrRegisterBits() : st25r3911_com.h
  • st25r3911Deinitialize() : st25r3911.h
  • st25r3911DisableInterrupts() : st25r3911_interrupt.h
  • st25r3911EnableInterrupts() : st25r3911_interrupt.h
  • st25r3911ExecuteCommand() : st25r3911_com.h
  • st25r3911ExecuteCommands() : st25r3911_com.h
  • st25r3911GetInterrupt() : st25r3911_interrupt.h
  • st25r3911GetNoResponseTime_64fcs() : st25r3911.h
  • st25r3911GetNumFIFOLastBits() : st25r3911.h
  • st25r3911GetRegsDump() : st25r3911.h
  • st25r3911GetRSSI() : st25r3911.h
  • st25r3911Initialize() : st25r3911.h
  • st25r3911InitInterrupts() : st25r3911_interrupt.h
  • st25r3911IRQCallbackRestore() : st25r3911_interrupt.h
  • st25r3911IRQCallbackSet() : st25r3911_interrupt.h
  • st25r3911IsCmdValid() : st25r3911.h
  • st25r3911IsCRCinFIFO : st25r3911.h
  • st25r3911IsExtFieldOn : st25r3911.h
  • st25r3911IsGPTRunning : st25r3911.h
  • st25r3911IsLastFIFOComplete : st25r3911.h
  • st25r3911IsOscOn : st25r3911.h
  • st25r3911Isr() : st25r3911_interrupt.h
  • st25r3911IsRegValid() : st25r3911_com.h
  • st25r3911IsTxEnabled : st25r3911.h
  • st25r3911MeasureAmplitude() : st25r3911.h
  • st25r3911MeasureCapacitance() : st25r3911.h
  • st25r3911MeasurePhase() : st25r3911.h
  • st25r3911MeasurePowerSupply() : st25r3911.h
  • st25r3911MeasureVoltage() : st25r3911.h
  • st25r3911ModifyInterrupts() : st25r3911_interrupt.h
  • st25r3911ModifyRegister() : st25r3911_com.h
  • st25r3911OscOn() : st25r3911.h
  • st25r3911PerformCollisionAvoidance() : st25r3911.h
  • st25r3911ReadFifo() : st25r3911_com.h
  • st25r3911ReadMultipleRegisters() : st25r3911_com.h
  • st25r3911ReadRegister() : st25r3911_com.h
  • st25r3911ReadTestRegister() : st25r3911_com.h
  • st25r3911SetBitrate() : st25r3911.h
  • st25r3911SetGPTime_8fcs() : st25r3911.h
  • st25r3911SetNoResponseTime_64fcs() : st25r3911.h
  • st25r3911SetNumTxBits() : st25r3911.h
  • st25r3911SetRegisterBits() : st25r3911_com.h
  • st25r3911SetStartNoResponseTime_64fcs() : st25r3911.h
  • st25r3911StartGPTimer_8fcs() : st25r3911.h
  • st25r3911StreamConfigure() : st25r3911.h
  • st25r3911TxOff : st25r3911.h
  • st25r3911TxRxOff() : st25r3911.h
  • st25r3911TxRxOn() : st25r3911.h
  • st25r3911WaitForInterruptsTimed() : st25r3911_interrupt.h
  • st25r3911WriteFifo() : st25r3911_com.h
  • st25r3911WriteMultipleRegisters() : st25r3911_com.h
  • st25r3911WriteRegister() : st25r3911_com.h
  • st25r3911WriteTestRegister() : st25r3911_com.h
  • ST25R3916_BR_106 : st25r3916.h
  • ST25R3916_BR_1695 : st25r3916.h
  • ST25R3916_BR_212 : st25r3916.h
  • ST25R3916_BR_3390 : st25r3916.h
  • ST25R3916_BR_424 : st25r3916.h
  • ST25R3916_BR_6780 : st25r3916.h
  • ST25R3916_BR_848 : st25r3916.h
  • ST25R3916_BR_DO_NOT_SET : st25r3916.h
  • ST25R3916_CMD_ADJUST_REGULATORS : st25r3916.h
  • ST25R3916_CMD_AM_MOD_STATE_CHANGE : st25r3916.h
  • ST25R3916_CMD_CALIBRATE_C_SENSOR : st25r3916.h
  • ST25R3916_CMD_CALIBRATE_DRIVER_TIMING : st25r3916.h
  • ST25R3916_CMD_CLEAR_FIFO : st25r3916.h
  • ST25R3916_CMD_CLEAR_RSSI : st25r3916.h
  • ST25R3916_CMD_GOTO_SENSE : st25r3916.h
  • ST25R3916_CMD_GOTO_SLEEP : st25r3916.h
  • ST25R3916_CMD_INITIAL_RF_COLLISION : st25r3916.h
  • ST25R3916_CMD_MASK_RECEIVE_DATA : st25r3916.h
  • ST25R3916_CMD_MEASURE_AMPLITUDE : st25r3916.h
  • ST25R3916_CMD_MEASURE_CAPACITANCE : st25r3916.h
  • ST25R3916_CMD_MEASURE_PHASE : st25r3916.h
  • ST25R3916_CMD_MEASURE_VDD : st25r3916.h
  • ST25R3916_CMD_RESET_RXGAIN : st25r3916.h
  • ST25R3916_CMD_RESPONSE_RF_COLLISION_N : st25r3916.h
  • ST25R3916_CMD_SET_DEFAULT : st25r3916.h
  • ST25R3916_CMD_SPACE_B_ACCESS : st25r3916.h
  • ST25R3916_CMD_START_GP_TIMER : st25r3916.h
  • ST25R3916_CMD_START_MASK_RECEIVE_TIMER : st25r3916.h
  • ST25R3916_CMD_START_NO_RESPONSE_TIMER : st25r3916.h
  • ST25R3916_CMD_START_PPON2_TIMER : st25r3916.h
  • ST25R3916_CMD_START_WUP_TIMER : st25r3916.h
  • ST25R3916_CMD_STOP : st25r3916.h
  • ST25R3916_CMD_STOP_NRT : st25r3916.h
  • ST25R3916_CMD_TEST_ACCESS : st25r3916.h
  • ST25R3916_CMD_TRANSMIT_REQA : st25r3916.h
  • ST25R3916_CMD_TRANSMIT_WITH_CRC : st25r3916.h
  • ST25R3916_CMD_TRANSMIT_WITHOUT_CRC : st25r3916.h
  • ST25R3916_CMD_TRANSMIT_WUPA : st25r3916.h
  • ST25R3916_CMD_TRANSPARENT_MODE : st25r3916.h
  • ST25R3916_CMD_UNMASK_RECEIVE_DATA : st25r3916.h
  • ST25R3916_FIFO_DEPTH : st25r3916.h
  • ST25R3916_FIFO_STATUS_LEN : st25r3916_com.h
  • ST25R3916_IRQ_MASK_ALL : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_APON : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_CAC : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_CAT : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_COL : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_CRC : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_DCT : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_EOF : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_EON : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_ERR1 : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_ERR2 : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_FWL : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_GPE : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_NFCT : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_NONE : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_NRE : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_OSC : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_PAR : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_PPON2 : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_RFU : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_RFU2 : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_RX_REST : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_RXE : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_RXE_PTA : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_RXS : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_SL_WL : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_TXE : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_WAM : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_WCAP : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_WPH : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_WT : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_WU_A : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_WU_A_X : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_WU_F : st25r3916_irq.h
  • ST25R3916_PTM_A_LEN : st25r3916_com.h
  • ST25R3916_PTM_B_LEN : st25r3916_com.h
  • ST25R3916_PTM_F_LEN : st25r3916_com.h
  • ST25R3916_PTM_LEN : st25r3916_com.h
  • ST25R3916_PTM_TSN_LEN : st25r3916_com.h
  • ST25R3916_REG_AD_RESULT : st25r3916_com.h
  • ST25R3916_REG_AMPLITUDE_MEASURE_AA_RESULT : st25r3916_com.h
  • ST25R3916_REG_AMPLITUDE_MEASURE_CONF : st25r3916_com.h
  • ST25R3916_REG_AMPLITUDE_MEASURE_REF : st25r3916_com.h
  • ST25R3916_REG_AMPLITUDE_MEASURE_RESULT : st25r3916_com.h
  • ST25R3916_REG_ANT_TUNE_A : st25r3916_com.h
  • ST25R3916_REG_ANT_TUNE_B : st25r3916_com.h
  • ST25R3916_REG_AUX : st25r3916_com.h
  • ST25R3916_REG_AUX_DISPLAY : st25r3916_com.h
  • ST25R3916_REG_AUX_MOD : st25r3916_com.h
  • ST25R3916_REG_BIT_RATE : st25r3916_com.h
  • ST25R3916_REG_CAP_SENSOR_CONTROL : st25r3916_com.h
  • ST25R3916_REG_CAP_SENSOR_RESULT : st25r3916_com.h
  • ST25R3916_REG_CAPACITANCE_MEASURE_AA_RESULT : st25r3916_com.h
  • ST25R3916_REG_CAPACITANCE_MEASURE_CONF : st25r3916_com.h
  • ST25R3916_REG_CAPACITANCE_MEASURE_REF : st25r3916_com.h
  • ST25R3916_REG_CAPACITANCE_MEASURE_RESULT : st25r3916_com.h
  • ST25R3916_REG_COLLISION_STATUS : st25r3916_com.h
  • ST25R3916_REG_CORR_CONF1 : st25r3916_com.h
  • ST25R3916_REG_CORR_CONF2 : st25r3916_com.h
  • ST25R3916_REG_EMD_SUP_CONF : st25r3916_com.h
  • ST25R3916_REG_FIELD_ON_GT : st25r3916_com.h
  • ST25R3916_REG_FIELD_THRESHOLD_ACTV : st25r3916_com.h
  • ST25R3916_REG_FIELD_THRESHOLD_DEACTV : st25r3916_com.h
  • ST25R3916_REG_FIFO_STATUS1 : st25r3916_com.h
  • ST25R3916_REG_FIFO_STATUS2 : st25r3916_com.h
  • ST25R3916_REG_GAIN_RED_STATE : st25r3916_com.h
  • ST25R3916_REG_GPT1 : st25r3916_com.h
  • ST25R3916_REG_GPT2 : st25r3916_com.h
  • ST25R3916_REG_IC_IDENTITY : st25r3916_com.h
  • ST25R3916_REG_IO_CONF1 : st25r3916_com.h
  • ST25R3916_REG_IO_CONF2 : st25r3916_com.h
  • ST25R3916_REG_IRQ_ERROR_WUP : st25r3916_com.h
  • ST25R3916_REG_IRQ_MAIN : st25r3916_com.h
  • ST25R3916_REG_IRQ_MASK_ERROR_WUP : st25r3916_com.h
  • ST25R3916_REG_IRQ_MASK_MAIN : st25r3916_com.h
  • ST25R3916_REG_IRQ_MASK_TARGET : st25r3916_com.h
  • ST25R3916_REG_IRQ_MASK_TIMER_NFC : st25r3916_com.h
  • ST25R3916_REG_IRQ_TARGET : st25r3916_com.h
  • ST25R3916_REG_IRQ_TIMER_NFC : st25r3916_com.h
  • ST25R3916_REG_ISO14443A_NFC : st25r3916_com.h
  • ST25R3916_REG_ISO14443B_1 : st25r3916_com.h
  • ST25R3916_REG_ISO14443B_2 : st25r3916_com.h
  • ST25R3916_REG_MASK_RX_TIMER : st25r3916_com.h
  • ST25R3916_REG_MODE : st25r3916_com.h
  • ST25R3916_REG_NFCIP1_BIT_RATE : st25r3916_com.h
  • ST25R3916_REG_NO_RESPONSE_TIMER1 : st25r3916_com.h
  • ST25R3916_REG_NO_RESPONSE_TIMER2 : st25r3916_com.h
  • ST25R3916_REG_NUM_TX_BYTES1 : st25r3916_com.h
  • ST25R3916_REG_NUM_TX_BYTES2 : st25r3916_com.h
  • ST25R3916_REG_OP_CONTROL : st25r3916_com.h
  • ST25R3916_REG_OVERSHOOT_CONF1 : st25r3916_com.h
  • ST25R3916_REG_OVERSHOOT_CONF2 : st25r3916_com.h
  • ST25R3916_REG_P2P_RX_CONF : st25r3916_com.h
  • ST25R3916_REG_PASSIVE_TARGET : st25r3916_com.h
  • ST25R3916_REG_PASSIVE_TARGET_STATUS : st25r3916_com.h
  • ST25R3916_REG_PHASE_MEASURE_AA_RESULT : st25r3916_com.h
  • ST25R3916_REG_PHASE_MEASURE_CONF : st25r3916_com.h
  • ST25R3916_REG_PHASE_MEASURE_REF : st25r3916_com.h
  • ST25R3916_REG_PHASE_MEASURE_RESULT : st25r3916_com.h
  • ST25R3916_REG_PPON2 : st25r3916_com.h
  • ST25R3916_REG_PT_MOD : st25r3916_com.h
  • ST25R3916_REG_REGULATOR_CONTROL : st25r3916_com.h
  • ST25R3916_REG_REGULATOR_RESULT : st25r3916_com.h
  • ST25R3916_REG_RES_AM_MOD : st25r3916_com.h
  • ST25R3916_REG_RSSI_RESULT : st25r3916_com.h
  • ST25R3916_REG_RX_CONF1 : st25r3916_com.h
  • ST25R3916_REG_RX_CONF2 : st25r3916_com.h
  • ST25R3916_REG_RX_CONF3 : st25r3916_com.h
  • ST25R3916_REG_RX_CONF4 : st25r3916_com.h
  • ST25R3916_REG_SQUELCH_TIMER : st25r3916_com.h
  • ST25R3916_REG_STREAM_MODE : st25r3916_com.h
  • ST25R3916_REG_SUBC_START_TIME : st25r3916_com.h
  • ST25R3916_REG_TIMER_EMV_CONTROL : st25r3916_com.h
  • ST25R3916_REG_TX_DRIVER : st25r3916_com.h
  • ST25R3916_REG_TX_DRIVER_STATUS : st25r3916_com.h
  • ST25R3916_REG_TX_DRIVER_TIMING : st25r3916_com.h
  • ST25R3916_REG_UNDERSHOOT_CONF1 : st25r3916_com.h
  • ST25R3916_REG_UNDERSHOOT_CONF2 : st25r3916_com.h
  • ST25R3916_REG_WUP_TIMER_CONTROL : st25r3916_com.h
  • ST25R3916_SPACE_B : st25r3916_com.h
  • ST25R3916_SPACE_B_REG_LEN : st25r3916_com.h
  • ST25R3916_THRESHOLD_DO_NOT_SET : st25r3916.h
  • ST25R3916_TOUT_OSC_STABLE : st25r3916.h
  • st25r3916AatTune() : st25r3916_aat.h
  • st25r3916AdjustRegulators() : st25r3916.h
  • st25r3916CalibrateCapacitiveSensor() : st25r3916.h
  • st25r3916ChangeRegisterBits() : st25r3916_com.h
  • st25r3916ChangeTestRegisterBits() : st25r3916_com.h
  • st25r3916CheckChipID() : st25r3916.h
  • st25r3916CheckForReceivedInterrupts() : st25r3916_irq.h
  • st25r3916CheckReg() : st25r3916_com.h
  • st25r3916ClearAndEnableInterrupts() : st25r3916_irq.h
  • st25r3916ClearInterrupts() : st25r3916_irq.h
  • st25r3916ClrRegisterBits() : st25r3916_com.h
  • st25r3916Deinitialize() : st25r3916.h
  • st25r3916DisableInterrupts() : st25r3916_irq.h
  • st25r3916EnableInterrupts() : st25r3916_irq.h
  • st25r3916ExecuteCommand() : st25r3916_com.h
  • st25r3916ExecuteCommandAndGetResult() : st25r3916.h
  • st25r3916GetInterrupt() : st25r3916_irq.h
  • st25r3916GetNoResponseTime() : st25r3916.h
  • st25r3916GetNumFIFOBytes() : st25r3916.h
  • st25r3916GetNumFIFOLastBits() : st25r3916.h
  • st25r3916GetRegsDump() : st25r3916.h
  • st25r3916GetRSSI() : st25r3916.h
  • st25r3916Initialize() : st25r3916.h
  • st25r3916InitInterrupts() : st25r3916_irq.h
  • st25r3916IRQCallbackRestore() : st25r3916_irq.h
  • st25r3916IRQCallbackSet() : st25r3916_irq.h
  • st25r3916IsCmdValid() : st25r3916.h
  • st25r3916IsExtFieldOn : st25r3916.h
  • st25r3916IsGPTRunning : st25r3916.h
  • st25r3916IsLastFIFOComplete : st25r3916.h
  • st25r3916IsNRTinEMV : st25r3916.h
  • st25r3916IsOscOn : st25r3916.h
  • st25r3916Isr() : st25r3916_irq.h
  • st25r3916IsRegValid() : st25r3916_com.h
  • st25r3916IsTxEnabled : st25r3916.h
  • st25r3916ledEvtCmd() : st25r3916_led.h
  • st25r3916ledEvtIrq() : st25r3916_led.h
  • st25r3916ledEvtWrMultiReg() : st25r3916_led.h
  • st25r3916ledEvtWrReg() : st25r3916_led.h
  • st25r3916ledInit() : st25r3916_led.h
  • st25r3916MeasureAmplitude() : st25r3916.h
  • st25r3916MeasureCapacitance() : st25r3916.h
  • st25r3916MeasurePhase() : st25r3916.h
  • st25r3916MeasurePowerSupply() : st25r3916.h
  • st25r3916MeasureVoltage() : st25r3916.h
  • st25r3916ModifyInterrupts() : st25r3916_irq.h
  • st25r3916ModifyRegister() : st25r3916_com.h
  • st25r3916OscOn() : st25r3916.h
  • st25r3916PerformCollisionAvoidance() : st25r3916.h
  • st25r3916ReadFifo() : st25r3916_com.h
  • st25r3916ReadMultipleRegisters() : st25r3916_com.h
  • st25r3916ReadPTMem() : st25r3916_com.h
  • st25r3916ReadRegister() : st25r3916_com.h
  • st25r3916ReadTestRegister() : st25r3916_com.h
  • st25r3916SetBitrate() : st25r3916.h
  • st25r3916SetGPTime() : st25r3916.h
  • st25r3916SetNoResponseTime() : st25r3916.h
  • st25r3916SetNumTxBits() : st25r3916.h
  • st25r3916SetRegisterBits() : st25r3916_com.h
  • st25r3916SetStartGPTimer() : st25r3916.h
  • st25r3916SetStartNoResponseTimer() : st25r3916.h
  • st25r3916StreamConfigure() : st25r3916.h
  • st25r3916TxOff : st25r3916.h
  • st25r3916TxRxOff : st25r3916.h
  • st25r3916TxRxOn : st25r3916.h
  • st25r3916WaitForInterruptsTimed() : st25r3916_irq.h
  • st25r3916WriteFifo() : st25r3916_com.h
  • st25r3916WriteMultipleRegisters() : st25r3916_com.h
  • st25r3916WritePTMem() : st25r3916_com.h
  • st25r3916WritePTMemF() : st25r3916_com.h
  • st25r3916WritePTMemTSN() : st25r3916_com.h
  • st25r3916WriteRegister() : st25r3916_com.h
  • st25r3916WriteTestRegister() : st25r3916_com.h
  • ST25R95_ACFILTER_RESPONSE_BUFLEN : st25r95_com.h
  • ST25R95_ACSTATE_ACTIVE : st25r95_com.h
  • ST25R95_ACSTATE_ACTIVEX : st25r95_com.h
  • ST25R95_ACSTATE_HALT : st25r95_com.h
  • ST25R95_ACSTATE_IDLE : st25r95_com.h
  • ST25R95_ACSTATE_READYA : st25r95_com.h
  • ST25R95_ACSTATE_READYAX : st25r95_com.h
  • ST25R95_CMD_COMMAND_OFFSET : st25r95_com.h
  • ST25R95_CMD_DATA_OFFSET : st25r95_com.h
  • ST25R95_CMD_LENGTH_OFFSET : st25r95_com.h
  • ST25R95_CMD_RESULT_OFFSET : st25r95_com.h
  • ST25R95_COMMAND_ACFILTER : st25r95_com.h
  • ST25R95_COMMAND_BAUDRATE : st25r95_com.h
  • ST25R95_COMMAND_ECHO : st25r95_com.h
  • ST25R95_COMMAND_IDLE : st25r95_com.h
  • ST25R95_COMMAND_IDN : st25r95_com.h
  • ST25R95_COMMAND_LISTEN : st25r95_com.h
  • ST25R95_COMMAND_POLLFIED : st25r95_com.h
  • ST25R95_COMMAND_PROTOCOLSELECT : st25r95_com.h
  • ST25R95_COMMAND_RDREG : st25r95_com.h
  • ST25R95_COMMAND_SEND : st25r95_com.h
  • ST25R95_COMMAND_SENDRECV : st25r95_com.h
  • ST25R95_COMMAND_WRREG : st25r95_com.h
  • ST25R95_COMMUNICATION_BUFFER_SIZE : st25r95_com.h
  • ST25R95_COMMUNICATION_UART_WDOGTIMER : st25r95_com.h
  • ST25R95_CONTROL_POLL : st25r95_com.h
  • ST25R95_CONTROL_POLL_NO_TIMEOUT : st25r95_com.h
  • ST25R95_CONTROL_POLL_TIMEOUT : st25r95_com.h
  • ST25R95_CONTROL_READ : st25r95_com.h
  • ST25R95_CONTROL_RESET : st25r95_com.h
  • ST25R95_CONTROL_SEND : st25r95_com.h
  • ST25R95_DACDATA_MAX : st25r95_com.h
  • ST25R95_ECHO_RESPONSE_BUFLEN : st25r95_com.h
  • ST25R95_ERRCODE_61_SOF : st25r95_com.h
  • ST25R95_ERRCODE_62_CRC : st25r95_com.h
  • ST25R95_ERRCODE_63_SOF_HIGH : st25r95_com.h
  • ST25R95_ERRCODE_65_SOF_LOW : st25r95_com.h
  • ST25R95_ERRCODE_66_EGT : st25r95_com.h
  • ST25R95_ERRCODE_67_TR1TOOLONG : st25r95_com.h
  • ST25R95_ERRCODE_68_TR1TOOSHORT : st25r95_com.h
  • ST25R95_ERRCODE_COMERROR : st25r95_com.h
  • ST25R95_ERRCODE_CRC : st25r95_com.h
  • ST25R95_ERRCODE_EGT : st25r95_com.h
  • ST25R95_ERRCODE_FIELDLENGTH : st25r95_com.h
  • ST25R95_ERRCODE_FRAMEOKADDITIONALINFO : st25r95_com.h
  • ST25R95_ERRCODE_FRAMEWAITTIMEOUT : st25r95_com.h
  • ST25R95_ERRCODE_FRAMING : st25r95_com.h
  • ST25R95_ERRCODE_INVALIDCCMDCODE : st25r95_com.h
  • ST25R95_ERRCODE_INVALIDCMDLENGHT : st25r95_com.h
  • ST25R95_ERRCODE_INVALIDPROTOCOL : st25r95_com.h
  • ST25R95_ERRCODE_INVALIDSOF : st25r95_com.h
  • ST25R95_ERRCODE_NOFIELD : st25r95_com.h
  • ST25R95_ERRCODE_NONE : st25r95_com.h
  • ST25R95_ERRCODE_OVERFLOW : st25r95_com.h
  • ST25R95_ERRCODE_RECEPTIONLOST : st25r95_com.h
  • ST25R95_ERRCODE_RESULTSRESIDUAL : st25r95_com.h
  • ST25R95_FWT_MAX : st25r95_com.h
  • ST25R95_IDLE_DACDATAH_OFFSET : st25r95_com.h
  • ST25R95_IDLE_DACDATAL_OFFSET : st25r95_com.h
  • ST25R95_IDLE_RESPONSE_BUFLEN : st25r95_com.h
  • ST25R95_IDLE_WKUP_TAGDETECT : st25r95_com.h
  • ST25R95_IDLE_WKUP_TIMEOUT : st25r95_com.h
  • ST25R95_IDLE_WUPERIOD_OFFSET : st25r95_com.h
  • ST25R95_IDN_RESPONSE_BUFLEN : st25r95_com.h
  • ST25R95_IS_PROT_ISO14443A_COLLISION_ERR : st25r95_com.h
  • ST25R95_IS_PROT_ISO14443A_CRC_ERR : st25r95_com.h
  • ST25R95_IS_PROT_ISO14443A_PARITY_ERR : st25r95_com.h
  • ST25R95_IS_PROT_ISO14443B_CRC_ERR : st25r95_com.h
  • ST25R95_IS_PROT_ISO15693_COLLISION_ERR : st25r95_com.h
  • ST25R95_IS_PROT_ISO15693_CRC_ERR : st25r95_com.h
  • ST25R95_IS_PROT_ISO18092_CRC_ERR : st25r95_com.h
  • ST25R95_LISTEN_RESPONSE_BUFLEN : st25r95_com.h
  • st25r95_nIRQ_IN_Pulse : st25r95.h
  • ST25R95_POLLFIELD_RESPONSE_BUFLEN : st25r95_com.h
  • ST25R95_PROTOCOL_CE_ISO14443A : st25r95_com.h
  • ST25R95_PROTOCOL_FIELDOFF : st25r95_com.h
  • ST25R95_PROTOCOL_ISO14443A : st25r95_com.h
  • ST25R95_PROTOCOL_ISO14443B : st25r95_com.h
  • ST25R95_PROTOCOL_ISO15693 : st25r95_com.h
  • ST25R95_PROTOCOL_ISO18092 : st25r95_com.h
  • ST25R95_PROTOCOL_MAX : st25r95_com.h
  • ST25R95_PROTOCOLSELECT_BR_OFFSET : st25r95_com.h
  • ST25R95_PROTOCOLSELECT_RESPONSE_BUFLEN : st25r95_com.h
  • ST25R95_RDREG_RESPONSE_BUFLEN : st25r95_com.h
  • ST25R95_REG_ACC_A : st25r95_com.h
  • ST25R95_REG_ARC_B : st25r95_com.h
  • ST25R95_REG_TIMERW : st25r95_com.h
  • ST25R95_SEND_RESPONSE_BUFLEN : st25r95_com.h
  • ST25R95_SPI_DUMMY_BYTE : st25r95_com.h
  • ST25R95_WRREG_RESPONSE_BUFLEN : st25r95_com.h
  • st25r95CalibrateTagDetector() : st25r95_com.h
  • st25r95CheckChipID() : st25r95.h
  • st25r95CommandEcho : st25r95_com.h
  • st25r95CompleteRx : st25r95_com.h
  • st25r95DeactivateACFilter : st25r95_com.h
  • st25r95Deinitialize() : st25r95.h
  • st25r95FieldOff() : st25r95.h
  • st25r95FieldOn() : st25r95.h
  • st25r95FlushChipSPIBuffer : st25r95_com.h
  • st25r95GetIdleResponse : st25r95_com.h
  • st25r95GetLmState : st25r95_com.h
  • st25r95Idle : st25r95_com.h
  • st25r95Initialize() : st25r95.h
  • st25r95IsInListen : st25r95_com.h
  • st25r95IsTransmitTxCompleted : st25r95_com.h
  • st25r95KillIdle : st25r95_com.h
  • st25r95Listen() : st25r95_com.h
  • st25r95PollField() : st25r95_com.h
  • st25r95PollRead : st25r95_com.h
  • st25r95PrepareRx : st25r95_com.h
  • st25r95ProtocolSelect() : st25r95_com.h
  • st25r95ReadReg() : st25r95_com.h
  • st25r95RearmListen() : st25r95_com.h
  • st25r95ResetChip : st25r95.h
  • st25r95SendCommandTypeAndLen : st25r95_com.h
  • st25r95SendData : st25r95_com.h
  • st25r95SendTransmitFlag : st25r95_com.h
  • st25r95SetACFilter() : st25r95_com.h
  • st25r95SetACState : st25r95_com.h
  • st25r95SetBitRate() : st25r95_com.h
  • st25r95SetFWT() : st25r95_com.h
  • st25r95SetSlotCounter() : st25r95_com.h
  • st25r95SPI_nIRQ_IN_Pulse() : st25r95.h
  • st25r95SPICommandEcho() : st25r95_com.h
  • st25r95SPICompleteRx() : st25r95_com.h
  • st25r95SPIDeactivateACFilter() : st25r95_com.h
  • st25r95SPIGetIdleResponse() : st25r95_com.h
  • st25r95SPIGetLmState() : st25r95_com.h
  • st25r95SPIIdle() : st25r95_com.h
  • st25r95SPIIsInListen() : st25r95_com.h
  • st25r95SPIIsTransmitCompleted() : st25r95_com.h
  • st25r95SPIKillIdle() : st25r95_com.h
  • st25r95SPIPollRead() : st25r95_com.h
  • st25r95SPIPollSend() : st25r95_com.h
  • st25r95SPIPrepareRx() : st25r95_com.h
  • st25r95SPIResetChip() : st25r95_com.h
  • st25r95SPIRxCtx : st25r95_com.h
  • st25r95SPIRxTx() : st25r95_com.h
  • st25r95SPISendCommandTypeAndLen() : st25r95_com.h
  • st25r95SPISendData() : st25r95_com.h
  • st25r95SPISendReceiveByte() : st25r95_com.h
  • st25r95SPISendTransmitFlag() : st25r95_com.h
  • st25r95SPISetACState() : st25r95_com.h
  • st25r95UART_nIRQ_IN_Pulse() : st25r95.h
  • st25r95UARTCommandEcho() : st25r95_com.h
  • st25r95UARTCompleteRx() : st25r95_com.h
  • st25r95UartErrorCallback() : st25r95_com.h
  • st25r95UARTGetIdleResponse() : st25r95_com.h
  • st25r95UARTIdle() : st25r95_com.h
  • st25r95UARTIsTransmitTxCompleted() : st25r95_com.h
  • st25r95UARTKillIdle() : st25r95_com.h
  • st25r95UARTPollRead() : st25r95_com.h
  • st25r95UARTPrepareRx() : st25r95_com.h
  • st25r95UartRxCpltCallback() : st25r95_com.h
  • st25r95UARTSendCommandTypeAndLen() : st25r95_com.h
  • st25r95UARTSendData() : st25r95_com.h
  • st25r95UARTSendTransmitFlag() : st25r95_com.h
  • st25r95UartTxCpltCallback() : st25r95_com.h
  • st25r95WriteReg() : st25r95_com.h
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Globals

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • i
  • r
  • s

- i -

  • iso15693PhyConfigure() : rfal_iso15693_2.h
  • iso15693PhyGetConfiguration() : rfal_iso15693_2.h
  • iso15693VCDCode() : rfal_iso15693_2.h
  • iso15693VICCDecode() : rfal_iso15693_2.h
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Globals

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • i
  • r
  • s

- r -

  • rfalAdjustRegulators() : rfal_rf.h
  • rfalAnalogConfigGenModeID() : rfal_analogConfig.h
  • rfalAnalogConfigInitialize() : rfal_analogConfig.h
  • rfalAnalogConfigIsReady() : rfal_analogConfig.h
  • rfalAnalogConfigListRead() : rfal_analogConfig.h
  • rfalAnalogConfigListReadRaw() : rfal_analogConfig.h
  • rfalAnalogConfigListWrite() : rfal_analogConfig.h
  • rfalAnalogConfigListWriteRaw() : rfal_analogConfig.h
  • rfalCalibrate() : rfal_rf.h
  • rfalChipChangeRegBits() : rfal_chip.h
  • rfalChipChangeTestRegBits() : rfal_chip.h
  • rfalChipExecCmd() : rfal_chip.h
  • rfalChipGetRFO() : rfal_chip.h
  • rfalChipMeasureAmplitude() : rfal_chip.h
  • rfalChipMeasureCapacitance() : rfal_chip.h
  • rfalChipMeasurePhase() : rfal_chip.h
  • rfalChipMeasurePowerSupply() : rfal_chip.h
  • rfalChipReadReg() : rfal_chip.h
  • rfalChipReadTestReg() : rfal_chip.h
  • rfalChipSetRFO() : rfal_chip.h
  • rfalChipWriteReg() : rfal_chip.h
  • rfalChipWriteTestReg() : rfal_chip.h
  • rfalCrcCalculateCcitt() : rfal_crc.h
  • rfalDeinitialize() : rfal_rf.h
  • rfalDisableObsvMode() : rfal_rf.h
  • rfalDpoAdjust() : rfal_dpo.h
  • rfalDpoGetCurrentTableEntry() : rfal_dpo.h
  • rfalDpoInitialize() : rfal_dpo.h
  • rfalDpoIsEnabled() : rfal_dpo.h
  • rfalDpoSetEnabled() : rfal_dpo.h
  • rfalDpoSetMeasureCallback() : rfal_dpo.h
  • rfalDpoTableRead() : rfal_dpo.h
  • rfalDpoTableWrite() : rfal_dpo.h
  • rfalFeliCaPoll() : rfal_rf.h
  • rfalFieldOff() : rfal_rf.h
  • rfalFieldOnAndStartGT() : rfal_rf.h
  • rfalGetBitRate() : rfal_rf.h
  • rfalGetErrorHandling() : rfal_rf.h
  • rfalGetFDTListen() : rfal_rf.h
  • rfalGetFDTPoll() : rfal_rf.h
  • rfalGetGT() : rfal_rf.h
  • rfalGetMode() : rfal_rf.h
  • rfalGetObsvMode() : rfal_rf.h
  • rfalGetTransceiveRSSI() : rfal_rf.h
  • rfalGetTransceiveState() : rfal_rf.h
  • rfalGetTransceiveStatus() : rfal_rf.h
  • rfalInitialize() : rfal_rf.h
  • rfalIsExtFieldOn() : rfal_rf.h
  • rfalIsGTExpired() : rfal_rf.h
  • rfalISO14443ATransceiveAnticollisionFrame() : rfal_rf.h
  • rfalISO14443ATransceiveShortFrame() : rfal_rf.h
  • rfalISO15693TransceiveAnticollisionFrame() : rfal_rf.h
  • rfalISO15693TransceiveEOF() : rfal_rf.h
  • rfalISO15693TransceiveEOFAnticollision() : rfal_rf.h
  • rfalIsoDepATTRIB() : rfal_isoDep.h
  • rfalIsoDepDeselect() : rfal_isoDep.h
  • rfalIsoDepFSxI2FSx() : rfal_isoDep.h
  • rfalIsoDepFWI2FWT() : rfal_isoDep.h
  • rfalIsoDepGetApduTransceiveStatus() : rfal_isoDep.h
  • rfalIsoDepGetMaxInfLen() : rfal_isoDep.h
  • rfalIsoDepGetTransceiveStatus() : rfal_isoDep.h
  • rfalIsoDepInitialize() : rfal_isoDep.h
  • rfalIsoDepInitializeWithParams() : rfal_isoDep.h
  • rfalIsoDepIsAttrib() : rfal_isoDep.h
  • rfalIsoDepIsRats() : rfal_isoDep.h
  • rfalIsoDepListenGetActivationStatus() : rfal_isoDep.h
  • rfalIsoDepListenStartActivation() : rfal_isoDep.h
  • rfalIsoDepPollAGetActivationStatus() : rfal_isoDep.h
  • rfalIsoDepPollAHandleActivation() : rfal_isoDep.h
  • rfalIsoDepPollAStartActivation() : rfal_isoDep.h
  • rfalIsoDepPollBGetActivationStatus() : rfal_isoDep.h
  • rfalIsoDepPollBHandleActivation() : rfal_isoDep.h
  • rfalIsoDepPollBStartActivation() : rfal_isoDep.h
  • rfalIsoDepPollHandleSParameters() : rfal_isoDep.h
  • rfalIsoDepPPS() : rfal_isoDep.h
  • rfalIsoDepRATS() : rfal_isoDep.h
  • rfalIsoDepStartApduTransceive() : rfal_isoDep.h
  • rfalIsoDepStartTransceive() : rfal_isoDep.h
  • rfalIsTransceiveInRx() : rfal_rf.h
  • rfalIsTransceiveInTx() : rfal_rf.h
  • rfalListenGetState() : rfal_rf.h
  • rfalListenSetState() : rfal_rf.h
  • rfalListenSleepStart() : rfal_rf.h
  • rfalListenStart() : rfal_rf.h
  • rfalListenStop() : rfal_rf.h
  • rfalLowPowerModeStart() : rfal_rf.h
  • rfalLowPowerModeStop() : rfal_rf.h
  • rfalNfcaListenerIsSleepReq() : rfal_nfca.h
  • rfalNfcaPollerCheckPresence() : rfal_nfca.h
  • rfalNfcaPollerFullCollisionResolution() : rfal_nfca.h
  • rfalNfcaPollerGetFullCollisionResolutionStatus() : rfal_nfca.h
  • rfalNfcaPollerInitialize() : rfal_nfca.h
  • rfalNfcaPollerSelect() : rfal_nfca.h
  • rfalNfcaPollerSingleCollisionResolution() : rfal_nfca.h
  • rfalNfcaPollerSleep() : rfal_nfca.h
  • rfalNfcaPollerSleepFullCollisionResolution() : rfal_nfca.h
  • rfalNfcaPollerStartFullCollisionResolution() : rfal_nfca.h
  • rfalNfcaPollerTechnologyDetection() : rfal_nfca.h
  • rfalNfcbPollerCheckPresence() : rfal_nfcb.h
  • rfalNfcbPollerCollisionResolution() : rfal_nfcb.h
  • rfalNfcbPollerInitialize() : rfal_nfcb.h
  • rfalNfcbPollerInitializeWithParams() : rfal_nfcb.h
  • rfalNfcbPollerSleep() : rfal_nfcb.h
  • rfalNfcbPollerSlotMarker() : rfal_nfcb.h
  • rfalNfcbPollerSlottedCollisionResolution() : rfal_nfcb.h
  • rfalNfcbPollerTechnologyDetection() : rfal_nfcb.h
  • rfalNfcbTR2ToFDT() : rfal_nfcb.h
  • rfalNfcDataExchangeGetStatus() : rfal_nfc.h
  • rfalNfcDataExchangeStart() : rfal_nfc.h
  • rfalNfcDeactivate() : rfal_nfc.h
  • rfalNfcDepATR() : rfal_nfcDep.h
  • rfalNfcDepCalculateRWT() : rfal_nfcDep.h
  • rfalNfcDepDSL() : rfal_nfcDep.h
  • rfalNfcDepGetPduTransceiveStatus() : rfal_nfcDep.h
  • rfalNfcDepGetTransceiveStatus() : rfal_nfcDep.h
  • rfalNfcDepInitialize() : rfal_nfcDep.h
  • rfalNfcDepInitiatorHandleActivation() : rfal_nfcDep.h
  • rfalNfcDepIsAtrReq() : rfal_nfcDep.h
  • rfalNfcDepListenGetActivationStatus() : rfal_nfcDep.h
  • rfalNfcDepListenStartActivation() : rfal_nfcDep.h
  • rfalNfcDepPSL() : rfal_nfcDep.h
  • rfalNfcDepRLS() : rfal_nfcDep.h
  • rfalNfcDepSetDeactivatingCallback() : rfal_nfcDep.h
  • rfalNfcDepStartPduTransceive() : rfal_nfcDep.h
  • rfalNfcDepStartTransceive() : rfal_nfcDep.h
  • rfalNfcDepTargetRcvdATR() : rfal_nfcDep.h
  • rfalNfcDiscover() : rfal_nfc.h
  • rfalNfcfListenerIsT3TReq() : rfal_nfcf.h
  • rfalNfcfPollerCheck() : rfal_nfcf.h
  • rfalNfcfPollerCheckPresence() : rfal_nfcf.h
  • rfalNfcfPollerCollisionResolution() : rfal_nfcf.h
  • rfalNfcfPollerInitialize() : rfal_nfcf.h
  • rfalNfcfPollerPoll() : rfal_nfcf.h
  • rfalNfcfPollerUpdate() : rfal_nfcf.h
  • rfalNfcGetActiveDevice() : rfal_nfc.h
  • rfalNfcGetDevicesFound() : rfal_nfc.h
  • rfalNfcGetState() : rfal_nfc.h
  • rfalNfcInitialize() : rfal_nfc.h
  • rfalNfcSelect() : rfal_nfc.h
  • rfalNfcvPollerCheckPresence() : rfal_nfcv.h
  • rfalNfcvPollerCollisionResolution() : rfal_nfcv.h
  • rfalNfcvPollerExtendedGetSystemInformation() : rfal_nfcv.h
  • rfalNfcvPollerExtendedLockSingleBlock() : rfal_nfcv.h
  • rfalNfcvPollerExtendedReadMultipleBlocks() : rfal_nfcv.h
  • rfalNfcvPollerExtendedReadSingleBlock() : rfal_nfcv.h
  • rfalNfcvPollerExtendedWriteMultipleBlocks() : rfal_nfcv.h
  • rfalNfcvPollerExtendedWriteSingleBlock() : rfal_nfcv.h
  • rfalNfcvPollerGetSystemInformation() : rfal_nfcv.h
  • rfalNfcvPollerInitialize() : rfal_nfcv.h
  • rfalNfcvPollerInventory() : rfal_nfcv.h
  • rfalNfcvPollerLockBlock() : rfal_nfcv.h
  • rfalNfcvPollerReadMultipleBlocks() : rfal_nfcv.h
  • rfalNfcvPollerReadSingleBlock() : rfal_nfcv.h
  • rfalNfcvPollerSelect() : rfal_nfcv.h
  • rfalNfcvPollerSleep() : rfal_nfcv.h
  • rfalNfcvPollerSleepCollisionResolution() : rfal_nfcv.h
  • rfalNfcvPollerTransceiveReq() : rfal_nfcv.h
  • rfalNfcvPollerWriteMultipleBlocks() : rfal_nfcv.h
  • rfalNfcvPollerWriteSingleBlock() : rfal_nfcv.h
  • rfalNfcWorker() : rfal_nfc.h
  • rfalSetAnalogConfig() : rfal_analogConfig.h
  • rfalSetBitRate() : rfal_rf.h
  • rfalSetErrorHandling() : rfal_rf.h
  • rfalSetFDTListen() : rfal_rf.h
  • rfalSetFDTPoll() : rfal_rf.h
  • rfalSetGT() : rfal_rf.h
  • rfalSetMode() : rfal_rf.h
  • rfalSetObsvMode() : rfal_rf.h
  • rfalSetPostTxRxCallback() : rfal_rf.h
  • rfalSetPreTxRxCallback() : rfal_rf.h
  • rfalSetUpperLayerCallback() : rfal_rf.h
  • rfalSt25tbPollerCheckPresence() : rfal_st25tb.h
  • rfalSt25tbPollerCollisionResolution() : rfal_st25tb.h
  • rfalSt25tbPollerCompletion() : rfal_st25tb.h
  • rfalSt25tbPollerGetUID() : rfal_st25tb.h
  • rfalSt25tbPollerInitialize() : rfal_st25tb.h
  • rfalSt25tbPollerInitiate() : rfal_st25tb.h
  • rfalSt25tbPollerPcall() : rfal_st25tb.h
  • rfalSt25tbPollerReadBlock() : rfal_st25tb.h
  • rfalSt25tbPollerResetToInventory() : rfal_st25tb.h
  • rfalSt25tbPollerSelect() : rfal_st25tb.h
  • rfalSt25tbPollerSlotMarker() : rfal_st25tb.h
  • rfalSt25tbPollerWriteBlock() : rfal_st25tb.h
  • rfalST25xVPollerFastExtendedReadSingleBlock() : rfal_st25xv.h
  • rfalST25xVPollerFastExtReadMultipleBlocks() : rfal_st25xv.h
  • rfalST25xVPollerFastReadDynamicConfiguration() : rfal_st25xv.h
  • rfalST25xVPollerFastReadMessage() : rfal_st25xv.h
  • rfalST25xVPollerFastReadMsgLength() : rfal_st25xv.h
  • rfalST25xVPollerFastReadMultipleBlocks() : rfal_st25xv.h
  • rfalST25xVPollerFastReadSingleBlock() : rfal_st25xv.h
  • rfalST25xVPollerFastWriteDynamicConfiguration() : rfal_st25xv.h
  • rfalST25xVPollerFastWriteMessage() : rfal_st25xv.h
  • rfalST25xVPollerGetRandomNumber() : rfal_st25xv.h
  • rfalST25xVPollerM24LRFastReadMultipleBlocks() : rfal_st25xv.h
  • rfalST25xVPollerM24LRFastReadSingleBlock() : rfal_st25xv.h
  • rfalST25xVPollerM24LRReadMultipleBlocks() : rfal_st25xv.h
  • rfalST25xVPollerM24LRReadSingleBlock() : rfal_st25xv.h
  • rfalST25xVPollerM24LRWriteSingleBlock() : rfal_st25xv.h
  • rfalST25xVPollerPresentPassword() : rfal_st25xv.h
  • rfalST25xVPollerReadConfiguration() : rfal_st25xv.h
  • rfalST25xVPollerReadDynamicConfiguration() : rfal_st25xv.h
  • rfalST25xVPollerReadMessage() : rfal_st25xv.h
  • rfalST25xVPollerReadMessageLength() : rfal_st25xv.h
  • rfalST25xVPollerWriteConfiguration() : rfal_st25xv.h
  • rfalST25xVPollerWriteDynamicConfiguration() : rfal_st25xv.h
  • rfalST25xVPollerWriteMessage() : rfal_st25xv.h
  • rfalStartTransceive() : rfal_rf.h
  • rfalT1TPollerInitialize() : rfal_t1t.h
  • rfalT1TPollerRall() : rfal_t1t.h
  • rfalT1TPollerRid() : rfal_t1t.h
  • rfalT1TPollerWrite() : rfal_t1t.h
  • rfalT2TPollerRead() : rfal_t2t.h
  • rfalT2TPollerSectorSelect() : rfal_t2t.h
  • rfalT2TPollerWrite() : rfal_t2t.h
  • rfalT4TPollerComposeCAPDU() : rfal_t4t.h
  • rfalT4TPollerComposeReadData() : rfal_t4t.h
  • rfalT4TPollerComposeReadDataODO() : rfal_t4t.h
  • rfalT4TPollerComposeSelectAppl() : rfal_t4t.h
  • rfalT4TPollerComposeSelectFile() : rfal_t4t.h
  • rfalT4TPollerComposeSelectFileV1Mapping() : rfal_t4t.h
  • rfalT4TPollerComposeWriteData() : rfal_t4t.h
  • rfalT4TPollerComposeWriteDataODO() : rfal_t4t.h
  • rfalT4TPollerParseRAPDU() : rfal_t4t.h
  • rfalTransceiveBlockingRx() : rfal_rf.h
  • rfalTransceiveBlockingTx() : rfal_rf.h
  • rfalTransceiveBlockingTxRx() : rfal_rf.h
  • rfalWakeUpModeHasWoke() : rfal_rf.h
  • rfalWakeUpModeStart() : rfal_rf.h
  • rfalWakeUpModeStop() : rfal_rf.h
  • rfalWorker() : rfal_rf.h
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Globals

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • i
  • r
  • s

- s -

  • st25r3911AdjustRegulators() : st25r3911.h
  • st25r3911CalibrateAntenna() : st25r3911.h
  • st25r3911CalibrateCapacitiveSensor() : st25r3911.h
  • st25r3911CalibrateModulationDepth() : st25r3911.h
  • st25r3911ChangeRegisterBits() : st25r3911_com.h
  • st25r3911ChangeTestRegisterBits() : st25r3911_com.h
  • st25r3911CheckChipID() : st25r3911.h
  • st25r3911CheckForReceivedInterrupts() : st25r3911_interrupt.h
  • st25r3911CheckReg() : st25r3911.h
  • st25r3911ClearInterrupts() : st25r3911_interrupt.h
  • st25r3911ClrRegisterBits() : st25r3911_com.h
  • st25r3911Deinitialize() : st25r3911.h
  • st25r3911DisableInterrupts() : st25r3911_interrupt.h
  • st25r3911EnableInterrupts() : st25r3911_interrupt.h
  • st25r3911ExecuteCommand() : st25r3911_com.h
  • st25r3911ExecuteCommands() : st25r3911_com.h
  • st25r3911GetInterrupt() : st25r3911_interrupt.h
  • st25r3911GetNoResponseTime_64fcs() : st25r3911.h
  • st25r3911GetNumFIFOLastBits() : st25r3911.h
  • st25r3911GetRegsDump() : st25r3911.h
  • st25r3911GetRSSI() : st25r3911.h
  • st25r3911Initialize() : st25r3911.h
  • st25r3911InitInterrupts() : st25r3911_interrupt.h
  • st25r3911IRQCallbackRestore() : st25r3911_interrupt.h
  • st25r3911IRQCallbackSet() : st25r3911_interrupt.h
  • st25r3911IsCmdValid() : st25r3911.h
  • st25r3911Isr() : st25r3911_interrupt.h
  • st25r3911IsRegValid() : st25r3911_com.h
  • st25r3911MeasureAmplitude() : st25r3911.h
  • st25r3911MeasureCapacitance() : st25r3911.h
  • st25r3911MeasurePhase() : st25r3911.h
  • st25r3911MeasurePowerSupply() : st25r3911.h
  • st25r3911MeasureVoltage() : st25r3911.h
  • st25r3911ModifyInterrupts() : st25r3911_interrupt.h
  • st25r3911ModifyRegister() : st25r3911_com.h
  • st25r3911OscOn() : st25r3911.h
  • st25r3911PerformCollisionAvoidance() : st25r3911.h
  • st25r3911ReadFifo() : st25r3911_com.h
  • st25r3911ReadMultipleRegisters() : st25r3911_com.h
  • st25r3911ReadRegister() : st25r3911_com.h
  • st25r3911ReadTestRegister() : st25r3911_com.h
  • st25r3911SetBitrate() : st25r3911.h
  • st25r3911SetGPTime_8fcs() : st25r3911.h
  • st25r3911SetNoResponseTime_64fcs() : st25r3911.h
  • st25r3911SetNumTxBits() : st25r3911.h
  • st25r3911SetRegisterBits() : st25r3911_com.h
  • st25r3911SetStartNoResponseTime_64fcs() : st25r3911.h
  • st25r3911StartGPTimer_8fcs() : st25r3911.h
  • st25r3911StreamConfigure() : st25r3911.h
  • st25r3911TxRxOff() : st25r3911.h
  • st25r3911TxRxOn() : st25r3911.h
  • st25r3911WaitForInterruptsTimed() : st25r3911_interrupt.h
  • st25r3911WriteFifo() : st25r3911_com.h
  • st25r3911WriteMultipleRegisters() : st25r3911_com.h
  • st25r3911WriteRegister() : st25r3911_com.h
  • st25r3911WriteTestRegister() : st25r3911_com.h
  • st25r3916AatTune() : st25r3916_aat.h
  • st25r3916AdjustRegulators() : st25r3916.h
  • st25r3916CalibrateCapacitiveSensor() : st25r3916.h
  • st25r3916ChangeRegisterBits() : st25r3916_com.h
  • st25r3916ChangeTestRegisterBits() : st25r3916_com.h
  • st25r3916CheckChipID() : st25r3916.h
  • st25r3916CheckForReceivedInterrupts() : st25r3916_irq.h
  • st25r3916CheckReg() : st25r3916_com.h
  • st25r3916ClearAndEnableInterrupts() : st25r3916_irq.h
  • st25r3916ClearInterrupts() : st25r3916_irq.h
  • st25r3916ClrRegisterBits() : st25r3916_com.h
  • st25r3916Deinitialize() : st25r3916.h
  • st25r3916DisableInterrupts() : st25r3916_irq.h
  • st25r3916EnableInterrupts() : st25r3916_irq.h
  • st25r3916ExecuteCommand() : st25r3916_com.h
  • st25r3916ExecuteCommandAndGetResult() : st25r3916.h
  • st25r3916GetInterrupt() : st25r3916_irq.h
  • st25r3916GetNoResponseTime() : st25r3916.h
  • st25r3916GetNumFIFOBytes() : st25r3916.h
  • st25r3916GetNumFIFOLastBits() : st25r3916.h
  • st25r3916GetRegsDump() : st25r3916.h
  • st25r3916GetRSSI() : st25r3916.h
  • st25r3916Initialize() : st25r3916.h
  • st25r3916InitInterrupts() : st25r3916_irq.h
  • st25r3916IRQCallbackRestore() : st25r3916_irq.h
  • st25r3916IRQCallbackSet() : st25r3916_irq.h
  • st25r3916IsCmdValid() : st25r3916.h
  • st25r3916Isr() : st25r3916_irq.h
  • st25r3916IsRegValid() : st25r3916_com.h
  • st25r3916ledEvtCmd() : st25r3916_led.h
  • st25r3916ledEvtIrq() : st25r3916_led.h
  • st25r3916ledEvtWrMultiReg() : st25r3916_led.h
  • st25r3916ledEvtWrReg() : st25r3916_led.h
  • st25r3916ledInit() : st25r3916_led.h
  • st25r3916MeasureAmplitude() : st25r3916.h
  • st25r3916MeasureCapacitance() : st25r3916.h
  • st25r3916MeasurePhase() : st25r3916.h
  • st25r3916MeasurePowerSupply() : st25r3916.h
  • st25r3916MeasureVoltage() : st25r3916.h
  • st25r3916ModifyInterrupts() : st25r3916_irq.h
  • st25r3916ModifyRegister() : st25r3916_com.h
  • st25r3916OscOn() : st25r3916.h
  • st25r3916PerformCollisionAvoidance() : st25r3916.h
  • st25r3916ReadFifo() : st25r3916_com.h
  • st25r3916ReadMultipleRegisters() : st25r3916_com.h
  • st25r3916ReadPTMem() : st25r3916_com.h
  • st25r3916ReadRegister() : st25r3916_com.h
  • st25r3916ReadTestRegister() : st25r3916_com.h
  • st25r3916SetBitrate() : st25r3916.h
  • st25r3916SetGPTime() : st25r3916.h
  • st25r3916SetNoResponseTime() : st25r3916.h
  • st25r3916SetNumTxBits() : st25r3916.h
  • st25r3916SetRegisterBits() : st25r3916_com.h
  • st25r3916SetStartGPTimer() : st25r3916.h
  • st25r3916SetStartNoResponseTimer() : st25r3916.h
  • st25r3916StreamConfigure() : st25r3916.h
  • st25r3916WaitForInterruptsTimed() : st25r3916_irq.h
  • st25r3916WriteFifo() : st25r3916_com.h
  • st25r3916WriteMultipleRegisters() : st25r3916_com.h
  • st25r3916WritePTMem() : st25r3916_com.h
  • st25r3916WritePTMemF() : st25r3916_com.h
  • st25r3916WritePTMemTSN() : st25r3916_com.h
  • st25r3916WriteRegister() : st25r3916_com.h
  • st25r3916WriteTestRegister() : st25r3916_com.h
  • st25r95CalibrateTagDetector() : st25r95_com.h
  • st25r95CheckChipID() : st25r95.h
  • st25r95Deinitialize() : st25r95.h
  • st25r95FieldOff() : st25r95.h
  • st25r95FieldOn() : st25r95.h
  • st25r95Initialize() : st25r95.h
  • st25r95Listen() : st25r95_com.h
  • st25r95PollField() : st25r95_com.h
  • st25r95ProtocolSelect() : st25r95_com.h
  • st25r95ReadReg() : st25r95_com.h
  • st25r95RearmListen() : st25r95_com.h
  • st25r95SetACFilter() : st25r95_com.h
  • st25r95SetBitRate() : st25r95_com.h
  • st25r95SetFWT() : st25r95_com.h
  • st25r95SetSlotCounter() : st25r95_com.h
  • st25r95SPI_nIRQ_IN_Pulse() : st25r95.h
  • st25r95SPICommandEcho() : st25r95_com.h
  • st25r95SPICompleteRx() : st25r95_com.h
  • st25r95SPIDeactivateACFilter() : st25r95_com.h
  • st25r95SPIGetIdleResponse() : st25r95_com.h
  • st25r95SPIGetLmState() : st25r95_com.h
  • st25r95SPIIdle() : st25r95_com.h
  • st25r95SPIIsInListen() : st25r95_com.h
  • st25r95SPIIsTransmitCompleted() : st25r95_com.h
  • st25r95SPIKillIdle() : st25r95_com.h
  • st25r95SPIPollRead() : st25r95_com.h
  • st25r95SPIPollSend() : st25r95_com.h
  • st25r95SPIPrepareRx() : st25r95_com.h
  • st25r95SPIResetChip() : st25r95_com.h
  • st25r95SPIRxTx() : st25r95_com.h
  • st25r95SPISendCommandTypeAndLen() : st25r95_com.h
  • st25r95SPISendData() : st25r95_com.h
  • st25r95SPISendReceiveByte() : st25r95_com.h
  • st25r95SPISendTransmitFlag() : st25r95_com.h
  • st25r95SPISetACState() : st25r95_com.h
  • st25r95UART_nIRQ_IN_Pulse() : st25r95.h
  • st25r95UARTCommandEcho() : st25r95_com.h
  • st25r95UARTCompleteRx() : st25r95_com.h
  • st25r95UartErrorCallback() : st25r95_com.h
  • st25r95UARTGetIdleResponse() : st25r95_com.h
  • st25r95UARTIdle() : st25r95_com.h
  • st25r95UARTIsTransmitTxCompleted() : st25r95_com.h
  • st25r95UARTKillIdle() : st25r95_com.h
  • st25r95UARTPollRead() : st25r95_com.h
  • st25r95UARTPrepareRx() : st25r95_com.h
  • st25r95UartRxCpltCallback() : st25r95_com.h
  • st25r95UARTSendCommandTypeAndLen() : st25r95_com.h
  • st25r95UARTSendData() : st25r95_com.h
  • st25r95UARTSendTransmitFlag() : st25r95_com.h
  • st25r95UartTxCpltCallback() : st25r95_com.h
  • st25r95WriteReg() : st25r95_com.h
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Globals

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • rfalDpoDefaultSettings : st25r3916/rfal_dpoTbl.h
  • st25r95SPIRxCtx : st25r95_com.h
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Globals

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • rfalAnalogConfigBitrate : rfal_analogConfig.h
  • rfalAnalogConfigDirection : rfal_analogConfig.h
  • rfalAnalogConfigId : rfal_analogConfig.h
  • rfalAnalogConfigMode : rfal_analogConfig.h
  • rfalAnalogConfigNum : rfal_analogConfig.h
  • rfalAnalogConfigOffset : rfal_analogConfig.h
  • rfalAnalogConfigRegAddr : rfal_analogConfig.h
  • rfalAnalogConfigRegMask : rfal_analogConfig.h
  • rfalAnalogConfigRegVal : rfal_analogConfig.h
  • rfalAnalogConfigTech : rfal_analogConfig.h
  • rfalDpoMeasureFunc : rfal_dpo.h
  • rfalFeliCaPollRes : rfal_rf.h
  • rfalNfcDepDeactCallback : rfal_nfcDep.h
  • rfalNfcfServ : rfal_nfcf.h
  • rfalPostTxRxCallback : rfal_rf.h
  • rfalPreTxRxCallback : rfal_rf.h
  • rfalSt25tbBlock : rfal_st25tb.h
  • rfalSt25tbUID : rfal_st25tb.h
  • rfalUpperLayerCallback : rfal_rf.h
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Globals

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • iso15693VcdCoding_t : rfal_iso15693_2.h
  • rfal14443AShortFrameCmd : rfal_rf.h
  • rfalBitRate : rfal_rf.h
  • rfalComplianceMode : rfal_rf.h
  • rfalEHandling : rfal_rf.h
  • rfalFeliCaPollSlots : rfal_rf.h
  • rfalIsoDepFSx : rfal_isoDep.h
  • rfalIsoDepFSxI : rfal_isoDep.h
  • rfalLmNfcidLen : rfal_rf.h
  • rfalLmState : rfal_rf.h
  • rfalMode : rfal_rf.h
  • rfalNfcaListenDeviceType : rfal_nfca.h
  • rfalNfcbSensCmd : rfal_nfcb.h
  • rfalNfcbSlots : rfal_nfcb.h
  • rfalNfcDepCommMode : rfal_nfcDep.h
  • rfalNfcDepRole : rfal_nfcDep.h
  • rfalNfcDevType : rfal_nfc.h
  • rfalNfcRfInterface : rfal_nfc.h
  • rfalNfcState : rfal_nfc.h
  • rfalNfcvNumSlots : rfal_nfcv.h
  • rfalState : rfal_rf.h
  • rfalT1Tcmds : rfal_t1t.h
  • rfalT4tCmds : rfal_t4t.h
  • rfalTransceiveState : rfal_rf.h
  • rfalWumAAWeight : rfal_rf.h
  • rfalWumPeriod : rfal_rf.h
  • rfalWumState : rfal_rf.h
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Globals

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • r

- r -

  • RFAL_14443A_SHORTFRAME_CMD_REQA : rfal_rf.h
  • RFAL_14443A_SHORTFRAME_CMD_WUPA : rfal_rf.h
  • RFAL_BR_106 : rfal_rf.h
  • RFAL_BR_13560 : rfal_rf.h
  • RFAL_BR_1695 : rfal_rf.h
  • RFAL_BR_1p66 : rfal_rf.h
  • RFAL_BR_212 : rfal_rf.h
  • RFAL_BR_26p48 : rfal_rf.h
  • RFAL_BR_3390 : rfal_rf.h
  • RFAL_BR_424 : rfal_rf.h
  • RFAL_BR_52p97 : rfal_rf.h
  • RFAL_BR_6780 : rfal_rf.h
  • RFAL_BR_848 : rfal_rf.h
  • RFAL_BR_KEEP : rfal_rf.h
  • RFAL_COMPLIANCE_MODE_EMV : rfal_rf.h
  • RFAL_COMPLIANCE_MODE_ISO : rfal_rf.h
  • RFAL_COMPLIANCE_MODE_NFC : rfal_rf.h
  • RFAL_ERRORHANDLING_EMVCO : rfal_rf.h
  • RFAL_ERRORHANDLING_NFC : rfal_rf.h
  • RFAL_ERRORHANDLING_NONE : rfal_rf.h
  • RFAL_FELICA_16_SLOTS : rfal_rf.h
  • RFAL_FELICA_1_SLOT : rfal_rf.h
  • RFAL_FELICA_2_SLOTS : rfal_rf.h
  • RFAL_FELICA_4_SLOTS : rfal_rf.h
  • RFAL_FELICA_8_SLOTS : rfal_rf.h
  • RFAL_FELICA_POLL_RC_COM_PERFORMANCE : rfal_rf.h
  • RFAL_FELICA_POLL_RC_NO_REQUEST : rfal_rf.h
  • RFAL_FELICA_POLL_RC_SYSTEM_CODE : rfal_rf.h
  • RFAL_ISODEP_FSX_1024 : rfal_isoDep.h
  • RFAL_ISODEP_FSX_128 : rfal_isoDep.h
  • RFAL_ISODEP_FSX_16 : rfal_isoDep.h
  • RFAL_ISODEP_FSX_2048 : rfal_isoDep.h
  • RFAL_ISODEP_FSX_24 : rfal_isoDep.h
  • RFAL_ISODEP_FSX_256 : rfal_isoDep.h
  • RFAL_ISODEP_FSX_32 : rfal_isoDep.h
  • RFAL_ISODEP_FSX_40 : rfal_isoDep.h
  • RFAL_ISODEP_FSX_4096 : rfal_isoDep.h
  • RFAL_ISODEP_FSX_48 : rfal_isoDep.h
  • RFAL_ISODEP_FSX_512 : rfal_isoDep.h
  • RFAL_ISODEP_FSX_64 : rfal_isoDep.h
  • RFAL_ISODEP_FSX_96 : rfal_isoDep.h
  • RFAL_ISODEP_FSXI_1024 : rfal_isoDep.h
  • RFAL_ISODEP_FSXI_128 : rfal_isoDep.h
  • RFAL_ISODEP_FSXI_16 : rfal_isoDep.h
  • RFAL_ISODEP_FSXI_2048 : rfal_isoDep.h
  • RFAL_ISODEP_FSXI_24 : rfal_isoDep.h
  • RFAL_ISODEP_FSXI_256 : rfal_isoDep.h
  • RFAL_ISODEP_FSXI_32 : rfal_isoDep.h
  • RFAL_ISODEP_FSXI_40 : rfal_isoDep.h
  • RFAL_ISODEP_FSXI_4096 : rfal_isoDep.h
  • RFAL_ISODEP_FSXI_48 : rfal_isoDep.h
  • RFAL_ISODEP_FSXI_512 : rfal_isoDep.h
  • RFAL_ISODEP_FSXI_64 : rfal_isoDep.h
  • RFAL_ISODEP_FSXI_96 : rfal_isoDep.h
  • RFAL_LM_NFCID_LEN_04 : rfal_rf.h
  • RFAL_LM_NFCID_LEN_07 : rfal_rf.h
  • RFAL_LM_NFCID_LEN_10 : rfal_rf.h
  • RFAL_LM_STATE_ACTIVE_A : rfal_rf.h
  • RFAL_LM_STATE_ACTIVE_Ax : rfal_rf.h
  • RFAL_LM_STATE_CARDEMU_3 : rfal_rf.h
  • RFAL_LM_STATE_CARDEMU_4A : rfal_rf.h
  • RFAL_LM_STATE_CARDEMU_4B : rfal_rf.h
  • RFAL_LM_STATE_IDLE : rfal_rf.h
  • RFAL_LM_STATE_NOT_INIT : rfal_rf.h
  • RFAL_LM_STATE_POWER_OFF : rfal_rf.h
  • RFAL_LM_STATE_READY_A : rfal_rf.h
  • RFAL_LM_STATE_READY_Ax : rfal_rf.h
  • RFAL_LM_STATE_READY_B : rfal_rf.h
  • RFAL_LM_STATE_READY_F : rfal_rf.h
  • RFAL_LM_STATE_SLEEP_A : rfal_rf.h
  • RFAL_LM_STATE_SLEEP_AF : rfal_rf.h
  • RFAL_LM_STATE_SLEEP_B : rfal_rf.h
  • RFAL_LM_STATE_TARGET_A : rfal_rf.h
  • RFAL_LM_STATE_TARGET_F : rfal_rf.h
  • RFAL_MODE_LISTEN_ACTIVE_P2P : rfal_rf.h
  • RFAL_MODE_LISTEN_NFCA : rfal_rf.h
  • RFAL_MODE_LISTEN_NFCB : rfal_rf.h
  • RFAL_MODE_LISTEN_NFCF : rfal_rf.h
  • RFAL_MODE_NONE : rfal_rf.h
  • RFAL_MODE_POLL_ACTIVE_P2P : rfal_rf.h
  • RFAL_MODE_POLL_B_CTS : rfal_rf.h
  • RFAL_MODE_POLL_B_PRIME : rfal_rf.h
  • RFAL_MODE_POLL_NFCA : rfal_rf.h
  • RFAL_MODE_POLL_NFCA_T1T : rfal_rf.h
  • RFAL_MODE_POLL_NFCB : rfal_rf.h
  • RFAL_MODE_POLL_NFCF : rfal_rf.h
  • RFAL_MODE_POLL_NFCV : rfal_rf.h
  • RFAL_MODE_POLL_PICOPASS : rfal_rf.h
  • RFAL_NFC_INTERFACE_ISODEP : rfal_nfc.h
  • RFAL_NFC_INTERFACE_NFCDEP : rfal_nfc.h
  • RFAL_NFC_INTERFACE_RF : rfal_nfc.h
  • RFAL_NFC_LISTEN_TYPE_AP2P : rfal_nfc.h
  • RFAL_NFC_LISTEN_TYPE_NFCA : rfal_nfc.h
  • RFAL_NFC_LISTEN_TYPE_NFCB : rfal_nfc.h
  • RFAL_NFC_LISTEN_TYPE_NFCF : rfal_nfc.h
  • RFAL_NFC_LISTEN_TYPE_NFCV : rfal_nfc.h
  • RFAL_NFC_LISTEN_TYPE_ST25TB : rfal_nfc.h
  • RFAL_NFC_POLL_TYPE_AP2P : rfal_nfc.h
  • RFAL_NFC_POLL_TYPE_NFCA : rfal_nfc.h
  • RFAL_NFC_POLL_TYPE_NFCB : rfal_nfc.h
  • RFAL_NFC_POLL_TYPE_NFCF : rfal_nfc.h
  • RFAL_NFC_POLL_TYPE_NFCV : rfal_nfc.h
  • RFAL_NFC_STATE_ACTIVATED : rfal_nfc.h
  • RFAL_NFC_STATE_DATAEXCHANGE : rfal_nfc.h
  • RFAL_NFC_STATE_DATAEXCHANGE_DONE : rfal_nfc.h
  • RFAL_NFC_STATE_DEACTIVATION : rfal_nfc.h
  • RFAL_NFC_STATE_IDLE : rfal_nfc.h
  • RFAL_NFC_STATE_LISTEN_ACTIVATION : rfal_nfc.h
  • RFAL_NFC_STATE_LISTEN_COLAVOIDANCE : rfal_nfc.h
  • RFAL_NFC_STATE_LISTEN_SLEEP : rfal_nfc.h
  • RFAL_NFC_STATE_LISTEN_TECHDETECT : rfal_nfc.h
  • RFAL_NFC_STATE_NOTINIT : rfal_nfc.h
  • RFAL_NFC_STATE_POLL_ACTIVATION : rfal_nfc.h
  • RFAL_NFC_STATE_POLL_COLAVOIDANCE : rfal_nfc.h
  • RFAL_NFC_STATE_POLL_SELECT : rfal_nfc.h
  • RFAL_NFC_STATE_POLL_TECHDETECT : rfal_nfc.h
  • RFAL_NFC_STATE_START_DISCOVERY : rfal_nfc.h
  • RFAL_NFC_STATE_WAKEUP_MODE : rfal_nfc.h
  • RFAL_NFCB_SENS_CMD_ALLB_REQ : rfal_nfcb.h
  • RFAL_NFCB_SENS_CMD_SENSB_REQ : rfal_nfcb.h
  • RFAL_NFCB_SLOT_NUM_1 : rfal_nfcb.h
  • RFAL_NFCB_SLOT_NUM_16 : rfal_nfcb.h
  • RFAL_NFCB_SLOT_NUM_2 : rfal_nfcb.h
  • RFAL_NFCB_SLOT_NUM_4 : rfal_nfcb.h
  • RFAL_NFCB_SLOT_NUM_8 : rfal_nfcb.h
  • RFAL_NFCDEP_Bx_08_848 : rfal_nfcDep.h
  • RFAL_NFCDEP_Bx_16_1695 : rfal_nfcDep.h
  • RFAL_NFCDEP_Bx_32_3390 : rfal_nfcDep.h
  • RFAL_NFCDEP_Bx_64_6780 : rfal_nfcDep.h
  • RFAL_NFCDEP_Bx_NO_HIGH_BR : rfal_nfcDep.h
  • RFAL_NFCDEP_COMM_ACTIVE : rfal_nfcDep.h
  • RFAL_NFCDEP_COMM_PASSIVE : rfal_nfcDep.h
  • RFAL_NFCDEP_Dx_01_106 : rfal_nfcDep.h
  • RFAL_NFCDEP_Dx_02_212 : rfal_nfcDep.h
  • RFAL_NFCDEP_Dx_04_424 : rfal_nfcDep.h
  • RFAL_NFCDEP_Dx_08_848 : rfal_nfcDep.h
  • RFAL_NFCDEP_Dx_16_1695 : rfal_nfcDep.h
  • RFAL_NFCDEP_Dx_32_3390 : rfal_nfcDep.h
  • RFAL_NFCDEP_Dx_64_6780 : rfal_nfcDep.h
  • RFAL_NFCDEP_LR_128 : rfal_nfcDep.h
  • RFAL_NFCDEP_LR_192 : rfal_nfcDep.h
  • RFAL_NFCDEP_LR_254 : rfal_nfcDep.h
  • RFAL_NFCDEP_LR_64 : rfal_nfcDep.h
  • RFAL_NFCDEP_ROLE_INITIATOR : rfal_nfcDep.h
  • RFAL_NFCDEP_ROLE_TARGET : rfal_nfcDep.h
  • RFAL_NFCF_CMD_AUTHENTICATION1 : rfal_nfcf.h
  • RFAL_NFCF_CMD_AUTHENTICATION2 : rfal_nfcf.h
  • RFAL_NFCF_CMD_POLLING : rfal_nfcf.h
  • RFAL_NFCF_CMD_POLLING_RES : rfal_nfcf.h
  • RFAL_NFCF_CMD_READ : rfal_nfcf.h
  • RFAL_NFCF_CMD_READ_WITHOUT_ENCRYPTION : rfal_nfcf.h
  • RFAL_NFCF_CMD_READ_WITHOUT_ENCRYPTION_RES : rfal_nfcf.h
  • RFAL_NFCF_CMD_REQUEST_RESPONSE : rfal_nfcf.h
  • RFAL_NFCF_CMD_REQUEST_SERVICE : rfal_nfcf.h
  • RFAL_NFCF_CMD_REQUEST_SYSTEM_CODE : rfal_nfcf.h
  • RFAL_NFCF_CMD_WRITE : rfal_nfcf.h
  • RFAL_NFCF_CMD_WRITE_WITHOUT_ENCRYPTION : rfal_nfcf.h
  • RFAL_NFCF_CMD_WRITE_WITHOUT_ENCRYPTION_RES : rfal_nfcf.h
  • RFAL_NFCV_CMD_ENABLE_EAS : rfal_nfcv.h
  • RFAL_NFCV_CMD_EXTENDED_GET_SYS_INFO : rfal_nfcv.h
  • RFAL_NFCV_CMD_EXTENDED_LOCK_SINGLE_BLOCK : rfal_nfcv.h
  • RFAL_NFCV_CMD_EXTENDED_READ_MULTIPLE_BLOCK : rfal_nfcv.h
  • RFAL_NFCV_CMD_EXTENDED_READ_SINGLE_BLOCK : rfal_nfcv.h
  • RFAL_NFCV_CMD_EXTENDED_WRITE_MULTIPLE_BLOCK : rfal_nfcv.h
  • RFAL_NFCV_CMD_EXTENDED_WRITE_SINGLE_BLOCK : rfal_nfcv.h
  • RFAL_NFCV_CMD_FAST_EXTENDED_READ_MULTIPLE_BLOCKS : rfal_nfcv.h
  • RFAL_NFCV_CMD_FAST_EXTENDED_READ_SINGLE_BLOCK : rfal_nfcv.h
  • RFAL_NFCV_CMD_FAST_READ_DYN_CONFIGURATION : rfal_nfcv.h
  • RFAL_NFCV_CMD_FAST_READ_MESSAGE : rfal_nfcv.h
  • RFAL_NFCV_CMD_FAST_READ_MESSAGE_LENGTH : rfal_nfcv.h
  • RFAL_NFCV_CMD_FAST_READ_MULTIPLE_BLOCKS : rfal_nfcv.h
  • RFAL_NFCV_CMD_FAST_READ_SINGLE_BLOCK : rfal_nfcv.h
  • RFAL_NFCV_CMD_FAST_WRITE_DYN_CONFIGURATION : rfal_nfcv.h
  • RFAL_NFCV_CMD_FAST_WRITE_MESSAGE : rfal_nfcv.h
  • RFAL_NFCV_CMD_GET_RANDOM_NUMBER : rfal_nfcv.h
  • RFAL_NFCV_CMD_GET_SYS_INFO : rfal_nfcv.h
  • RFAL_NFCV_CMD_INVENTORY : rfal_nfcv.h
  • RFAL_NFCV_CMD_KILL : rfal_nfcv.h
  • RFAL_NFCV_CMD_LOCK_BLOCK : rfal_nfcv.h
  • RFAL_NFCV_CMD_LOCK_EAS : rfal_nfcv.h
  • RFAL_NFCV_CMD_LOCK_KILL : rfal_nfcv.h
  • RFAL_NFCV_CMD_MANAGE_GPO : rfal_nfcv.h
  • RFAL_NFCV_CMD_PRESENT_PASSWORD : rfal_nfcv.h
  • RFAL_NFCV_CMD_READ_CONFIGURATION : rfal_nfcv.h
  • RFAL_NFCV_CMD_READ_DYN_CONFIGURATION : rfal_nfcv.h
  • RFAL_NFCV_CMD_READ_MESSAGE : rfal_nfcv.h
  • RFAL_NFCV_CMD_READ_MESSAGE_LENGTH : rfal_nfcv.h
  • RFAL_NFCV_CMD_READ_MULTIPLE_BLOCKS : rfal_nfcv.h
  • RFAL_NFCV_CMD_READ_SINGLE_BLOCK : rfal_nfcv.h
  • RFAL_NFCV_CMD_RESET_EAS : rfal_nfcv.h
  • RFAL_NFCV_CMD_RESET_TO_READY : rfal_nfcv.h
  • RFAL_NFCV_CMD_SELECT : rfal_nfcv.h
  • RFAL_NFCV_CMD_SET_EAS : rfal_nfcv.h
  • RFAL_NFCV_CMD_SLPV : rfal_nfcv.h
  • RFAL_NFCV_CMD_WRITE_CONFIGURATION : rfal_nfcv.h
  • RFAL_NFCV_CMD_WRITE_DYN_CONFIGURATION : rfal_nfcv.h
  • RFAL_NFCV_CMD_WRITE_EAS_CONFIG : rfal_nfcv.h
  • RFAL_NFCV_CMD_WRITE_EAS_ID : rfal_nfcv.h
  • RFAL_NFCV_CMD_WRITE_MESSAGE : rfal_nfcv.h
  • RFAL_NFCV_CMD_WRITE_MULTIPLE_BLOCKS : rfal_nfcv.h
  • RFAL_NFCV_CMD_WRITE_PASSWORD : rfal_nfcv.h
  • RFAL_NFCV_CMD_WRITE_SINGLE_BLOCK : rfal_nfcv.h
  • RFAL_NFCV_ERROR_BLOCK_ALREDY_LOCKED : rfal_nfcv.h
  • RFAL_NFCV_ERROR_BLOCK_FAILED : rfal_nfcv.h
  • RFAL_NFCV_ERROR_BLOCK_LOCKED : rfal_nfcv.h
  • RFAL_NFCV_ERROR_BLOCK_NOT_AVALIABLE : rfal_nfcv.h
  • RFAL_NFCV_ERROR_CMD_NOT_RECOGNIZED : rfal_nfcv.h
  • RFAL_NFCV_ERROR_CMD_NOT_SUPPORTED : rfal_nfcv.h
  • RFAL_NFCV_ERROR_OPTION_NOT_SUPPORTED : rfal_nfcv.h
  • RFAL_NFCV_ERROR_UNKNOWN : rfal_nfcv.h
  • RFAL_NFCV_ERROR_WRITE_FAILED : rfal_nfcv.h
  • RFAL_NFCV_NUM_SLOTS_1 : rfal_nfcv.h
  • RFAL_NFCV_NUM_SLOTS_16 : rfal_nfcv.h
  • RFAL_NFCV_REQ_FLAG_ADDRESS : rfal_nfcv.h
  • RFAL_NFCV_REQ_FLAG_AFI : rfal_nfcv.h
  • RFAL_NFCV_REQ_FLAG_DATA_RATE : rfal_nfcv.h
  • RFAL_NFCV_REQ_FLAG_DEFAULT : rfal_nfcv.h
  • RFAL_NFCV_REQ_FLAG_INVENTORY : rfal_nfcv.h
  • RFAL_NFCV_REQ_FLAG_NB_SLOTS : rfal_nfcv.h
  • RFAL_NFCV_REQ_FLAG_OPTION : rfal_nfcv.h
  • RFAL_NFCV_REQ_FLAG_PROTOCOL_EXT : rfal_nfcv.h
  • RFAL_NFCV_REQ_FLAG_RFU : rfal_nfcv.h
  • RFAL_NFCV_REQ_FLAG_SELECT : rfal_nfcv.h
  • RFAL_NFCV_REQ_FLAG_SUB_CARRIER : rfal_nfcv.h
  • RFAL_NFCV_RES_FLAG_ERROR : rfal_nfcv.h
  • RFAL_NFCV_RES_FLAG_EXTENSION : rfal_nfcv.h
  • RFAL_NFCV_RES_FLAG_RFU1 : rfal_nfcv.h
  • RFAL_NFCV_RES_FLAG_RFU2 : rfal_nfcv.h
  • RFAL_NFCV_RES_FLAG_RFU3 : rfal_nfcv.h
  • RFAL_NFCV_RES_FLAG_RFU4 : rfal_nfcv.h
  • RFAL_NFCV_RES_FLAG_RFU5 : rfal_nfcv.h
  • RFAL_NFCV_RES_FLAG_RFU6 : rfal_nfcv.h
  • RFAL_NFCV_SYSINFO_AFI : rfal_nfcv.h
  • RFAL_NFCV_SYSINFO_CMDLIST : rfal_nfcv.h
  • RFAL_NFCV_SYSINFO_CSI : rfal_nfcv.h
  • RFAL_NFCV_SYSINFO_DFSID : rfal_nfcv.h
  • RFAL_NFCV_SYSINFO_ICREF : rfal_nfcv.h
  • RFAL_NFCV_SYSINFO_MEMSIZE : rfal_nfcv.h
  • RFAL_NFCV_SYSINFO_MOI : rfal_nfcv.h
  • RFAL_NFCV_SYSINFO_REQ_ALL : rfal_nfcv.h
  • RFAL_T1T_CMD_RALL : rfal_t1t.h
  • RFAL_T1T_CMD_READ : rfal_t1t.h
  • RFAL_T1T_CMD_RID : rfal_t1t.h
  • RFAL_T1T_CMD_WRITE_E : rfal_t1t.h
  • RFAL_T1T_CMD_WRITE_NE : rfal_t1t.h
  • RFAL_T4T_INS_READBINARY : rfal_t4t.h
  • RFAL_T4T_INS_READBINARY_ODO : rfal_t4t.h
  • RFAL_T4T_INS_SELECT : rfal_t4t.h
  • RFAL_T4T_INS_UPDATEBINARY : rfal_t4t.h
  • RFAL_T4T_INS_UPDATEBINARY_ODO : rfal_t4t.h
  • RFAL_TXRX_FLAGS_AGC_OFF : rfal_rf.h
  • RFAL_TXRX_FLAGS_AGC_ON : rfal_rf.h
  • RFAL_TXRX_FLAGS_CRC_RX_KEEP : rfal_rf.h
  • RFAL_TXRX_FLAGS_CRC_RX_REMV : rfal_rf.h
  • RFAL_TXRX_FLAGS_CRC_TX_AUTO : rfal_rf.h
  • RFAL_TXRX_FLAGS_CRC_TX_MANUAL : rfal_rf.h
  • RFAL_TXRX_FLAGS_NFCIP1_OFF : rfal_rf.h
  • RFAL_TXRX_FLAGS_NFCIP1_ON : rfal_rf.h
  • RFAL_TXRX_FLAGS_NFCV_FLAG_AUTO : rfal_rf.h
  • RFAL_TXRX_FLAGS_NFCV_FLAG_MANUAL : rfal_rf.h
  • RFAL_TXRX_FLAGS_PAR_RX_KEEP : rfal_rf.h
  • RFAL_TXRX_FLAGS_PAR_RX_REMV : rfal_rf.h
  • RFAL_TXRX_FLAGS_PAR_TX_AUTO : rfal_rf.h
  • RFAL_TXRX_FLAGS_PAR_TX_NONE : rfal_rf.h
  • RFAL_WUM_AA_WEIGHT_16 : rfal_rf.h
  • RFAL_WUM_AA_WEIGHT_32 : rfal_rf.h
  • RFAL_WUM_AA_WEIGHT_4 : rfal_rf.h
  • RFAL_WUM_AA_WEIGHT_8 : rfal_rf.h
  • RFAL_WUM_PERIOD_100MS : rfal_rf.h
  • RFAL_WUM_PERIOD_10MS : rfal_rf.h
  • RFAL_WUM_PERIOD_200MS : rfal_rf.h
  • RFAL_WUM_PERIOD_20MS : rfal_rf.h
  • RFAL_WUM_PERIOD_300MS : rfal_rf.h
  • RFAL_WUM_PERIOD_30MS : rfal_rf.h
  • RFAL_WUM_PERIOD_400MS : rfal_rf.h
  • RFAL_WUM_PERIOD_40MS : rfal_rf.h
  • RFAL_WUM_PERIOD_500MS : rfal_rf.h
  • RFAL_WUM_PERIOD_50MS : rfal_rf.h
  • RFAL_WUM_PERIOD_600MS : rfal_rf.h
  • RFAL_WUM_PERIOD_60MS : rfal_rf.h
  • RFAL_WUM_PERIOD_700MS : rfal_rf.h
  • RFAL_WUM_PERIOD_70MS : rfal_rf.h
  • RFAL_WUM_PERIOD_800MS : rfal_rf.h
  • RFAL_WUM_PERIOD_80MS : rfal_rf.h
  • RFAL_WUM_STATE_ENABLED : rfal_rf.h
  • RFAL_WUM_STATE_ENABLED_WOKE : rfal_rf.h
  • RFAL_WUM_STATE_NOT_INIT : rfal_rf.h
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Globals

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • i
  • m
  • r
  • s

- i -

  • ISO15693_FWT : rfal_iso15693_2.h
  • ISO15693_MASK_FDT_LISTEN : rfal_iso15693_2.h
  • ISO15693_REQ_FLAG_HIGH_DATARATE : rfal_iso15693_2.h
  • ISO15693_REQ_FLAG_TWO_SUBCARRIERS : rfal_iso15693_2.h
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Globals

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • i
  • m
  • r
  • s

- m -

  • MS_FROM_64FCS : st25r3911.h
  • MS_TO_64FCS : st25r3911.h
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Globals

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • i
  • m
  • r
  • s

- r -

  • RFAL_1FC_IN_4096FC : rfal_rf.h
  • RFAL_1FC_IN_512FC : rfal_rf.h
  • RFAL_1FC_IN_64FC : rfal_rf.h
  • RFAL_1FC_IN_8FC : rfal_rf.h
  • RFAL_1MS_IN_1FC : rfal_rf.h
  • RFAL_ANALOG_CONFIG_ANTICOL : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_BITRATE_106 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_BITRATE_1695 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_BITRATE_1OF256 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_BITRATE_1OF4 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_BITRATE_212 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_BITRATE_3390 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_BITRATE_424 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_BITRATE_6780 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_BITRATE_848 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_BITRATE_COMMON : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_BITRATE_MASK : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_BITRATE_SHIFT : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_CHIP_DEINIT : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_CHIP_FIELD_OFF : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_CHIP_FIELD_ON : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_CHIP_INIT : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_CHIP_LISTEN_COMMON : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_CHIP_LISTEN_OFF : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_CHIP_LISTEN_ON : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_CHIP_LOWPOWER_OFF : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_CHIP_LOWPOWER_ON : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_CHIP_POLL_COMMON : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_CHIP_SPECIFIC_MASK : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_CHIP_WAKEUP_OFF : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_CHIP_WAKEUP_ON : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_CONFIG_NUM : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_DIRECTION_MASK : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_DIRECTION_SHIFT : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_DPO : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_GET_BITRATE : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_GET_DIRECTION : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_GET_POLL_LISTEN : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_GET_TECH : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_106 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_1695 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_1OF256 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_1OF4 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_212 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_3390 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_424 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_6780 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_848 : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_AP2P : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_CHIP : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_COMMON : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_NFCA : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_NFCB : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_NFCF : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_NFCV : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_RX : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_IS_TX : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_ID_SET : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_LISTEN : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_LUT_NOT_FOUND : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_LUT_SIZE : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_NO_DIRECTION : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_POLL : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_POLL_LISTEN_MODE_MASK : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_POLL_LISTEN_MODE_SHIFT : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_RX : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_TBL_SIZE : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_TECH_AP2P : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_TECH_CHIP : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_TECH_MASK : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_TECH_NFCA : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_TECH_NFCB : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_TECH_NFCF : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_TECH_NFCV : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_TECH_RFU : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_TECH_SHIFT : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_TX : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_UPDATE_LAST : rfal_analogConfig.h
  • RFAL_ANALOG_CONFIG_UPDATE_MORE : rfal_analogConfig.h
  • RFAL_BITS_IN_BYTE : rfal_rf.h
  • RFAL_CRC_LEN : rfal_rf.h
  • RFAL_DPO_TABLE_PARAMETER : rfal_dpo.h
  • RFAL_DPO_TABLE_SIZE_MAX : rfal_dpo.h
  • RFAL_FDT_LISTEN_AP2P_LISTENER : rfal_rf.h
  • RFAL_FDT_LISTEN_AP2P_POLLER : rfal_rf.h
  • RFAL_FDT_LISTEN_NFCA_LISTENER : rfal_rf.h
  • RFAL_FDT_LISTEN_NFCA_POLLER : rfal_rf.h
  • RFAL_FDT_LISTEN_NFCB_LISTENER : rfal_rf.h
  • RFAL_FDT_LISTEN_NFCB_POLLER : rfal_rf.h
  • RFAL_FDT_LISTEN_NFCF_LISTENER : rfal_rf.h
  • RFAL_FDT_LISTEN_NFCF_POLLER : rfal_rf.h
  • RFAL_FDT_LISTEN_NFCV_POLLER : rfal_rf.h
  • RFAL_FDT_LISTEN_PICOPASS_POLLER : rfal_rf.h
  • RFAL_FDT_POLL_AP2P_POLLER : rfal_rf.h
  • RFAL_FDT_POLL_NFCA_POLLER : rfal_rf.h
  • RFAL_FDT_POLL_NFCA_T1T_POLLER : rfal_rf.h
  • RFAL_FDT_POLL_NFCB_POLLER : rfal_rf.h
  • RFAL_FDT_POLL_NFCF_POLLER : rfal_rf.h
  • RFAL_FDT_POLL_NFCV_POLLER : rfal_rf.h
  • RFAL_FDT_POLL_PICOPASS_POLLER : rfal_rf.h
  • RFAL_FEATURE_ISO_DEP : rfal_isoDep.h
  • RFAL_FEATURE_ISO_DEP_APDU_MAX_LEN : rfal_isoDep.h
  • RFAL_FEATURE_ISO_DEP_IBLOCK_MAX_LEN : rfal_isoDep.h
  • RFAL_FEATURE_NFC_DEP : rfal_nfcDep.h
  • RFAL_FEATURE_NFC_DEP_BLOCK_MAX_LEN : rfal_nfcDep.h
  • RFAL_FEATURE_NFC_DEP_PDU_MAX_LEN : rfal_nfcDep.h
  • RFAL_FELICA_LEN_LEN : rfal_rf.h
  • RFAL_FELICA_POLL_MAX_SLOTS : rfal_rf.h
  • RFAL_FELICA_POLL_REQ_LEN : rfal_rf.h
  • RFAL_FELICA_POLL_RES_LEN : rfal_rf.h
  • RFAL_FWT_NONE : rfal_rf.h
  • RFAL_GT_AP2P : rfal_rf.h
  • RFAL_GT_AP2P_ADJUSTED : rfal_rf.h
  • RFAL_GT_NFCA : rfal_rf.h
  • RFAL_GT_NFCB : rfal_rf.h
  • RFAL_GT_NFCF : rfal_rf.h
  • RFAL_GT_NFCV : rfal_rf.h
  • RFAL_GT_NONE : rfal_rf.h
  • RFAL_GT_PICOPASS : rfal_rf.h
  • RFAL_ISODEP_ADV_FEATURE : rfal_isoDep.h
  • RFAL_ISODEP_APDU_MAX_LEN : rfal_isoDep.h
  • RFAL_ISODEP_ATS_HB_MAX_LEN : rfal_isoDep.h
  • RFAL_ISODEP_ATS_T0_FSCI_MASK : rfal_isoDep.h
  • RFAL_ISODEP_ATS_T0_OFFSET : rfal_isoDep.h
  • RFAL_ISODEP_ATS_T0_TA_PRESENCE_MASK : rfal_isoDep.h
  • RFAL_ISODEP_ATS_T0_TB_PRESENCE_MASK : rfal_isoDep.h
  • RFAL_ISODEP_ATS_T0_TC_PRESENCE_MASK : rfal_isoDep.h
  • RFAL_ISODEP_ATS_TA_DLP_212 : rfal_isoDep.h
  • RFAL_ISODEP_ATS_TA_DLP_424 : rfal_isoDep.h
  • RFAL_ISODEP_ATS_TA_DLP_848 : rfal_isoDep.h
  • RFAL_ISODEP_ATS_TA_DPL_212 : rfal_isoDep.h
  • RFAL_ISODEP_ATS_TA_DPL_424 : rfal_isoDep.h
  • RFAL_ISODEP_ATS_TA_DPL_848 : rfal_isoDep.h
  • RFAL_ISODEP_ATS_TA_SAME_D : rfal_isoDep.h
  • RFAL_ISODEP_ATS_TB_FWI_MASK : rfal_isoDep.h
  • RFAL_ISODEP_ATS_TB_SFGI_MASK : rfal_isoDep.h
  • RFAL_ISODEP_ATTRIB_HLINFO_LEN : rfal_isoDep.h
  • RFAL_ISODEP_ATTRIB_REQ_MIN_LEN : rfal_isoDep.h
  • RFAL_ISODEP_ATTRIB_REQ_PARAM1_DEFAULT : rfal_isoDep.h
  • RFAL_ISODEP_ATTRIB_RES_MBLI_NO_INFO : rfal_isoDep.h
  • RFAL_ISODEP_ATTRIB_RES_MIN_LEN : rfal_isoDep.h
  • RFAL_ISODEP_BITRATE_RFU_MASK : rfal_isoDep.h
  • RFAL_ISODEP_BRI_MASK : rfal_isoDep.h
  • RFAL_ISODEP_BSI_MASK : rfal_isoDep.h
  • RFAL_ISODEP_DEFAULT_FSC : rfal_isoDep.h
  • RFAL_ISODEP_DEFAULT_FSCI : rfal_isoDep.h
  • RFAL_ISODEP_DEFAULT_FWI : rfal_isoDep.h
  • RFAL_ISODEP_DEFAULT_SFGI : rfal_isoDep.h
  • RFAL_ISODEP_DID_LEN : rfal_isoDep.h
  • RFAL_ISODEP_DID_MAX : rfal_isoDep.h
  • RFAL_ISODEP_FSDI_DEFAULT : rfal_isoDep.h
  • RFAL_ISODEP_FSX_KEEP : rfal_isoDep.h
  • RFAL_ISODEP_FWI_DEFAULT : rfal_isoDep.h
  • RFAL_ISODEP_FWI_MASK : rfal_isoDep.h
  • RFAL_ISODEP_FWI_SHIFT : rfal_isoDep.h
  • RFAL_ISODEP_MAX_DSL_RETRYS : rfal_isoDep.h
  • RFAL_ISODEP_MAX_FWT : rfal_isoDep.h
  • RFAL_ISODEP_MAX_I_RETRYS : rfal_isoDep.h
  • RFAL_ISODEP_MAX_R_RETRYS : rfal_isoDep.h
  • RFAL_ISODEP_MAX_WTX_NACK_RETRYS : rfal_isoDep.h
  • RFAL_ISODEP_MAX_WTX_RETRYS : rfal_isoDep.h
  • RFAL_ISODEP_MAX_WTX_RETRYS_ULTD : rfal_isoDep.h
  • RFAL_ISODEP_NAD_LEN : rfal_isoDep.h
  • RFAL_ISODEP_NO_DID : rfal_isoDep.h
  • RFAL_ISODEP_NO_NAD : rfal_isoDep.h
  • RFAL_ISODEP_PCB_LEN : rfal_isoDep.h
  • RFAL_ISODEP_PROLOGUE_SIZE : rfal_isoDep.h
  • RFAL_ISODEP_RATS_RETRIES : rfal_isoDep.h
  • RFAL_ISODEP_SAME_BITRATE_MASK : rfal_isoDep.h
  • RFAL_ISODEP_SPARAM_TAG_BLOCKINFO : rfal_isoDep.h
  • RFAL_ISODEP_SPARAM_TAG_BRACK : rfal_isoDep.h
  • RFAL_ISODEP_SPARAM_TAG_BRACK_LEN : rfal_isoDep.h
  • RFAL_ISODEP_SPARAM_TAG_BRACT : rfal_isoDep.h
  • RFAL_ISODEP_SPARAM_TAG_BRIND : rfal_isoDep.h
  • RFAL_ISODEP_SPARAM_TAG_BRREQ : rfal_isoDep.h
  • RFAL_ISODEP_SPARAM_TAG_BRREQ_LEN : rfal_isoDep.h
  • RFAL_ISODEP_SPARAM_TAG_LEN : rfal_isoDep.h
  • RFAL_ISODEP_SPARAM_TAG_PCD2PICC_LEN : rfal_isoDep.h
  • RFAL_ISODEP_SPARAM_TAG_PICC2PCD_LEN : rfal_isoDep.h
  • RFAL_ISODEP_SPARAM_TAG_SEL_FRAME : rfal_isoDep.h
  • RFAL_ISODEP_SPARAM_TAG_SEL_PCD2PICC : rfal_isoDep.h
  • RFAL_ISODEP_SPARAM_TAG_SEL_PICC2PCD : rfal_isoDep.h
  • RFAL_ISODEP_SPARAM_TAG_SUP_FRAME : rfal_isoDep.h
  • RFAL_ISODEP_SPARAM_TAG_SUP_PCD2PICC : rfal_isoDep.h
  • RFAL_ISODEP_SPARAM_TAG_SUP_PICC2PCD : rfal_isoDep.h
  • RFAL_ISODEP_SPARAM_VALUES_MAX_LEN : rfal_isoDep.h
  • RFAL_LM_MASK_ACTIVE_P2P : rfal_rf.h
  • RFAL_LM_MASK_NFCA : rfal_rf.h
  • RFAL_LM_MASK_NFCB : rfal_rf.h
  • RFAL_LM_MASK_NFCF : rfal_rf.h
  • RFAL_LM_SENS_RES_LEN : rfal_rf.h
  • RFAL_LM_SENSB_RES_LEN : rfal_rf.h
  • RFAL_LM_SENSF_RES_LEN : rfal_rf.h
  • RFAL_LM_SENSF_SC_LEN : rfal_rf.h
  • RFAL_NFC_LISTEN_TECH_A : rfal_nfc.h
  • RFAL_NFC_LISTEN_TECH_AP2P : rfal_nfc.h
  • RFAL_NFC_LISTEN_TECH_B : rfal_nfc.h
  • RFAL_NFC_LISTEN_TECH_F : rfal_nfc.h
  • RFAL_NFC_POLL_TECH_A : rfal_nfc.h
  • RFAL_NFC_POLL_TECH_AP2P : rfal_nfc.h
  • RFAL_NFC_POLL_TECH_B : rfal_nfc.h
  • RFAL_NFC_POLL_TECH_F : rfal_nfc.h
  • RFAL_NFC_POLL_TECH_ST25TB : rfal_nfc.h
  • RFAL_NFC_POLL_TECH_V : rfal_nfc.h
  • RFAL_NFC_TECH_NONE : rfal_nfc.h
  • RFAL_NFCA_CASCADE_1_UID_LEN : rfal_nfca.h
  • RFAL_NFCA_CASCADE_2_UID_LEN : rfal_nfca.h
  • RFAL_NFCA_CASCADE_3_UID_LEN : rfal_nfca.h
  • RFAL_NFCA_FDTMIN : rfal_nfca.h
  • RFAL_NFCA_SEL_RES_CONF_MASK : rfal_nfca.h
  • RFAL_NFCA_SEL_RES_CONF_NFCDEP : rfal_nfca.h
  • RFAL_NFCA_SEL_RES_CONF_T2T : rfal_nfca.h
  • RFAL_NFCA_SEL_RES_CONF_T4T : rfal_nfca.h
  • RFAL_NFCA_SEL_RES_CONF_T4T_NFCDEP : rfal_nfca.h
  • RFAL_NFCA_SENS_RES_PLATFORM_MASK : rfal_nfca.h
  • RFAL_NFCA_SENS_RES_PLATFORM_T1T : rfal_nfca.h
  • RFAL_NFCB_AFI : rfal_nfcb.h
  • RFAL_NFCB_CMD_LEN : rfal_nfcb.h
  • RFAL_NFCB_CRC_LEN : rfal_nfcb.h
  • RFAL_NFCB_DFWT : rfal_nfcb.h
  • RFAL_NFCB_DTPOLL_10 : rfal_nfcb.h
  • RFAL_NFCB_DTPOLL_20 : rfal_nfcb.h
  • RFAL_NFCB_FWTSENSB : rfal_nfcb.h
  • RFAL_NFCB_NFCID0_LEN : rfal_nfcb.h
  • RFAL_NFCB_PARAM : rfal_nfcb.h
  • RFAL_NFCB_SENSB_REQ_ADV_FEATURE : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_ADC_ADV_FEATURE_MASK : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_ADC_MASK : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_ADC_PROPRIETARY_MASK : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_EXT_LEN : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_FO_DID_MASK : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_FO_MASK : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_FO_NAD_MASK : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_FSCI_MASK : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_FSCI_SHIFT : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_FWI_MASK : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_FWI_SHIFT : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_LEN : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_PROTO_ISO_MASK : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_PROTO_RFU_MASK : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_PROTO_TR2_MASK : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_PROTO_TR2_SHIFT : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_SFGI_MASK : rfal_nfcb.h
  • RFAL_NFCB_SENSB_RES_SFGI_SHIFT : rfal_nfcb.h
  • RFAL_NFCDEP_ATR_REQ_NFCID3_POS : rfal_nfcDep.h
  • RFAL_NFCDEP_ATRREQ_MAX_LEN : rfal_nfcDep.h
  • RFAL_NFCDEP_ATRREQ_MIN_LEN : rfal_nfcDep.h
  • RFAL_NFCDEP_ATRRES_HEADER_LEN : rfal_nfcDep.h
  • RFAL_NFCDEP_ATRRES_MAX_LEN : rfal_nfcDep.h
  • RFAL_NFCDEP_ATRRES_MIN_LEN : rfal_nfcDep.h
  • RFAL_NFCDEP_BR_MASK_106 : rfal_nfcDep.h
  • RFAL_NFCDEP_BR_MASK_212 : rfal_nfcDep.h
  • RFAL_NFCDEP_BR_MASK_424 : rfal_nfcDep.h
  • RFAL_NFCDEP_BRS_DSI_POS : rfal_nfcDep.h
  • RFAL_NFCDEP_BRS_Dx_MASK : rfal_nfcDep.h
  • RFAL_NFCDEP_BRS_MAINTAIN : rfal_nfcDep.h
  • RFAL_NFCDEP_CMD_LEN : rfal_nfcDep.h
  • RFAL_NFCDEP_CMDTYPE_LEN : rfal_nfcDep.h
  • RFAL_NFCDEP_DEP_HEADER : rfal_nfcDep.h
  • RFAL_NFCDEP_DEP_PFB_LEN : rfal_nfcDep.h
  • RFAL_NFCDEP_DEPREQ_HEADER_LEN : rfal_nfcDep.h
  • RFAL_NFCDEP_DID_KEEP : rfal_nfcDep.h
  • RFAL_NFCDEP_DID_LEN : rfal_nfcDep.h
  • RFAL_NFCDEP_DID_MAX : rfal_nfcDep.h
  • RFAL_NFCDEP_DID_NO : rfal_nfcDep.h
  • RFAL_NFCDEP_DSL_RLS_LEN_DID : rfal_nfcDep.h
  • RFAL_NFCDEP_DSL_RLS_LEN_NO_DID : rfal_nfcDep.h
  • RFAL_NFCDEP_FRAME_SIZE_MAX_LEN : rfal_nfcDep.h
  • RFAL_NFCDEP_FS_VAL_MIN : rfal_nfcDep.h
  • RFAL_NFCDEP_GB_MAX_LEN : rfal_nfcDep.h
  • RFAL_NFCDEP_HEADER : rfal_nfcDep.h
  • RFAL_NFCDEP_LEN_LEN : rfal_nfcDep.h
  • RFAL_NFCDEP_LEN_MAX : rfal_nfcDep.h
  • RFAL_NFCDEP_LEN_MIN : rfal_nfcDep.h
  • RFAL_NFCDEP_LR_VAL_MASK : rfal_nfcDep.h
  • RFAL_NFCDEP_MAX_FWT : rfal_nfcDep.h
  • RFAL_NFCDEP_NAD_NO : rfal_nfcDep.h
  • RFAL_NFCDEP_NFCID3_LEN : rfal_nfcDep.h
  • RFAL_NFCDEP_OPER_ATN_DIS : rfal_nfcDep.h
  • RFAL_NFCDEP_OPER_ATN_EN : rfal_nfcDep.h
  • RFAL_NFCDEP_OPER_EMPTY_DEP_DIS : rfal_nfcDep.h
  • RFAL_NFCDEP_OPER_EMPTY_DEP_EN : rfal_nfcDep.h
  • RFAL_NFCDEP_OPER_FULL_MI_DIS : rfal_nfcDep.h
  • RFAL_NFCDEP_OPER_FULL_MI_EN : rfal_nfcDep.h
  • RFAL_NFCDEP_OPER_RTOX_REQ_DIS : rfal_nfcDep.h
  • RFAL_NFCDEP_OPER_RTOX_REQ_EN : rfal_nfcDep.h
  • RFAL_NFCDEP_PP_LR_MASK : rfal_nfcDep.h
  • RFAL_NFCDEP_PP_LR_SHIFT : rfal_nfcDep.h
  • RFAL_NFCDEP_RWT_INI_MAX : rfal_nfcDep.h
  • RFAL_NFCDEP_RWT_TRG_MAX : rfal_nfcDep.h
  • RFAL_NFCDEP_SB_LEN : rfal_nfcDep.h
  • RFAL_NFCDEP_WT_DELTA : rfal_nfcDep.h
  • RFAL_NFCDEP_WT_DELTA_ADJUST : rfal_nfcDep.h
  • RFAL_NFCDEP_WT_INI_DEFAULT : rfal_nfcDep.h
  • RFAL_NFCDEP_WT_INI_MAX : rfal_nfcDep.h
  • RFAL_NFCDEP_WT_INI_MIN : rfal_nfcDep.h
  • RFAL_NFCDEP_WT_MASK : rfal_nfcDep.h
  • RFAL_NFCDEP_WT_TRG_MAX : rfal_nfcDep.h
  • RFAL_NFCDEP_WT_TRG_MAX_D10 : rfal_nfcDep.h
  • RFAL_NFCDEP_WT_TRG_MAX_D11 : rfal_nfcDep.h
  • RFAL_NFCDEP_WT_TRG_MAX_L13 : rfal_nfcDep.h
  • RFAL_NFCF_BLOCK_LEN : rfal_nfcf.h
  • RFAL_NFCF_BLOCKLISTELEM_LEN : rfal_nfcf.h
  • RFAL_NFCF_CHECKUPDATE_RES_NOB_POS : rfal_nfcf.h
  • RFAL_NFCF_CHECKUPDATE_RES_ST1_POS : rfal_nfcf.h
  • RFAL_NFCF_CHECKUPDATE_RES_ST2_POS : rfal_nfcf.h
  • RFAL_NFCF_CMD_LEN : rfal_nfcf.h
  • RFAL_NFCF_CMD_POS : rfal_nfcf.h
  • RFAL_NFCF_HEADER_LEN : rfal_nfcf.h
  • RFAL_NFCF_LENGTH_LEN : rfal_nfcf.h
  • RFAL_NFCF_NFCID2_LEN : rfal_nfcf.h
  • RFAL_NFCF_POLL_MAXCARDS : rfal_nfcf.h
  • RFAL_NFCF_SENSF_NFCID2_BYTE1_NFCDEP : rfal_nfcf.h
  • RFAL_NFCF_SENSF_NFCID2_BYTE1_POS : rfal_nfcf.h
  • RFAL_NFCF_SENSF_NFCID2_BYTE2_NFCDEP : rfal_nfcf.h
  • RFAL_NFCF_SENSF_NFCID2_BYTE2_POS : rfal_nfcf.h
  • RFAL_NFCF_SENSF_NFCID2_PROT_TYPE_LEN : rfal_nfcf.h
  • RFAL_NFCF_SENSF_PARAMS_RC_POS : rfal_nfcf.h
  • RFAL_NFCF_SENSF_PARAMS_SC1_POS : rfal_nfcf.h
  • RFAL_NFCF_SENSF_PARAMS_SC2_POS : rfal_nfcf.h
  • RFAL_NFCF_SENSF_PARAMS_TSN_POS : rfal_nfcf.h
  • RFAL_NFCF_SENSF_RES_BYTE1 : rfal_nfcf.h
  • RFAL_NFCF_SENSF_RES_LEN_MAX : rfal_nfcf.h
  • RFAL_NFCF_SENSF_RES_LEN_MIN : rfal_nfcf.h
  • RFAL_NFCF_SENSF_RES_PAD0_LEN : rfal_nfcf.h
  • RFAL_NFCF_SENSF_RES_PAD1_LEN : rfal_nfcf.h
  • RFAL_NFCF_SENSF_RES_RD_LEN : rfal_nfcf.h
  • RFAL_NFCF_SENSF_SC_LEN : rfal_nfcf.h
  • RFAL_NFCF_SERVICECODE_RDONLY : rfal_nfcf.h
  • RFAL_NFCF_SERVICECODE_RDWR : rfal_nfcf.h
  • RFAL_NFCF_STATUS_FLAG_ERROR : rfal_nfcf.h
  • RFAL_NFCF_STATUS_FLAG_SUCCESS : rfal_nfcf.h
  • RFAL_NFCF_SYSTEMCODE : rfal_nfcf.h
  • RFAL_NFCID1_DOUBLE_LEN : rfal_rf.h
  • RFAL_NFCID1_SIMPLE_LEN : rfal_rf.h
  • RFAL_NFCID1_TRIPLE_LEN : rfal_rf.h
  • RFAL_NFCID2_LEN : rfal_rf.h
  • RFAL_NFCID3_LEN : rfal_rf.h
  • RFAL_NFCV_BLOCKNUM_EXTENDED_LEN : rfal_nfcv.h
  • RFAL_NFCV_BLOCKNUM_LEN : rfal_nfcv.h
  • RFAL_NFCV_BLOCKNUM_M24LR_LEN : rfal_st25xv.h
  • RFAL_NFCV_BNO_LEN : rfal_nfcv.h
  • RFAL_NFCV_CRC_LEN : rfal_nfcv.h
  • RFAL_NFCV_MAX_BLOCK_LEN : rfal_nfcv.h
  • RFAL_NFCV_MAX_GEN_DATA_LEN : rfal_nfcv.h
  • RFAL_NFCV_PARAM_SKIP : rfal_nfcv.h
  • RFAL_NFCV_ST_IC_MFG_CODE : rfal_st25xv.h
  • RFAL_NFCV_UID_LEN : rfal_nfcv.h
  • RFAL_ST25TB_BLOCK_LEN : rfal_st25tb.h
  • RFAL_ST25TB_CHIP_ID_LEN : rfal_st25tb.h
  • RFAL_ST25TB_CRC_LEN : rfal_st25tb.h
  • RFAL_ST25TB_UID_LEN : rfal_st25tb.h
  • RFAL_SUPPORT_AP2P : st25r3911/rfal_features.h , st25r3916/rfal_features.h , st25r95/rfal_features.h
  • RFAL_SUPPORT_BR_AP2P_106 : st25r3911/rfal_features.h , st25r3916/rfal_features.h , st25r95/rfal_features.h
  • RFAL_SUPPORT_BR_AP2P_1695 : st25r95/rfal_features.h , st25r3911/rfal_features.h
  • RFAL_SUPPORT_BR_AP2P_212 : st25r95/rfal_features.h , st25r3911/rfal_features.h , st25r3916/rfal_features.h
  • RFAL_SUPPORT_BR_AP2P_3390 : st25r95/rfal_features.h , st25r3911/rfal_features.h
  • RFAL_SUPPORT_BR_AP2P_424 : st25r95/rfal_features.h , st25r3911/rfal_features.h , st25r3916/rfal_features.h
  • RFAL_SUPPORT_BR_AP2P_6780 : st25r3911/rfal_features.h , st25r95/rfal_features.h
  • RFAL_SUPPORT_BR_AP2P_848 : st25r95/rfal_features.h , st25r3916/rfal_features.h , st25r3911/rfal_features.h
  • RFAL_SUPPORT_BR_CE_A_106 : st25r95/rfal_features.h , st25r3911/rfal_features.h , st25r3916/rfal_features.h
  • RFAL_SUPPORT_BR_CE_A_212 : st25r95/rfal_features.h , st25r3911/rfal_features.h , st25r3916/rfal_features.h
  • RFAL_SUPPORT_BR_CE_A_424 : st25r3916/rfal_features.h , st25r3911/rfal_features.h , st25r95/rfal_features.h
  • RFAL_SUPPORT_BR_CE_A_848 : st25r3916/rfal_features.h , st25r95/rfal_features.h , st25r3911/rfal_features.h
  • RFAL_SUPPORT_BR_CE_B_106 : st25r3911/rfal_features.h , st25r95/rfal_features.h , st25r3916/rfal_features.h
  • RFAL_SUPPORT_BR_CE_B_212 : st25r3916/rfal_features.h , st25r3911/rfal_features.h , st25r95/rfal_features.h
  • RFAL_SUPPORT_BR_CE_B_424 : st25r3916/rfal_features.h , st25r3911/rfal_features.h , st25r95/rfal_features.h
  • RFAL_SUPPORT_BR_CE_B_848 : st25r3911/rfal_features.h , st25r95/rfal_features.h , st25r3916/rfal_features.h
  • RFAL_SUPPORT_BR_CE_F_212 : st25r95/rfal_features.h , st25r3911/rfal_features.h , st25r3916/rfal_features.h
  • RFAL_SUPPORT_BR_CE_F_424 : st25r95/rfal_features.h , st25r3911/rfal_features.h , st25r3916/rfal_features.h
  • RFAL_SUPPORT_BR_RW_106 : st25r3916/rfal_features.h , st25r95/rfal_features.h , st25r3911/rfal_features.h
  • RFAL_SUPPORT_BR_RW_13560 : st25r3911/rfal_features.h , st25r3916/rfal_features.h
  • RFAL_SUPPORT_BR_RW_1695 : st25r3911/rfal_features.h , st25r3916/rfal_features.h , st25r95/rfal_features.h
  • RFAL_SUPPORT_BR_RW_212 : st25r3911/rfal_features.h , st25r3916/rfal_features.h , st25r95/rfal_features.h
  • RFAL_SUPPORT_BR_RW_3390 : st25r3916/rfal_features.h , st25r95/rfal_features.h , st25r3911/rfal_features.h
  • RFAL_SUPPORT_BR_RW_424 : st25r3911/rfal_features.h , st25r95/rfal_features.h , st25r3916/rfal_features.h
  • RFAL_SUPPORT_BR_RW_6780 : st25r3916/rfal_features.h , st25r95/rfal_features.h , st25r3911/rfal_features.h
  • RFAL_SUPPORT_BR_RW_848 : st25r3911/rfal_features.h , st25r95/rfal_features.h , st25r3916/rfal_features.h
  • RFAL_SUPPORT_CE : st25r3916/rfal_features.h , st25r95/rfal_features.h , st25r3911/rfal_features.h
  • RFAL_SUPPORT_MODE_LISTEN_ACTIVE_P2P : st25r95/rfal_features.h , st25r3916/rfal_features.h , st25r3911/rfal_features.h
  • RFAL_SUPPORT_MODE_LISTEN_NFCA : st25r95/rfal_features.h , st25r3911/rfal_features.h , st25r3916/rfal_features.h
  • RFAL_SUPPORT_MODE_LISTEN_NFCB : st25r3911/rfal_features.h , st25r3916/rfal_features.h , st25r95/rfal_features.h
  • RFAL_SUPPORT_MODE_LISTEN_NFCF : st25r95/rfal_features.h , st25r3911/rfal_features.h , st25r3916/rfal_features.h
  • RFAL_SUPPORT_MODE_POLL_ACTIVE_P2P : st25r3911/rfal_features.h , st25r95/rfal_features.h , st25r3916/rfal_features.h
  • RFAL_SUPPORT_MODE_POLL_NFCA : st25r3911/rfal_features.h , st25r95/rfal_features.h , st25r3916/rfal_features.h
  • RFAL_SUPPORT_MODE_POLL_NFCB : st25r95/rfal_features.h , st25r3916/rfal_features.h , st25r3911/rfal_features.h
  • RFAL_SUPPORT_MODE_POLL_NFCF : st25r3911/rfal_features.h , st25r3916/rfal_features.h , st25r95/rfal_features.h
  • RFAL_SUPPORT_MODE_POLL_NFCV : st25r3911/rfal_features.h , st25r3916/rfal_features.h , st25r95/rfal_features.h
  • RFAL_SUPPORT_RW : st25r3916/rfal_features.h , st25r3911/rfal_features.h , st25r95/rfal_features.h
  • RFAL_T1T_HR0_NDEF_MASK : rfal_t1t.h
  • RFAL_T1T_HR0_NDEF_SUPPORT : rfal_t1t.h
  • RFAL_T1T_HR_LENGTH : rfal_t1t.h
  • RFAL_T1T_UID_LEN : rfal_t1t.h
  • RFAL_T2T_BLOCK_LEN : rfal_t2t.h
  • RFAL_T2T_READ_DATA_LEN : rfal_t2t.h
  • RFAL_T2T_WRITE_DATA_LEN : rfal_t2t.h
  • RFAL_T4T_CLA : rfal_t4t.h
  • RFAL_T4T_ISO7816_P1_SELECT_BY_DF_NAME : rfal_t4t.h
  • RFAL_T4T_ISO7816_P1_SELECT_BY_FILEID : rfal_t4t.h
  • RFAL_T4T_ISO7816_P2_SELECT_FIRST_OR_ONLY_OCCURENCE : rfal_t4t.h
  • RFAL_T4T_ISO7816_P2_SELECT_NO_RESPONSE_DATA : rfal_t4t.h
  • RFAL_T4T_ISO7816_P2_SELECT_RETURN_FCI_TEMPLATE : rfal_t4t.h
  • RFAL_T4T_ISO7816_STATUS_COMPLETE : rfal_t4t.h
  • RFAL_T4T_LC_LEN : rfal_t4t.h
  • RFAL_T4T_LE_LEN : rfal_t4t.h
  • RFAL_T4T_MAX_CAPDU_PROLOGUE_LEN : rfal_t4t.h
  • RFAL_T4T_MAX_RAPDU_SW1SW2_LEN : rfal_t4t.h
  • RFAL_TIMING_NONE : rfal_rf.h
  • RFAL_TXRX_FLAGS_DEFAULT : rfal_rf.h
  • RFAL_US_IN_MS : rfal_rf.h
  • RFAL_VERSION : rfal_rf.h
  • RFAL_WUM_REFERENCE_AUTO : rfal_rf.h
  • rfalConv1fcTo4096fc : rfal_rf.h
  • rfalConv1fcTo512fc : rfal_rf.h
  • rfalConv1fcTo64fc : rfal_rf.h
  • rfalConv1fcTo8fc : rfal_rf.h
  • rfalConv1fcToMs : rfal_rf.h
  • rfalConv1fcToUs : rfal_rf.h
  • rfalConv4096fcTo1fc : rfal_rf.h
  • rfalConv512fcTo1fc : rfal_rf.h
  • rfalConv64fcTo1fc : rfal_rf.h
  • rfalConv64fcToMs : rfal_rf.h
  • rfalConv8fcTo1fc : rfal_rf.h
  • rfalConvBitsToBytes : rfal_rf.h
  • rfalConvBytesToBits : rfal_rf.h
  • rfalConvMsTo1fc : rfal_rf.h
  • rfalConvMsTo64fc : rfal_rf.h
  • rfalConvUsTo1fc : rfal_rf.h
  • rfalCreateByteFlagsTxRxContext : rfal_rf.h
  • rfalCreateByteTxRxContext : rfal_rf.h
  • rfalGetMaxBrAP2P : rfal_rf.h
  • rfalGetMaxBrCEA : rfal_rf.h
  • rfalGetMaxBrCEB : rfal_rf.h
  • rfalGetMaxBrCEF : rfal_rf.h
  • rfalGetMaxBrRW : rfal_rf.h
  • rfalIsModeActiveComm : rfal_rf.h
  • rfalIsModePassiveComm : rfal_rf.h
  • rfalIsModePassiveListen : rfal_rf.h
  • rfalIsModePassivePoll : rfal_rf.h
  • rfalLogD : rfal_rf.h
  • rfalLogE : rfal_rf.h
  • rfalLogI : rfal_rf.h
  • rfalLogW : rfal_rf.h
  • rfalNfcaIsSelResNFCDEP : rfal_nfca.h
  • rfalNfcaIsSelResT2T : rfal_nfca.h
  • rfalNfcaIsSelResT4T : rfal_nfca.h
  • rfalNfcaIsSelResT4TNFCDEP : rfal_nfca.h
  • rfalNfcaIsSensResT1T : rfal_nfca.h
  • rfalNfcaLisDevIsMultiProto : rfal_nfca.h
  • rfalNfcbGetFSCI : rfal_nfcb.h
  • rfalNfcbIsIsoDepSupported : rfal_nfcb.h
  • rfalNfcDepBRS2DRI : rfal_nfcDep.h
  • rfalNfcDepBRS2DSI : rfal_nfcDep.h
  • rfalNfcDepDx2BRS : rfal_nfcDep.h
  • rfalNfcDepLR2FS : rfal_nfcDep.h
  • rfalNfcDepLR2PP : rfal_nfcDep.h
  • rfalNfcDepPP2LR : rfal_nfcDep.h
  • rfalNfcDepSetNFCID : rfal_nfcDep.h
  • rfalNfcDepWT2RWT : rfal_nfcDep.h
  • rfalNfcfIsNfcDepSupported : rfal_nfcf.h
  • rfalNfcIsDevActivated : rfal_nfc.h
  • rfalNfcIsInDiscovery : rfal_nfc.h
  • rfalNfcIsRemDevListener : rfal_nfc.h
  • rfalNfcIsRemDevPoller : rfal_nfc.h
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Globals

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • i
  • m
  • r
  • s

- s -

  • ST25R3911_BR_106 : st25r3911.h
  • ST25R3911_BR_1695 : st25r3911.h
  • ST25R3911_BR_212 : st25r3911.h
  • ST25R3911_BR_3390 : st25r3911.h
  • ST25R3911_BR_424 : st25r3911.h
  • ST25R3911_BR_6780 : st25r3911.h
  • ST25R3911_BR_848 : st25r3911.h
  • ST25R3911_BR_DO_NOT_SET : st25r3911.h
  • ST25R3911_CMD_ADJUST_REGULATORS : st25r3911.h
  • ST25R3911_CMD_ANALOG_PRESET : st25r3911.h
  • ST25R3911_CMD_CALIBRATE_ANTENNA : st25r3911.h
  • ST25R3911_CMD_CALIBRATE_C_SENSOR : st25r3911.h
  • ST25R3911_CMD_CALIBRATE_MODULATION : st25r3911.h
  • ST25R3911_CMD_CLEAR_FIFO : st25r3911.h
  • ST25R3911_CMD_CLEAR_RSSI : st25r3911.h
  • ST25R3911_CMD_CLEAR_SQUELCH : st25r3911.h
  • ST25R3911_CMD_FUSE_PPROM : st25r3911.h
  • ST25R3911_CMD_INITIAL_RF_COLLISION : st25r3911.h
  • ST25R3911_CMD_LOAD_PPROM : st25r3911.h
  • ST25R3911_CMD_MASK_RECEIVE_DATA : st25r3911.h
  • ST25R3911_CMD_MEASURE_AMPLITUDE : st25r3911.h
  • ST25R3911_CMD_MEASURE_CAPACITANCE : st25r3911.h
  • ST25R3911_CMD_MEASURE_PHASE : st25r3911.h
  • ST25R3911_CMD_MEASURE_VDD : st25r3911.h
  • ST25R3911_CMD_NORMAL_NFC_MODE : st25r3911.h
  • ST25R3911_CMD_RESPONSE_RF_COLLISION_0 : st25r3911.h
  • ST25R3911_CMD_RESPONSE_RF_COLLISION_N : st25r3911.h
  • ST25R3911_CMD_SET_DEFAULT : st25r3911.h
  • ST25R3911_CMD_SQUELCH : st25r3911.h
  • ST25R3911_CMD_START_GP_TIMER : st25r3911.h
  • ST25R3911_CMD_START_MASK_RECEIVE_TIMER : st25r3911.h
  • ST25R3911_CMD_START_NO_RESPONSE_TIMER : st25r3911.h
  • ST25R3911_CMD_START_WUP_TIMER : st25r3911.h
  • ST25R3911_CMD_TEST_ACCESS : st25r3911.h
  • ST25R3911_CMD_TEST_CLEARA : st25r3911.h
  • ST25R3911_CMD_TEST_CLEARB : st25r3911.h
  • ST25R3911_CMD_TRANSMIT_REQA : st25r3911.h
  • ST25R3911_CMD_TRANSMIT_WITH_CRC : st25r3911.h
  • ST25R3911_CMD_TRANSMIT_WITHOUT_CRC : st25r3911.h
  • ST25R3911_CMD_TRANSMIT_WUPA : st25r3911.h
  • ST25R3911_CMD_TRANSPARENT_MODE : st25r3911.h
  • ST25R3911_CMD_UNMASK_RECEIVE_DATA : st25r3911.h
  • ST25R3911_FDT_NONE : st25r3911.h
  • ST25R3911_FIFO_DEPTH : st25r3911.h
  • ST25R3911_FIFO_STATUS_LEN : st25r3911_com.h
  • ST25R3911_IRQ_MASK_ALL : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_CAC : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_CAT : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_COL : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_CRC : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_DCT : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_EOF : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_EON : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_ERR : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_ERR1 : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_ERR2 : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_FWL : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_GPE : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_NFCT : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_NONE : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_NRE : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_OSC : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_PAR : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_RXE : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_RXS : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_TIM : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_TXE : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_WAM : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_WCAP : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_WPH : st25r3911_interrupt.h
  • ST25R3911_IRQ_MASK_WT : st25r3911_interrupt.h
  • ST25R3911_REG_AD_RESULT : st25r3911_com.h
  • ST25R3911_REG_AM_MOD_DEPTH_CONTROL : st25r3911_com.h
  • ST25R3911_REG_AM_MOD_DEPTH_RESULT : st25r3911_com.h
  • ST25R3911_REG_AMPLITUDE_MEASURE_AA_RESULT : st25r3911_com.h
  • ST25R3911_REG_AMPLITUDE_MEASURE_CONF : st25r3911_com.h
  • ST25R3911_REG_AMPLITUDE_MEASURE_REF : st25r3911_com.h
  • ST25R3911_REG_AMPLITUDE_MEASURE_RESULT : st25r3911_com.h
  • ST25R3911_REG_ANT_CAL_CONTROL : st25r3911_com.h
  • ST25R3911_REG_ANT_CAL_RESULT : st25r3911_com.h
  • ST25R3911_REG_ANT_CAL_TARGET : st25r3911_com.h
  • ST25R3911_REG_AUX : st25r3911_com.h
  • ST25R3911_REG_AUX_DISPLAY : st25r3911_com.h
  • ST25R3911_REG_BIT_RATE : st25r3911_com.h
  • ST25R3911_REG_CAP_SENSOR_CONTROL : st25r3911_com.h
  • ST25R3911_REG_CAP_SENSOR_RESULT : st25r3911_com.h
  • ST25R3911_REG_CAPACITANCE_MEASURE_AA_RESULT : st25r3911_com.h
  • ST25R3911_REG_CAPACITANCE_MEASURE_CONF : st25r3911_com.h
  • ST25R3911_REG_CAPACITANCE_MEASURE_REF : st25r3911_com.h
  • ST25R3911_REG_CAPACITANCE_MEASURE_RESULT : st25r3911_com.h
  • ST25R3911_REG_COLLISION_STATUS : st25r3911_com.h
  • ST25R3911_REG_FIELD_THRESHOLD : st25r3911_com.h
  • ST25R3911_REG_FIFO_RX_STATUS1 : st25r3911_com.h
  • ST25R3911_REG_FIFO_RX_STATUS2 : st25r3911_com.h
  • ST25R3911_REG_GAIN_RED_STATE : st25r3911_com.h
  • ST25R3911_REG_GPT1 : st25r3911_com.h
  • ST25R3911_REG_GPT2 : st25r3911_com.h
  • ST25R3911_REG_GPT_CONTROL : st25r3911_com.h
  • ST25R3911_REG_IC_IDENTITY : st25r3911_com.h
  • ST25R3911_REG_IO_CONF1 : st25r3911_com.h
  • ST25R3911_REG_IO_CONF2 : st25r3911_com.h
  • ST25R3911_REG_IRQ_ERROR_WUP : st25r3911_com.h
  • ST25R3911_REG_IRQ_MAIN : st25r3911_com.h
  • ST25R3911_REG_IRQ_MASK_ERROR_WUP : st25r3911_com.h
  • ST25R3911_REG_IRQ_MASK_MAIN : st25r3911_com.h
  • ST25R3911_REG_IRQ_MASK_TIMER_NFC : st25r3911_com.h
  • ST25R3911_REG_IRQ_TIMER_NFC : st25r3911_com.h
  • ST25R3911_REG_ISO14443A_NFC : st25r3911_com.h
  • ST25R3911_REG_ISO14443B_1 : st25r3911_com.h
  • ST25R3911_REG_ISO14443B_2 : st25r3911_com.h
  • ST25R3911_REG_MASK_RX_TIMER : st25r3911_com.h
  • ST25R3911_REG_MODE : st25r3911_com.h
  • ST25R3911_REG_NFCIP1_BIT_RATE : st25r3911_com.h
  • ST25R3911_REG_NO_RESPONSE_TIMER1 : st25r3911_com.h
  • ST25R3911_REG_NO_RESPONSE_TIMER2 : st25r3911_com.h
  • ST25R3911_REG_NUM_TX_BYTES1 : st25r3911_com.h
  • ST25R3911_REG_NUM_TX_BYTES2 : st25r3911_com.h
  • ST25R3911_REG_OP_CONTROL : st25r3911_com.h
  • ST25R3911_REG_PHASE_MEASURE_AA_RESULT : st25r3911_com.h
  • ST25R3911_REG_PHASE_MEASURE_CONF : st25r3911_com.h
  • ST25R3911_REG_PHASE_MEASURE_REF : st25r3911_com.h
  • ST25R3911_REG_PHASE_MEASURE_RESULT : st25r3911_com.h
  • ST25R3911_REG_REGULATOR_CONTROL : st25r3911_com.h
  • ST25R3911_REG_REGULATOR_RESULT : st25r3911_com.h
  • ST25R3911_REG_RFO_AM_OFF_LEVEL : st25r3911_com.h
  • ST25R3911_REG_RFO_AM_ON_LEVEL : st25r3911_com.h
  • ST25R3911_REG_RSSI_RESULT : st25r3911_com.h
  • ST25R3911_REG_RX_CONF1 : st25r3911_com.h
  • ST25R3911_REG_RX_CONF2 : st25r3911_com.h
  • ST25R3911_REG_RX_CONF3 : st25r3911_com.h
  • ST25R3911_REG_RX_CONF4 : st25r3911_com.h
  • ST25R3911_REG_STREAM_MODE : st25r3911_com.h
  • ST25R3911_REG_WUP_TIMER_CONTROL : st25r3911_com.h
  • ST25R3911_THRESHOLD_DO_NOT_SET : st25r3911.h
  • st25r3911IsCRCinFIFO : st25r3911.h
  • st25r3911IsExtFieldOn : st25r3911.h
  • st25r3911IsGPTRunning : st25r3911.h
  • st25r3911IsLastFIFOComplete : st25r3911.h
  • st25r3911IsOscOn : st25r3911.h
  • st25r3911IsTxEnabled : st25r3911.h
  • st25r3911TxOff : st25r3911.h
  • ST25R3916_BR_106 : st25r3916.h
  • ST25R3916_BR_1695 : st25r3916.h
  • ST25R3916_BR_212 : st25r3916.h
  • ST25R3916_BR_3390 : st25r3916.h
  • ST25R3916_BR_424 : st25r3916.h
  • ST25R3916_BR_6780 : st25r3916.h
  • ST25R3916_BR_848 : st25r3916.h
  • ST25R3916_BR_DO_NOT_SET : st25r3916.h
  • ST25R3916_CMD_ADJUST_REGULATORS : st25r3916.h
  • ST25R3916_CMD_AM_MOD_STATE_CHANGE : st25r3916.h
  • ST25R3916_CMD_CALIBRATE_C_SENSOR : st25r3916.h
  • ST25R3916_CMD_CALIBRATE_DRIVER_TIMING : st25r3916.h
  • ST25R3916_CMD_CLEAR_FIFO : st25r3916.h
  • ST25R3916_CMD_CLEAR_RSSI : st25r3916.h
  • ST25R3916_CMD_GOTO_SENSE : st25r3916.h
  • ST25R3916_CMD_GOTO_SLEEP : st25r3916.h
  • ST25R3916_CMD_INITIAL_RF_COLLISION : st25r3916.h
  • ST25R3916_CMD_MASK_RECEIVE_DATA : st25r3916.h
  • ST25R3916_CMD_MEASURE_AMPLITUDE : st25r3916.h
  • ST25R3916_CMD_MEASURE_CAPACITANCE : st25r3916.h
  • ST25R3916_CMD_MEASURE_PHASE : st25r3916.h
  • ST25R3916_CMD_MEASURE_VDD : st25r3916.h
  • ST25R3916_CMD_RESET_RXGAIN : st25r3916.h
  • ST25R3916_CMD_RESPONSE_RF_COLLISION_N : st25r3916.h
  • ST25R3916_CMD_SET_DEFAULT : st25r3916.h
  • ST25R3916_CMD_SPACE_B_ACCESS : st25r3916.h
  • ST25R3916_CMD_START_GP_TIMER : st25r3916.h
  • ST25R3916_CMD_START_MASK_RECEIVE_TIMER : st25r3916.h
  • ST25R3916_CMD_START_NO_RESPONSE_TIMER : st25r3916.h
  • ST25R3916_CMD_START_PPON2_TIMER : st25r3916.h
  • ST25R3916_CMD_START_WUP_TIMER : st25r3916.h
  • ST25R3916_CMD_STOP : st25r3916.h
  • ST25R3916_CMD_STOP_NRT : st25r3916.h
  • ST25R3916_CMD_TEST_ACCESS : st25r3916.h
  • ST25R3916_CMD_TRANSMIT_REQA : st25r3916.h
  • ST25R3916_CMD_TRANSMIT_WITH_CRC : st25r3916.h
  • ST25R3916_CMD_TRANSMIT_WITHOUT_CRC : st25r3916.h
  • ST25R3916_CMD_TRANSMIT_WUPA : st25r3916.h
  • ST25R3916_CMD_TRANSPARENT_MODE : st25r3916.h
  • ST25R3916_CMD_UNMASK_RECEIVE_DATA : st25r3916.h
  • ST25R3916_FIFO_DEPTH : st25r3916.h
  • ST25R3916_FIFO_STATUS_LEN : st25r3916_com.h
  • ST25R3916_IRQ_MASK_ALL : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_APON : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_CAC : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_CAT : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_COL : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_CRC : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_DCT : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_EOF : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_EON : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_ERR1 : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_ERR2 : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_FWL : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_GPE : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_NFCT : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_NONE : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_NRE : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_OSC : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_PAR : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_PPON2 : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_RFU : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_RFU2 : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_RX_REST : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_RXE : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_RXE_PTA : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_RXS : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_SL_WL : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_TXE : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_WAM : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_WCAP : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_WPH : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_WT : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_WU_A : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_WU_A_X : st25r3916_irq.h
  • ST25R3916_IRQ_MASK_WU_F : st25r3916_irq.h
  • ST25R3916_PTM_A_LEN : st25r3916_com.h
  • ST25R3916_PTM_B_LEN : st25r3916_com.h
  • ST25R3916_PTM_F_LEN : st25r3916_com.h
  • ST25R3916_PTM_LEN : st25r3916_com.h
  • ST25R3916_PTM_TSN_LEN : st25r3916_com.h
  • ST25R3916_REG_AD_RESULT : st25r3916_com.h
  • ST25R3916_REG_AMPLITUDE_MEASURE_AA_RESULT : st25r3916_com.h
  • ST25R3916_REG_AMPLITUDE_MEASURE_CONF : st25r3916_com.h
  • ST25R3916_REG_AMPLITUDE_MEASURE_REF : st25r3916_com.h
  • ST25R3916_REG_AMPLITUDE_MEASURE_RESULT : st25r3916_com.h
  • ST25R3916_REG_ANT_TUNE_A : st25r3916_com.h
  • ST25R3916_REG_ANT_TUNE_B : st25r3916_com.h
  • ST25R3916_REG_AUX : st25r3916_com.h
  • ST25R3916_REG_AUX_DISPLAY : st25r3916_com.h
  • ST25R3916_REG_AUX_MOD : st25r3916_com.h
  • ST25R3916_REG_BIT_RATE : st25r3916_com.h
  • ST25R3916_REG_CAP_SENSOR_CONTROL : st25r3916_com.h
  • ST25R3916_REG_CAP_SENSOR_RESULT : st25r3916_com.h
  • ST25R3916_REG_CAPACITANCE_MEASURE_AA_RESULT : st25r3916_com.h
  • ST25R3916_REG_CAPACITANCE_MEASURE_CONF : st25r3916_com.h
  • ST25R3916_REG_CAPACITANCE_MEASURE_REF : st25r3916_com.h
  • ST25R3916_REG_CAPACITANCE_MEASURE_RESULT : st25r3916_com.h
  • ST25R3916_REG_COLLISION_STATUS : st25r3916_com.h
  • ST25R3916_REG_CORR_CONF1 : st25r3916_com.h
  • ST25R3916_REG_CORR_CONF2 : st25r3916_com.h
  • ST25R3916_REG_EMD_SUP_CONF : st25r3916_com.h
  • ST25R3916_REG_FIELD_ON_GT : st25r3916_com.h
  • ST25R3916_REG_FIELD_THRESHOLD_ACTV : st25r3916_com.h
  • ST25R3916_REG_FIELD_THRESHOLD_DEACTV : st25r3916_com.h
  • ST25R3916_REG_FIFO_STATUS1 : st25r3916_com.h
  • ST25R3916_REG_FIFO_STATUS2 : st25r3916_com.h
  • ST25R3916_REG_GAIN_RED_STATE : st25r3916_com.h
  • ST25R3916_REG_GPT1 : st25r3916_com.h
  • ST25R3916_REG_GPT2 : st25r3916_com.h
  • ST25R3916_REG_IC_IDENTITY : st25r3916_com.h
  • ST25R3916_REG_IO_CONF1 : st25r3916_com.h
  • ST25R3916_REG_IO_CONF2 : st25r3916_com.h
  • ST25R3916_REG_IRQ_ERROR_WUP : st25r3916_com.h
  • ST25R3916_REG_IRQ_MAIN : st25r3916_com.h
  • ST25R3916_REG_IRQ_MASK_ERROR_WUP : st25r3916_com.h
  • ST25R3916_REG_IRQ_MASK_MAIN : st25r3916_com.h
  • ST25R3916_REG_IRQ_MASK_TARGET : st25r3916_com.h
  • ST25R3916_REG_IRQ_MASK_TIMER_NFC : st25r3916_com.h
  • ST25R3916_REG_IRQ_TARGET : st25r3916_com.h
  • ST25R3916_REG_IRQ_TIMER_NFC : st25r3916_com.h
  • ST25R3916_REG_ISO14443A_NFC : st25r3916_com.h
  • ST25R3916_REG_ISO14443B_1 : st25r3916_com.h
  • ST25R3916_REG_ISO14443B_2 : st25r3916_com.h
  • ST25R3916_REG_MASK_RX_TIMER : st25r3916_com.h
  • ST25R3916_REG_MODE : st25r3916_com.h
  • ST25R3916_REG_NFCIP1_BIT_RATE : st25r3916_com.h
  • ST25R3916_REG_NO_RESPONSE_TIMER1 : st25r3916_com.h
  • ST25R3916_REG_NO_RESPONSE_TIMER2 : st25r3916_com.h
  • ST25R3916_REG_NUM_TX_BYTES1 : st25r3916_com.h
  • ST25R3916_REG_NUM_TX_BYTES2 : st25r3916_com.h
  • ST25R3916_REG_OP_CONTROL : st25r3916_com.h
  • ST25R3916_REG_OVERSHOOT_CONF1 : st25r3916_com.h
  • ST25R3916_REG_OVERSHOOT_CONF2 : st25r3916_com.h
  • ST25R3916_REG_P2P_RX_CONF : st25r3916_com.h
  • ST25R3916_REG_PASSIVE_TARGET : st25r3916_com.h
  • ST25R3916_REG_PASSIVE_TARGET_STATUS : st25r3916_com.h
  • ST25R3916_REG_PHASE_MEASURE_AA_RESULT : st25r3916_com.h
  • ST25R3916_REG_PHASE_MEASURE_CONF : st25r3916_com.h
  • ST25R3916_REG_PHASE_MEASURE_REF : st25r3916_com.h
  • ST25R3916_REG_PHASE_MEASURE_RESULT : st25r3916_com.h
  • ST25R3916_REG_PPON2 : st25r3916_com.h
  • ST25R3916_REG_PT_MOD : st25r3916_com.h
  • ST25R3916_REG_REGULATOR_CONTROL : st25r3916_com.h
  • ST25R3916_REG_REGULATOR_RESULT : st25r3916_com.h
  • ST25R3916_REG_RES_AM_MOD : st25r3916_com.h
  • ST25R3916_REG_RSSI_RESULT : st25r3916_com.h
  • ST25R3916_REG_RX_CONF1 : st25r3916_com.h
  • ST25R3916_REG_RX_CONF2 : st25r3916_com.h
  • ST25R3916_REG_RX_CONF3 : st25r3916_com.h
  • ST25R3916_REG_RX_CONF4 : st25r3916_com.h
  • ST25R3916_REG_SQUELCH_TIMER : st25r3916_com.h
  • ST25R3916_REG_STREAM_MODE : st25r3916_com.h
  • ST25R3916_REG_SUBC_START_TIME : st25r3916_com.h
  • ST25R3916_REG_TIMER_EMV_CONTROL : st25r3916_com.h
  • ST25R3916_REG_TX_DRIVER : st25r3916_com.h
  • ST25R3916_REG_TX_DRIVER_STATUS : st25r3916_com.h
  • ST25R3916_REG_TX_DRIVER_TIMING : st25r3916_com.h
  • ST25R3916_REG_UNDERSHOOT_CONF1 : st25r3916_com.h
  • ST25R3916_REG_UNDERSHOOT_CONF2 : st25r3916_com.h
  • ST25R3916_REG_WUP_TIMER_CONTROL : st25r3916_com.h
  • ST25R3916_SPACE_B : st25r3916_com.h
  • ST25R3916_SPACE_B_REG_LEN : st25r3916_com.h
  • ST25R3916_THRESHOLD_DO_NOT_SET : st25r3916.h
  • ST25R3916_TOUT_OSC_STABLE : st25r3916.h
  • st25r3916IsExtFieldOn : st25r3916.h
  • st25r3916IsGPTRunning : st25r3916.h
  • st25r3916IsLastFIFOComplete : st25r3916.h
  • st25r3916IsNRTinEMV : st25r3916.h
  • st25r3916IsOscOn : st25r3916.h
  • st25r3916IsTxEnabled : st25r3916.h
  • st25r3916TxOff : st25r3916.h
  • st25r3916TxRxOff : st25r3916.h
  • st25r3916TxRxOn : st25r3916.h
  • ST25R95_ACFILTER_RESPONSE_BUFLEN : st25r95_com.h
  • ST25R95_ACSTATE_ACTIVE : st25r95_com.h
  • ST25R95_ACSTATE_ACTIVEX : st25r95_com.h
  • ST25R95_ACSTATE_HALT : st25r95_com.h
  • ST25R95_ACSTATE_IDLE : st25r95_com.h
  • ST25R95_ACSTATE_READYA : st25r95_com.h
  • ST25R95_ACSTATE_READYAX : st25r95_com.h
  • ST25R95_CMD_COMMAND_OFFSET : st25r95_com.h
  • ST25R95_CMD_DATA_OFFSET : st25r95_com.h
  • ST25R95_CMD_LENGTH_OFFSET : st25r95_com.h
  • ST25R95_CMD_RESULT_OFFSET : st25r95_com.h
  • ST25R95_COMMAND_ACFILTER : st25r95_com.h
  • ST25R95_COMMAND_BAUDRATE : st25r95_com.h
  • ST25R95_COMMAND_ECHO : st25r95_com.h
  • ST25R95_COMMAND_IDLE : st25r95_com.h
  • ST25R95_COMMAND_IDN : st25r95_com.h
  • ST25R95_COMMAND_LISTEN : st25r95_com.h
  • ST25R95_COMMAND_POLLFIED : st25r95_com.h
  • ST25R95_COMMAND_PROTOCOLSELECT : st25r95_com.h
  • ST25R95_COMMAND_RDREG : st25r95_com.h
  • ST25R95_COMMAND_SEND : st25r95_com.h
  • ST25R95_COMMAND_SENDRECV : st25r95_com.h
  • ST25R95_COMMAND_WRREG : st25r95_com.h
  • ST25R95_COMMUNICATION_BUFFER_SIZE : st25r95_com.h
  • ST25R95_COMMUNICATION_UART_WDOGTIMER : st25r95_com.h
  • ST25R95_CONTROL_POLL : st25r95_com.h
  • ST25R95_CONTROL_POLL_NO_TIMEOUT : st25r95_com.h
  • ST25R95_CONTROL_POLL_TIMEOUT : st25r95_com.h
  • ST25R95_CONTROL_READ : st25r95_com.h
  • ST25R95_CONTROL_RESET : st25r95_com.h
  • ST25R95_CONTROL_SEND : st25r95_com.h
  • ST25R95_DACDATA_MAX : st25r95_com.h
  • ST25R95_ECHO_RESPONSE_BUFLEN : st25r95_com.h
  • ST25R95_ERRCODE_61_SOF : st25r95_com.h
  • ST25R95_ERRCODE_62_CRC : st25r95_com.h
  • ST25R95_ERRCODE_63_SOF_HIGH : st25r95_com.h
  • ST25R95_ERRCODE_65_SOF_LOW : st25r95_com.h
  • ST25R95_ERRCODE_66_EGT : st25r95_com.h
  • ST25R95_ERRCODE_67_TR1TOOLONG : st25r95_com.h
  • ST25R95_ERRCODE_68_TR1TOOSHORT : st25r95_com.h
  • ST25R95_ERRCODE_COMERROR : st25r95_com.h
  • ST25R95_ERRCODE_CRC : st25r95_com.h
  • ST25R95_ERRCODE_EGT : st25r95_com.h
  • ST25R95_ERRCODE_FIELDLENGTH : st25r95_com.h
  • ST25R95_ERRCODE_FRAMEOKADDITIONALINFO : st25r95_com.h
  • ST25R95_ERRCODE_FRAMEWAITTIMEOUT : st25r95_com.h
  • ST25R95_ERRCODE_FRAMING : st25r95_com.h
  • ST25R95_ERRCODE_INVALIDCCMDCODE : st25r95_com.h
  • ST25R95_ERRCODE_INVALIDCMDLENGHT : st25r95_com.h
  • ST25R95_ERRCODE_INVALIDPROTOCOL : st25r95_com.h
  • ST25R95_ERRCODE_INVALIDSOF : st25r95_com.h
  • ST25R95_ERRCODE_NOFIELD : st25r95_com.h
  • ST25R95_ERRCODE_NONE : st25r95_com.h
  • ST25R95_ERRCODE_OVERFLOW : st25r95_com.h
  • ST25R95_ERRCODE_RECEPTIONLOST : st25r95_com.h
  • ST25R95_ERRCODE_RESULTSRESIDUAL : st25r95_com.h
  • ST25R95_FWT_MAX : st25r95_com.h
  • ST25R95_IDLE_DACDATAH_OFFSET : st25r95_com.h
  • ST25R95_IDLE_DACDATAL_OFFSET : st25r95_com.h
  • ST25R95_IDLE_RESPONSE_BUFLEN : st25r95_com.h
  • ST25R95_IDLE_WKUP_TAGDETECT : st25r95_com.h
  • ST25R95_IDLE_WKUP_TIMEOUT : st25r95_com.h
  • ST25R95_IDLE_WUPERIOD_OFFSET : st25r95_com.h
  • ST25R95_IDN_RESPONSE_BUFLEN : st25r95_com.h
  • ST25R95_IS_PROT_ISO14443A_COLLISION_ERR : st25r95_com.h
  • ST25R95_IS_PROT_ISO14443A_CRC_ERR : st25r95_com.h
  • ST25R95_IS_PROT_ISO14443A_PARITY_ERR : st25r95_com.h
  • ST25R95_IS_PROT_ISO14443B_CRC_ERR : st25r95_com.h
  • ST25R95_IS_PROT_ISO15693_COLLISION_ERR : st25r95_com.h
  • ST25R95_IS_PROT_ISO15693_CRC_ERR : st25r95_com.h
  • ST25R95_IS_PROT_ISO18092_CRC_ERR : st25r95_com.h
  • ST25R95_LISTEN_RESPONSE_BUFLEN : st25r95_com.h
  • st25r95_nIRQ_IN_Pulse : st25r95.h
  • ST25R95_POLLFIELD_RESPONSE_BUFLEN : st25r95_com.h
  • ST25R95_PROTOCOL_CE_ISO14443A : st25r95_com.h
  • ST25R95_PROTOCOL_FIELDOFF : st25r95_com.h
  • ST25R95_PROTOCOL_ISO14443A : st25r95_com.h
  • ST25R95_PROTOCOL_ISO14443B : st25r95_com.h
  • ST25R95_PROTOCOL_ISO15693 : st25r95_com.h
  • ST25R95_PROTOCOL_ISO18092 : st25r95_com.h
  • ST25R95_PROTOCOL_MAX : st25r95_com.h
  • ST25R95_PROTOCOLSELECT_BR_OFFSET : st25r95_com.h
  • ST25R95_PROTOCOLSELECT_RESPONSE_BUFLEN : st25r95_com.h
  • ST25R95_RDREG_RESPONSE_BUFLEN : st25r95_com.h
  • ST25R95_REG_ACC_A : st25r95_com.h
  • ST25R95_REG_ARC_B : st25r95_com.h
  • ST25R95_REG_TIMERW : st25r95_com.h
  • ST25R95_SEND_RESPONSE_BUFLEN : st25r95_com.h
  • ST25R95_SPI_DUMMY_BYTE : st25r95_com.h
  • ST25R95_WRREG_RESPONSE_BUFLEN : st25r95_com.h
  • st25r95CommandEcho : st25r95_com.h
  • st25r95CompleteRx : st25r95_com.h
  • st25r95DeactivateACFilter : st25r95_com.h
  • st25r95FlushChipSPIBuffer : st25r95_com.h
  • st25r95GetIdleResponse : st25r95_com.h
  • st25r95GetLmState : st25r95_com.h
  • st25r95Idle : st25r95_com.h
  • st25r95IsInListen : st25r95_com.h
  • st25r95IsTransmitTxCompleted : st25r95_com.h
  • st25r95KillIdle : st25r95_com.h
  • st25r95PollRead : st25r95_com.h
  • st25r95PrepareRx : st25r95_com.h
  • st25r95ResetChip : st25r95.h
  • st25r95SendCommandTypeAndLen : st25r95_com.h
  • st25r95SendData : st25r95_com.h
  • st25r95SendTransmitFlag : st25r95_com.h
  • st25r95SetACState : st25r95_com.h
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: Examples

Examples
Here is a list of all examples:
  • exampleRfalNfca.c
  • exampleRfalPoller.c
Generated on Wed May 20 2020 18:07:16 for RFAL by doxygen 1.8.6


RFAL: exampleRfalNfca.c

exampleRfalNfca.c
/******************************************************************************
* @attention
*
* <h2><center>&copy; COPYRIGHT 2020 STMicroelectronics</center></h2>
*
* Licensed under ST MYLIBERTY SOFTWARE LICENSE AGREEMENT (the "License");
* You may not use this file except in compliance with the License.
* You may obtain a copy of the License at:
*
* http://www.st.com/myliberty
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied,
* AND SPECIFICALLY DISCLAIMING THE IMPLIED WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
* See the License for the specific language governing permissions and
* limitations under the License.
*
******************************************************************************/
/*
* PROJECT: ST25R391x firmware
* LANGUAGE: ISO C99
*/
/* \file exampleRfalNfca.c
*
* \example exampleRfalNfca.c
*
* \author Gustavo Patricio
*
* \brief Simple Passive NFCA Poll example
*
* This example shows how to use the NFC-A module to detect and
* determine a NFC-A device
*
*/
/*
******************************************************************************
* INCLUDES
******************************************************************************
*/
#include "st_errno.h"
#include "platform.h"
#include "rfal_nfca.h"
#define EXAMPLE_NFCA_DEVICES 10
/*
******************************************************************************
* GLOBAL FUNCTIONS
******************************************************************************
*/
extern void exampleNFCARun( void )
{
ReturnCode err;
rfalNfcaSensRes sensRes;
rfalNfcaSelRes selRes;
rfalNfcaListenDevice nfcaDevList[EXAMPLE_NFCA_DEVICES];
uint8_t devCnt;
uint8_t devIt;
rfalInitialize();
for(;;)
{
rfalFieldOff(); /* Turn the Field Off */
platformDelay(500);
rfalNfcaPollerInitialize(); /* Initialize RFAL for NFC-A */
rfalFieldOnAndStartGT(); /* Turns the Field On and starts GT timer */
/*******************************************************************************/
/* Perform NFC-A Technology detection */
err = rfalNfcaPollerTechnologyDetection( RFAL_COMPLIANCE_MODE_NFC, &sensRes ); /* Poll for nearby NFC-A devices */
if(err == ERR_NONE) /* NFC-A type card found */
{
/*******************************************************************************/
/* Perform NFC-A Collision Resolution */
err = rfalNfcaPollerFullCollisionResolution( RFAL_COMPLIANCE_MODE_NFC, EXAMPLE_NFCA_DEVICES, nfcaDevList, &devCnt ); /* Perform collision avoidance */
if ( (err == ERR_NONE) && (devCnt > 0) )
{
platformLog("NFC-A device(s) found %d\r\n", devCnt );
devIt = 0; /* Use the first device on the list */
/*******************************************************************************/
/* Check if desired device is in Sleep */
if( nfcaDevList[devIt].isSleep )
{
err = rfalNfcaPollerCheckPresence( RFAL_14443A_SHORTFRAME_CMD_WUPA, &sensRes ); /* Wake up all cards */
if( err != ERR_NONE )
{
continue;
}
err = rfalNfcaPollerSelect( nfcaDevList[devIt].nfcId1, nfcaDevList[devIt].nfcId1Len, &selRes ); /* Select specific device */
if( err != ERR_NONE )
{
continue;
}
}
/*******************************************************************************/
/* Perform protocol specific activation */
switch( nfcaDevList[devIt].type )
{
case RFAL_NFCA_T1T:
/* No further activation needed for a T1T (RID already performed)*/
platformLog("NFC-A T1T device found \r\n"); /* NFC-A T1T device found, NFCID/UID is contained in: t1tRidRes.uid */
/* Following communications shall be performed using:
* - Non blocking: rfalStartTransceive() + rfalGetTransceiveState()
* - Blocking: rfalTransceiveBlockingTx() + rfalTransceiveBlockingRx() or rfalTransceiveBlockingTxRx() */
break;
case RFAL_NFCA_T2T:
/* No specific activation needed for a T2T */
platformLog("NFC-A T2T device found \r\n"); /* NFC-A T2T device found, NFCID/UID is contained in: nfcaDev.nfcid */
/* Following communications shall be performed using:
* - Non blocking: rfalStartTransceive() + rfalGetTransceiveState()
* - Blocking: rfalTransceiveBlockingTx() + rfalTransceiveBlockingRx() or rfalTransceiveBlockingTxRx() */
break;
case RFAL_NFCA_T4T:
platformLog("NFC-A T4T (ISO-DEP) device found \r\n"); /* NFC-A T4T device found, NFCID/UID is contained in: nfcaDev.nfcid */
/* Activation should continue using rfalIsoDepPollAHandleActivation(), see exampleRfalPoller.c */
break;
case RFAL_NFCA_T4T_NFCDEP: /* Device supports T4T and NFC-DEP */
case RFAL_NFCA_NFCDEP: /* Device supports NFC-DEP */
platformLog("NFC-A P2P (NFC-DEP) device found \r\n"); /* NFC-A P2P device found, NFCID/UID is contained in: nfcaDev.nfcid */
/* Activation should continue using rfalNfcDepInitiatorHandleActivation(), see exampleRfalPoller.c */
break;
}
rfalNfcaPollerSleep(); /* Put device to sleep / HLTA (useless as the field will be turned off anyhow) */
}
}
}
}
Generated on Wed May 20 2020 18:07:12 for RFAL by doxygen 1.8.6


RFAL: exampleRfalPoller.c

exampleRfalPoller.c
/******************************************************************************
* @attention
*
* <h2><center>&copy; COPYRIGHT 2020 STMicroelectronics</center></h2>
*
* Licensed under ST MYLIBERTY SOFTWARE LICENSE AGREEMENT (the "License");
* You may not use this file except in compliance with the License.
* You may obtain a copy of the License at:
*
* http://www.st.com/myliberty
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied,
* AND SPECIFICALLY DISCLAIMING THE IMPLIED WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
* See the License for the specific language governing permissions and
* limitations under the License.
*
******************************************************************************/
/*
* PROJECT: ST25R391x firmware
* LANGUAGE: ISO C99
*/
/* \file exampleRfalPoller.c
*
* \example exampleRfalPoller.c
*
* \author Gustavo Patricio
*
* \brief NFC Poller/Reader device (PCD) example
*
* This example shows how to use the different RFAL modules to perform all
* procedures required as a NFC Poller / Reader device (PCD).
*
* It performs all the necessary steps to detect and activate a nearby device
* (Tags/Cards and P2P enabled devices such as phones). Once the device has
* been activated a presence check is performed in a loop until the device
* has been removed.
*
* This example follows the guidelines described on NFC Forum Activity spec
* but it does not fully implement all its requirements.
*
*
*/
/*
******************************************************************************
* INCLUDES
******************************************************************************
*/
#include <stdint.h>
#include <stdbool.h>
#include "st_errno.h"
#include "utils.h"
#include "platform.h"
#include "rfal_nfca.h"
#include "rfal_nfcb.h"
#include "rfal_nfcf.h"
#include "rfal_nfcv.h"
#include "rfal_isoDep.h"
#include "rfal_nfcDep.h"
#include "rfal_analogConfig.h"
/*
******************************************************************************
* GLOBAL DEFINES
******************************************************************************
*/
#define EXAMPLE_RFAL_POLLER_DEVICES 10 /* Number of devices supported */
#define EXAMPLE_RFAL_POLLER_RF_BUF_LEN 255 /* RF buffer length */
#define EXAMPLE_RFAL_POLLER_FOUND_NONE 0x00 /* No device found Flag */
#define EXAMPLE_RFAL_POLLER_FOUND_A 0x01 /* NFC-A device found Flag */
#define EXAMPLE_RFAL_POLLER_FOUND_B 0x02 /* NFC-B device found Flag */
#define EXAMPLE_RFAL_POLLER_FOUND_F 0x04 /* NFC-F device found Flag */
#define EXAMPLE_RFAL_POLLER_FOUND_V 0x08 /* NFC-V device Flag */
/*
******************************************************************************
* GLOBAL TYPES
******************************************************************************
*/
typedef enum{
EXAMPLE_RFAL_POLLER_STATE_INIT = 0, /* Initialize state */
EXAMPLE_RFAL_POLLER_STATE_TECHDETECT = 1, /* Technology Detection state */
EXAMPLE_RFAL_POLLER_STATE_COLAVOIDANCE = 2, /* Collision Avoidance state */
EXAMPLE_RFAL_POLLER_STATE_ACTIVATION = 3, /* Activation state */
EXAMPLE_RFAL_POLLER_STATE_DATAEXCHANGE_START = 4, /* Data Exchange Start state */
EXAMPLE_RFAL_POLLER_STATE_DATAEXCHANGE_CHECK = 5, /* Data Exchange Check state */
EXAMPLE_RFAL_POLLER_STATE_DEACTIVATION = 9 /* Deactivation state */
}exampleRfalPollerState;
typedef enum{
EXAMPLE_RFAL_POLLER_TYPE_NFCA = 0, /* NFC-A device type */
EXAMPLE_RFAL_POLLER_TYPE_NFCB = 1, /* NFC-B device type */
EXAMPLE_RFAL_POLLER_TYPE_NFCF = 2, /* NFC-F device type */
EXAMPLE_RFAL_POLLER_TYPE_NFCV = 3 /* NFC-V device type */
}exampleRfalPollerDevType;
typedef enum{
EXAMPLE_RFAL_POLLER_INTERFACE_RF = 0, /* RF Frame interface */
EXAMPLE_RFAL_POLLER_INTERFACE_ISODEP = 1, /* ISO-DEP interface */
EXAMPLE_RFAL_POLLER_INTERFACE_NFCDEP = 2 /* NFC-DEP interface */
}exampleRfalPollerRfInterface;
typedef struct{
exampleRfalPollerDevType type; /* Device's type */
union{
rfalNfcaListenDevice nfca; /* NFC-A Listen Device instance */
rfalNfcbListenDevice nfcb; /* NFC-B Listen Device instance */
rfalNfcfListenDevice nfcf; /* NFC-F Listen Device instance */
rfalNfcvListenDevice nfcv; /* NFC-V Listen Device instance */
}dev; /* Device's instance */
exampleRfalPollerRfInterface rfInterface; /* Device's interface */
union{
rfalIsoDepDevice isoDep; /* ISO-DEP instance */
rfalNfcDepDevice nfcDep; /* NFC-DEP instance */
}proto; /* Device's protocol */
}exampleRfalPollerDevice;
/*
******************************************************************************
* LOCAL VARIABLES
******************************************************************************
*/
static uint8_t t1tReadReq[] = { 0x01, 0x00, 0x00, 0x11, 0x22, 0x33, 0x44 }; /* T1T READ Block:0 Byte:0 */
static uint8_t t2tReadReq[] = { 0x30, 0x00 }; /* T2T READ Block:0 */
static uint8_t t3tCheckReq[] = { 0x06, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x01, 0x09, 0x00, 0x01, 0x80, 0x00 }; /* T3T Check/Read command */
static uint8_t t4tSelectReq[] = { 0x00, 0xA4, 0x00, 0x00, 0x00 }; /* T4T Select MF, DF or EF APDU */
static uint8_t t5tSysInfoReq[] = { 0x02, 0x2B }; /* NFC-V Get SYstem Information command*/
static uint8_t nfcbReq[] = { 0x00 }; /* NFC-B proprietary command */
static uint8_t llcpSymm[] = { 0x00, 0x00 }; /* LLCP SYMM command */
static uint8_t gNfcid3[] = {0x01, 0xFE, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A }; /* NFCID3 used for ATR_REQ */
static uint8_t gGenBytes[] = { 0x46, 0x66, 0x6d, 0x01, 0x01, 0x11, 0x02, 0x02, 0x07, 0x80, 0x03, 0x02, 0x00, 0x03, 0x04, 0x01, 0x32, 0x07, 0x01, 0x03 }; /* P2P General Bytes: LCCP Connect */
/*******************************************************************************/
static uint8_t gDevCnt; /* Number of devices found */
static exampleRfalPollerDevice gDevList[EXAMPLE_RFAL_POLLER_DEVICES]; /* Device List */
static exampleRfalPollerState gState; /* Main state */
static uint8_t gTechsFound; /* Technologies found bitmask */
exampleRfalPollerDevice *gActiveDev; /* Active device pointer */
static uint16_t gRcvLen; /* Received length */
static bool gRxChaining; /* Rx chaining flag */
static union{
uint8_t rfTxBuf[EXAMPLE_RFAL_POLLER_RF_BUF_LEN]; /* RF Tx buffer (not used on this demo) */
rfalIsoDepBufFormat isoDepTxBuf; /* ISO-DEP Tx buffer format (with header/prologue) */
rfalNfcDepBufFormat nfcDepTxBuf; /* NFC-DEP Rx buffer format (with header/prologue) */
}gTxBuf;
static union {
uint8_t rfRxBuf[EXAMPLE_RFAL_POLLER_RF_BUF_LEN]; /* RF Rx buffer */
rfalIsoDepBufFormat isoDepRxBuf; /* ISO-DEP Rx buffer format (with header/prologue) */
rfalNfcDepBufFormat nfcDepRxBuf; /* NFC-DEP Rx buffer format (with header/prologue) */
}gRxBuf;
/*
******************************************************************************
* LOCAL FUNCTION PROTOTYPES
******************************************************************************
*/
static bool exampleRfalPollerTechDetetection( void );
static bool exampleRfalPollerCollResolution( void );
static bool exampleRfalPollerActivation( uint8_t devIt );
static bool exampleRfalPollerNfcDepActivate( exampleRfalPollerDevice *device );
static ReturnCode exampleRfalPollerDataExchange( void );
static bool exampleRfalPollerDeactivate( void );
/*
******************************************************************************
* GLOBAL FUNCTIONS
******************************************************************************
*/
extern void exampleRfalPollerRun( void )
{
ReturnCode err;
rfalAnalogConfigInitialize(); /* Initialize RFAL's Analog Configs */
rfalInitialize(); /* Initialize RFAL */
platformLog("\n\rExample RFAL Poller started \r\n");
for(;;)
{
rfalWorker(); /* Execute RFAL process */
switch( gState )
{
/*******************************************************************************/
case EXAMPLE_RFAL_POLLER_STATE_INIT:
gTechsFound = EXAMPLE_RFAL_POLLER_FOUND_NONE;
gActiveDev = NULL;
gDevCnt = 0;
gState = EXAMPLE_RFAL_POLLER_STATE_TECHDETECT;
break;
/*******************************************************************************/
case EXAMPLE_RFAL_POLLER_STATE_TECHDETECT:
if( !exampleRfalPollerTechDetetection() ) /* Poll for nearby devices in different technologies */
{
gState = EXAMPLE_RFAL_POLLER_STATE_DEACTIVATION; /* If no device was found, restart loop */
break;
}
gState = EXAMPLE_RFAL_POLLER_STATE_COLAVOIDANCE; /* One or more devices found, go to Collision Avoidance */
break;
/*******************************************************************************/
case EXAMPLE_RFAL_POLLER_STATE_COLAVOIDANCE:
if( !exampleRfalPollerCollResolution() ) /* Resolve any eventual collision */
{
gState = EXAMPLE_RFAL_POLLER_STATE_DEACTIVATION; /* If Collision Resolution was unable to retrieve any device, restart loop */
break;
}
platformLog("Device(s) found: %d \r\n", gDevCnt);
gState = EXAMPLE_RFAL_POLLER_STATE_ACTIVATION; /* Device(s) have been identified, go to Activation */
break;
/*******************************************************************************/
case EXAMPLE_RFAL_POLLER_STATE_ACTIVATION:
if( !exampleRfalPollerActivation( 0 ) ) /* Any device previous identified can be Activated, on this example will select the firt on the list */
{
gState = EXAMPLE_RFAL_POLLER_STATE_DEACTIVATION; /* If Activation failed, restart loop */
break;
}
gState = EXAMPLE_RFAL_POLLER_STATE_DATAEXCHANGE_START; /* Device has been properly activated, go to Data Exchange */
break;
/*******************************************************************************/
case EXAMPLE_RFAL_POLLER_STATE_DATAEXCHANGE_START:
case EXAMPLE_RFAL_POLLER_STATE_DATAEXCHANGE_CHECK:
err = exampleRfalPollerDataExchange(); /* Perform Data Exchange, in this example a simple transfer will executed in order to do device's presence check */
switch( err )
{
case ERR_NONE: /* Data exchange successful */
platformDelay(300); /* Wait a bit */
gState = EXAMPLE_RFAL_POLLER_STATE_DATAEXCHANGE_START; /* Trigger new exchange with device */
break;
case ERR_BUSY: /* Data exchange ongoing */
gState = EXAMPLE_RFAL_POLLER_STATE_DATAEXCHANGE_CHECK; /* Once triggered/started the Data Exchange only do check until is completed */
break;
default: /* Data exchange not successful, card removed or other transmission error */
platformLog("Data exchange terminated with error: %d \r\n", err);
gState = EXAMPLE_RFAL_POLLER_STATE_DEACTIVATION; /* Restart loop */
break;
}
break;
/*******************************************************************************/
case EXAMPLE_RFAL_POLLER_STATE_DEACTIVATION:
exampleRfalPollerDeactivate(); /* If a card has been activated, properly deactivate the device */
rfalFieldOff(); /* Turn the Field Off powering down any device nearby */
platformDelay( 500 ); /* Remain a certain period with field off */
gState = EXAMPLE_RFAL_POLLER_STATE_INIT; /* Restart the loop */
break;
/*******************************************************************************/
default:
return;
}
}
}
static bool exampleRfalPollerTechDetetection( void )
{
ReturnCode err;
rfalNfcaSensRes sensRes;
rfalNfcbSensbRes sensbRes;
rfalNfcvInventoryRes invRes;
uint8_t sensbResLen;
gTechsFound = EXAMPLE_RFAL_POLLER_FOUND_NONE;
/*******************************************************************************/
/* NFC-A Technology Detection */
/*******************************************************************************/
rfalNfcaPollerInitialize(); /* Initialize RFAL for NFC-A */
rfalFieldOnAndStartGT(); /* Turns the Field On and starts GT timer */
err = rfalNfcaPollerTechnologyDetection( RFAL_COMPLIANCE_MODE_NFC, &sensRes ); /* Poll for NFC-A devices */
if( err == ERR_NONE )
{
gTechsFound |= EXAMPLE_RFAL_POLLER_FOUND_A;
}
/*******************************************************************************/
/* NFC-B Technology Detection */
/*******************************************************************************/
rfalNfcbPollerInitialize(); /* Initialize RFAL for NFC-B */
rfalFieldOnAndStartGT(); /* As field is already On only starts GT timer */
err = rfalNfcbPollerTechnologyDetection( RFAL_COMPLIANCE_MODE_NFC, &sensbRes, &sensbResLen ); /* Poll for NFC-B devices */
if( err == ERR_NONE )
{
gTechsFound |= EXAMPLE_RFAL_POLLER_FOUND_B;
}
/*******************************************************************************/
/* NFC-F Technology Detection */
/*******************************************************************************/
rfalNfcfPollerInitialize( RFAL_BR_212 ); /* Initialize RFAL for NFC-F */
rfalFieldOnAndStartGT(); /* As field is already On only starts GT timer */
err = rfalNfcfPollerCheckPresence(); /* Poll for NFC-F devices */
if( err == ERR_NONE )
{
gTechsFound |= EXAMPLE_RFAL_POLLER_FOUND_F;
}
/*******************************************************************************/
/* NFC-V Technology Detection */
/*******************************************************************************/
rfalNfcvPollerInitialize(); /* Initialize RFAL for NFC-V */
rfalFieldOnAndStartGT(); /* As field is already On only starts GT timer */
err = rfalNfcvPollerCheckPresence( &invRes ); /* Poll for NFC-V devices */
if( err == ERR_NONE )
{
gTechsFound |= EXAMPLE_RFAL_POLLER_FOUND_V;
}
return (gTechsFound != EXAMPLE_RFAL_POLLER_FOUND_NONE);
}
static bool exampleRfalPollerCollResolution( void )
{
uint8_t i;
uint8_t devCnt;
ReturnCode err;
/*******************************************************************************/
/* NFC-A Collision Resolution */
/*******************************************************************************/
if( gTechsFound & EXAMPLE_RFAL_POLLER_FOUND_A ) /* If a NFC-A device was found/detected, perform Collision Resolution */
{
rfalNfcaListenDevice nfcaDevList[EXAMPLE_RFAL_POLLER_DEVICES];
rfalNfcaPollerInitialize();
rfalFieldOnAndStartGT(); /* Ensure GT again as other technologies have also been polled */
err = rfalNfcaPollerFullCollisionResolution( RFAL_COMPLIANCE_MODE_NFC, (EXAMPLE_RFAL_POLLER_DEVICES - gDevCnt), nfcaDevList, &devCnt );
if( (err == ERR_NONE) && (devCnt != 0) )
{
for( i=0; i<devCnt; i++ ) /* Copy devices found form local Nfca list into global device list */
{
gDevList[gDevCnt].type = EXAMPLE_RFAL_POLLER_TYPE_NFCA;
gDevList[gDevCnt].dev.nfca = nfcaDevList[i];
gDevCnt++;
}
}
}
/*******************************************************************************/
/* NFC-B Collision Resolution */
/*******************************************************************************/
if( gTechsFound & EXAMPLE_RFAL_POLLER_FOUND_B ) /* If a NFC-A device was found/detected, perform Collision Resolution */
{
rfalNfcbListenDevice nfcbDevList[EXAMPLE_RFAL_POLLER_DEVICES];
rfalNfcbPollerInitialize();
rfalFieldOnAndStartGT(); /* Ensure GT again as other technologies have also been polled */
err = rfalNfcbPollerCollisionResolution( RFAL_COMPLIANCE_MODE_NFC, (EXAMPLE_RFAL_POLLER_DEVICES - gDevCnt), nfcbDevList, &devCnt );
if( (err == ERR_NONE) && (devCnt != 0) )
{
for( i=0; i<devCnt; i++ ) /* Copy devices found form local Nfcb list into global device list */
{
gDevList[gDevCnt].type = EXAMPLE_RFAL_POLLER_TYPE_NFCB;
gDevList[gDevCnt].dev.nfcb = nfcbDevList[i];
gDevCnt++;
}
}
}
/*******************************************************************************/
/* NFC-F Collision Resolution */
/*******************************************************************************/
if( gTechsFound & EXAMPLE_RFAL_POLLER_FOUND_F ) /* If a NFC-F device was found/detected, perform Collision Resolution */
{
rfalNfcfListenDevice nfcfDevList[EXAMPLE_RFAL_POLLER_DEVICES];
rfalNfcfPollerInitialize( RFAL_BR_212 );
rfalFieldOnAndStartGT(); /* Ensure GT again as other technologies have also been polled */
err = rfalNfcfPollerCollisionResolution( RFAL_COMPLIANCE_MODE_NFC, (EXAMPLE_RFAL_POLLER_DEVICES - gDevCnt), nfcfDevList, &devCnt );
if( (err == ERR_NONE) && (devCnt != 0) )
{
for( i=0; i<devCnt; i++ ) /* Copy devices found form local Nfcf list into global device list */
{
gDevList[gDevCnt].type = EXAMPLE_RFAL_POLLER_TYPE_NFCF;
gDevList[gDevCnt].dev.nfcf = nfcfDevList[i];
gDevCnt++;
}
}
}
/*******************************************************************************/
/* NFC-V Collision Resolution */
/*******************************************************************************/
if( gTechsFound & EXAMPLE_RFAL_POLLER_FOUND_V ) /* If a NFC-F device was found/detected, perform Collision Resolution */
{
rfalNfcvListenDevice nfcvDevList[EXAMPLE_RFAL_POLLER_DEVICES];
rfalNfcvPollerInitialize();
rfalFieldOnAndStartGT(); /* Ensure GT again as other technologies have also been polled */
err = rfalNfcvPollerCollisionResolution( (EXAMPLE_RFAL_POLLER_DEVICES - gDevCnt), nfcvDevList, &devCnt );
if( (err == ERR_NONE) && (devCnt != 0) )
{
for( i=0; i<devCnt; i++ ) /* Copy devices found form local Nfcf list into global device list */
{
gDevList[gDevCnt].type = EXAMPLE_RFAL_POLLER_TYPE_NFCV;
gDevList[gDevCnt].dev.nfcv = nfcvDevList[i];
gDevCnt++;
}
}
}
return (gDevCnt > 0);
}
static bool exampleRfalPollerActivation( uint8_t devIt )
{
ReturnCode err;
rfalNfcaSensRes sensRes;
rfalNfcaSelRes selRes;
rfalNfcbSensbRes sensbRes;
uint8_t sensbResLen;
if( devIt > gDevCnt )
{
return false;
}
switch( gDevList[devIt].type )
{
/*******************************************************************************/
/* NFC-A Activation */
/*******************************************************************************/
case EXAMPLE_RFAL_POLLER_TYPE_NFCA:
rfalNfcaPollerInitialize();
if( gDevList[devIt].dev.nfca.isSleep ) /* Check if desired device is in Sleep */
{
err = rfalNfcaPollerCheckPresence( RFAL_14443A_SHORTFRAME_CMD_WUPA, &sensRes ); /* Wake up all cards */
if( err != ERR_NONE )
{
return false;
}
err = rfalNfcaPollerSelect( gDevList[devIt].dev.nfca.nfcId1, gDevList[devIt].dev.nfca.nfcId1Len, &selRes ); /* Select specific device */
if( err != ERR_NONE )
{
return false;
}
}
/*******************************************************************************/
/* Perform protocol specific activation */
switch( gDevList[devIt].dev.nfca.type )
{
/*******************************************************************************/
case RFAL_NFCA_T1T:
/* No further activation needed for a T1T (RID already performed)*/
platformLog("NFC-A T1T device activated \r\n"); /* NFC-A T1T device activated */
gDevList[devIt].rfInterface = EXAMPLE_RFAL_POLLER_INTERFACE_RF;
break;
/*******************************************************************************/
case RFAL_NFCA_T2T:
/* No specific activation needed for a T2T */
platformLog("NFC-A T2T device activated \r\n"); /* NFC-A T2T device activated */
gDevList[devIt].rfInterface = EXAMPLE_RFAL_POLLER_INTERFACE_RF;
break;
/*******************************************************************************/
case RFAL_NFCA_T4T:
/* Perform ISO-DEP (ISO14443-4) activation: RATS and PPS if supported */
rfalIsoDepInitialize();
err = rfalIsoDepPollAHandleActivation( (rfalIsoDepFSxI)RFAL_ISODEP_FSDI_DEFAULT, RFAL_ISODEP_NO_DID, RFAL_BR_424, &gDevList[devIt].proto.isoDep );
if( err != ERR_NONE )
{
return false;
}
platformLog("NFC-A T4T (ISO-DEP) device activated \r\n"); /* NFC-A T4T device activated */
gDevList[devIt].rfInterface = EXAMPLE_RFAL_POLLER_INTERFACE_ISODEP;
break;
/*******************************************************************************/
case RFAL_NFCA_T4T_NFCDEP: /* Device supports both T4T and NFC-DEP */
case RFAL_NFCA_NFCDEP: /* Device supports NFC-DEP */
/* Perform NFC-DEP (P2P) activation: ATR and PSL if supported */
if( !exampleRfalPollerNfcDepActivate( &gDevList[devIt] ) )
{
return false;
}
platformLog("NFC-A P2P (NFC-DEP) device activated \r\n"); /* NFC-A P2P device activated */
gDevList[devIt].rfInterface = EXAMPLE_RFAL_POLLER_INTERFACE_NFCDEP;
break;
}
break;
/*******************************************************************************/
/* NFC-B Activation */
/*******************************************************************************/
case EXAMPLE_RFAL_POLLER_TYPE_NFCB:
rfalNfcbPollerInitialize();
if( gDevList[devIt].dev.nfcb.isSleep ) /* Check if desired device is in Sleep */
{
/* Wake up all cards. SENSB_RES may return collision but the NFCID0 is available to explicitly select NFC-B card via ATTRIB; so error will be ignored here */
rfalNfcbPollerCheckPresence( RFAL_NFCB_SENS_CMD_ALLB_REQ, RFAL_NFCB_SLOT_NUM_1, &sensbRes, &sensbResLen );
}
/*******************************************************************************/
/* Perform ISO-DEP (ISO14443-4) activation: RATS and PPS if supported */
rfalIsoDepInitialize();
err = rfalIsoDepPollBHandleActivation( (rfalIsoDepFSxI)RFAL_ISODEP_FSDI_DEFAULT, RFAL_ISODEP_NO_DID, RFAL_BR_424, 0x00, &gDevList[devIt].dev.nfcb, NULL, 0, &gDevList[devIt].proto.isoDep );
if( err == ERR_NONE )
{
platformLog("NFC-B T4T (ISO-DEP) device activated \r\n"); /* NFC-B T4T device activated */
gDevList[devIt].rfInterface = EXAMPLE_RFAL_POLLER_INTERFACE_ISODEP ;
break;
}
platformLog("NFC-B device activated \r\n"); /* NFC-B device activated */
gDevList[devIt].rfInterface = EXAMPLE_RFAL_POLLER_INTERFACE_RF;
break;
/*******************************************************************************/
/* NFC-F Activation */
/*******************************************************************************/
case EXAMPLE_RFAL_POLLER_TYPE_NFCF:
rfalNfcfPollerInitialize( RFAL_BR_212 );
if( rfalNfcfIsNfcDepSupported( &gDevList[devIt].dev.nfcf ) )
{
/* Perform NFC-DEP (P2P) activation: ATR and PSL if supported */
if( !exampleRfalPollerNfcDepActivate( &gDevList[devIt] ) )
{
return false;
}
platformLog("NFC-F P2P (NFC-DEP) device activated \r\n"); /* NFC-A P2P device activated */
gDevList[devIt].rfInterface = EXAMPLE_RFAL_POLLER_INTERFACE_NFCDEP;
break;
}
platformLog("NFC-F T3T device activated \r\n"); /* NFC-F T3T device activated */
gDevList[devIt].rfInterface = EXAMPLE_RFAL_POLLER_INTERFACE_RF;
break;
/*******************************************************************************/
/* NFC-V Activation */
/*******************************************************************************/
case EXAMPLE_RFAL_POLLER_TYPE_NFCV:
rfalNfcvPollerInitialize();
/* No specific activation needed for a T5T */
platformLog("NFC-V T5T device activated \r\n"); /* NFC-V T5T device activated */
gDevList[devIt].rfInterface = EXAMPLE_RFAL_POLLER_INTERFACE_RF;
break;
/*******************************************************************************/
default:
return false;
}
gActiveDev = &gDevList[devIt]; /* Assign active device to be used further on */
return true;
}
static bool exampleRfalPollerNfcDepActivate( exampleRfalPollerDevice *device )
{
rfalNfcDepAtrParam param;
/*******************************************************************************/
/* If Passive F use the NFCID2 retrieved from SENSF */
if( device->type == EXAMPLE_RFAL_POLLER_TYPE_NFCF )
{
param.nfcid = device->dev.nfcf.sensfRes.NFCID2;
param.nfcidLen = RFAL_NFCF_NFCID2_LEN;
}
else
{
param.nfcid = gNfcid3;
param.nfcidLen = RFAL_NFCDEP_NFCID3_LEN;
}
param.BS = RFAL_NFCDEP_Bx_NO_HIGH_BR;
param.BR = RFAL_NFCDEP_Bx_NO_HIGH_BR;
param.DID = RFAL_NFCDEP_DID_NO;
param.NAD = RFAL_NFCDEP_NAD_NO;
param.LR = RFAL_NFCDEP_LR_254;
param.GB = gGenBytes;
param.GBLen = sizeof(gGenBytes);
param.commMode = RFAL_NFCDEP_COMM_PASSIVE;
param.operParam = (RFAL_NFCDEP_OPER_FULL_MI_EN | RFAL_NFCDEP_OPER_EMPTY_DEP_DIS | RFAL_NFCDEP_OPER_ATN_EN | RFAL_NFCDEP_OPER_RTOX_REQ_EN);
/* Perform NFC-DEP (P2P) activation: ATR and PSL if supported */
return (rfalNfcDepInitiatorHandleActivation( &param, RFAL_BR_424, &device->proto.nfcDep ) == ERR_NONE);
}
static ReturnCode exampleRfalPollerDataExchange( void )
{
rfalTransceiveContext ctx;
ReturnCode err;
rfalIsoDepTxRxParam isoDepTxRx;
rfalNfcDepTxRxParam nfcDepTxRx;
uint8_t *txBuf;
uint16_t txBufLen;
/*******************************************************************************/
/* The Data Exchange is divided in two different moments, the trigger/Start of *
* the transfer followed by the check until its completion */
if( gState == EXAMPLE_RFAL_POLLER_STATE_DATAEXCHANGE_START ) /* Trigger/Start the data exchange */
{
switch( gActiveDev->rfInterface ) /* Check which RF interface shall be used/has been activated */
{
/*******************************************************************************/
case EXAMPLE_RFAL_POLLER_INTERFACE_RF:
switch( gActiveDev->type ) /* Over RF interface no specific protocol is selected, each device supports a different protocol */
{
/*******************************************************************************/
case EXAMPLE_RFAL_POLLER_TYPE_NFCA:
switch( gActiveDev->dev.nfca.type )
{
/*******************************************************************************/
case RFAL_NFCA_T1T:
/* To perform presence check, on this example a T1T Read command is used */
ST_MEMCPY( &t1tReadReq[3], gActiveDev->dev.nfca.nfcId1, RFAL_NFCA_CASCADE_1_UID_LEN ); /* Assign device's NFCID for read command */
txBuf = t1tReadReq;
txBufLen = sizeof(t1tReadReq);
break;
/*******************************************************************************/
case RFAL_NFCA_T2T:
/* To perform presence check, on this example a T2T Read command is used */
txBuf = t2tReadReq;
txBufLen = sizeof(t2tReadReq);
break;
/*******************************************************************************/
default:
return ERR_REQUEST;;
}
break;
/*******************************************************************************/
case EXAMPLE_RFAL_POLLER_TYPE_NFCB:
/* To perform presence check, no specific command is used */
txBuf = nfcbReq;
txBufLen = sizeof(nfcbReq);
break;
/*******************************************************************************/
case EXAMPLE_RFAL_POLLER_TYPE_NFCF:
/* To perform presence check, on this example a T3T Check/Read command is used */
ST_MEMCPY( &t3tCheckReq[1], gActiveDev->dev.nfcf.sensfRes.NFCID2, RFAL_NFCF_NFCID2_LEN ); /* Assign device's NFCID for Check command */
txBuf = t3tCheckReq;
txBufLen = sizeof(t3tCheckReq);
break;
/*******************************************************************************/
case EXAMPLE_RFAL_POLLER_TYPE_NFCV:
/* To perform presence check, on this example a Get System Information command is used */
txBuf = t5tSysInfoReq;
txBufLen = sizeof(t5tSysInfoReq);
break;
/*******************************************************************************/
default:
return ERR_REQUEST;
}
/*******************************************************************************/
/* Trigger a RFAL Transceive using the previous defined frames */
rfalCreateByteFlagsTxRxContext( ctx, txBuf, txBufLen, gRxBuf.rfRxBuf, sizeof(gRxBuf.rfRxBuf), &gRcvLen, RFAL_TXRX_FLAGS_DEFAULT, rfalConvMsTo1fc(20) );
return (((err = rfalStartTransceive( &ctx )) == ERR_NONE) ? ERR_BUSY : err); /* Signal ERR_BUSY as Data Exchange has been started and is ongoing */
case EXAMPLE_RFAL_POLLER_INTERFACE_ISODEP:
ST_MEMCPY( gTxBuf.isoDepTxBuf.inf, t4tSelectReq, sizeof(t4tSelectReq) );
isoDepTxRx.DID = RFAL_ISODEP_NO_DID;
isoDepTxRx.ourFSx = RFAL_ISODEP_FSX_KEEP;
isoDepTxRx.FSx = gActiveDev->proto.isoDep.info.FSx;
isoDepTxRx.dFWT = gActiveDev->proto.isoDep.info.dFWT;
isoDepTxRx.FWT = gActiveDev->proto.isoDep.info.FWT;
isoDepTxRx.txBuf = &gTxBuf.isoDepTxBuf;
isoDepTxRx.txBufLen = sizeof(t4tSelectReq);
isoDepTxRx.isTxChaining = false;
isoDepTxRx.rxBuf = &gRxBuf.isoDepRxBuf;
isoDepTxRx.rxLen = &gRcvLen;
isoDepTxRx.isRxChaining = &gRxChaining;
/*******************************************************************************/
/* Trigger a RFAL ISO-DEP Transceive */
return (((err = rfalIsoDepStartTransceive( isoDepTxRx )) == ERR_NONE) ? ERR_BUSY : err); /* Signal ERR_BUSY as Data Exchange has been started and is ongoing */
case EXAMPLE_RFAL_POLLER_INTERFACE_NFCDEP:
ST_MEMCPY( gTxBuf.nfcDepTxBuf.inf, llcpSymm, sizeof(llcpSymm) );
nfcDepTxRx.DID = RFAL_NFCDEP_DID_KEEP;
nfcDepTxRx.FSx = rfalNfcDepLR2FS( rfalNfcDepPP2LR( gActiveDev->proto.nfcDep.activation.Target.ATR_RES.PPt ) );
nfcDepTxRx.dFWT = gActiveDev->proto.nfcDep.info.dFWT;
nfcDepTxRx.FWT = gActiveDev->proto.nfcDep.info.FWT;
nfcDepTxRx.txBuf = &gTxBuf.nfcDepTxBuf;
nfcDepTxRx.txBufLen = sizeof(llcpSymm);
nfcDepTxRx.isTxChaining = false;
nfcDepTxRx.rxBuf = &gRxBuf.nfcDepRxBuf;
nfcDepTxRx.rxLen = &gRcvLen;
nfcDepTxRx.isRxChaining = &gRxChaining;
/*******************************************************************************/
/* Trigger a RFAL NFC-DEP Transceive */
return (((err = rfalNfcDepStartTransceive( &nfcDepTxRx )) == ERR_NONE) ? ERR_BUSY : err); /* Signal ERR_BUSY as Data Exchange has been started and is ongoing */
default:
break;
}
}
/*******************************************************************************/
/* The Data Exchange has been started, wait until completed */
else if( gState == EXAMPLE_RFAL_POLLER_STATE_DATAEXCHANGE_CHECK )
{
switch( gActiveDev->rfInterface )
{
/*******************************************************************************/
case EXAMPLE_RFAL_POLLER_INTERFACE_RF:
return rfalGetTransceiveStatus();
/*******************************************************************************/
case EXAMPLE_RFAL_POLLER_INTERFACE_ISODEP:
return rfalIsoDepGetTransceiveStatus();
/*******************************************************************************/
case EXAMPLE_RFAL_POLLER_INTERFACE_NFCDEP:
return rfalNfcDepGetTransceiveStatus();
/*******************************************************************************/
default:
return ERR_PARAM;
}
}
return ERR_REQUEST;
}
static bool exampleRfalPollerDeactivate( void )
{
if( gActiveDev != NULL ) /* Check if a device has been activated */
{
switch( gActiveDev->rfInterface )
{
/*******************************************************************************/
case EXAMPLE_RFAL_POLLER_INTERFACE_RF:
break; /* No specific deactivation to be performed */
/*******************************************************************************/
case EXAMPLE_RFAL_POLLER_INTERFACE_ISODEP:
rfalIsoDepDeselect(); /* Send a Deselect to device */
break;
/*******************************************************************************/
case EXAMPLE_RFAL_POLLER_INTERFACE_NFCDEP:
rfalNfcDepRLS(); /* Send a Release to device */
break;
default:
return false;
}
platformLog("Device deactivated \r\n");
}
return true;
}
Generated on Wed May 20 2020 18:07:12 for RFAL by doxygen 1.8.6


RFAL: st25r3911 -> include Relation

  • source
  • st25r3911

st25r3911 → include Relation

File in source/st25r3911 | Includes file in include
st25r3911/rfal_analogConfigTbl.h | rfal_analogConfig.h
st25r3911/rfal_dpoTbl.h | rfal_dpo.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: st25r3916 Directory Reference

  • source
  • st25r3916
st25r3916 Directory Reference
Directory dependency graph for st25r3916:

Files

file | st25r3916/rfal_analogConfigTbl.h
file | st25r3916/rfal_dpoTbl.h
RF Dynamic Power Table default values.
file | st25r3916/rfal_features.h
RFAL Features/Capabilities Definition for ST25R3916.
file | st25r3916.h
ST25R3916 high level interface.
file | st25r3916_aat.h
ST25R3916 Antenna Tuning.
file | st25r3916_com.h
ST25R3916 communication declaration file.
file | st25r3916_irq.h
ST25R3916 Interrupt handling.
file | st25r3916_led.h
ST25R3916 LEDs handling.
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: st25r3916 -> include Relation

  • source
  • st25r3916

st25r3916 → include Relation

File in source/st25r3916 | Includes file in include
st25r3916/rfal_analogConfigTbl.h | rfal_analogConfig.h
st25r3916/rfal_dpoTbl.h | rfal_dpo.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: st25r95 -> include Relation

  • source
  • st25r95

st25r95 → include Relation

File in source/st25r95 | Includes file in include
st25r95/rfal_analogConfigTbl.h | rfal_analogConfig.h
st25r95_com.h | rfal_rf.h
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: st25r3911 Directory Reference

  • source
  • st25r3911
st25r3911 Directory Reference
Directory dependency graph for st25r3911:

Files

file | st25r3911/rfal_analogConfigTbl.h
file | st25r3911/rfal_dpoTbl.h
file | st25r3911/rfal_features.h
RFAL Features/Capabilities Definition for ST25R3911.
file | st25r3911.h
ST25R3911 declaration file.
file | st25r3911_com.h
ST25R3911 communication declaration file.
file | st25r3911_interrupt.h
ST25R3911 Interrupt header file.
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: source Directory Reference

  • source
source Directory Reference
Directory dependency graph for source:

Directories

directory | st25r3911
directory | st25r3916
directory | st25r95

Files

file | rfal_crc.h
CRC calculation module.
file | rfal_iso15693_2.h
Implementation of ISO-15693-2.
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: include Directory Reference

  • include
include Directory Reference
Directory dependency graph for include:

Files

file | rfal_analogConfig.h
RF Chip Analog Configuration Settings.
file | rfal_chip.h
RF Chip specific Layer.
file | rfal_dpo.h
Dynamic Power adjustment.
file | rfal_isoDep.h
Implementation of ISO-DEP protocol.
file | rfal_nfc.h
RFAL NFC device.
file | rfal_nfca.h
Provides several NFC-A convenience methods and definitions.
file | rfal_nfcb.h
Implementation of NFC-B (ISO14443B) helpers.
file | rfal_nfcDep.h
Implementation of NFC-DEP protocol.
file | rfal_nfcf.h
Implementation of NFC-F Poller (FeliCa PCD) device.
file | rfal_nfcv.h
Implementation of NFC-V Poller (ISO15693) device.
file | rfal_rf.h
RF Abstraction Layer (RFAL)
file | rfal_st25tb.h
Implementation of ST25TB interface.
file | rfal_st25xv.h
NFC-V ST25 NFC-V Tag specific features.
file | rfal_t1t.h
Provides NFC-A T1T convenience methods and definitions.
file | rfal_t2t.h
Provides NFC-A T2T convenience methods and definitions.
file | rfal_t4t.h
Provides convenience methods and definitions for T4T (ISO7816-4)
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: st25r95 Directory Reference

  • source
  • st25r95
st25r95 Directory Reference
Directory dependency graph for st25r95:

Files

file | st25r95/rfal_analogConfigTbl.h
file | st25r95/rfal_features.h
RFAL Features/Capabilities Definition for ST25R95.
file | st25r95.h
ST25R95 declaration file.
file | st25r95_com.h
ST25R95 communication declaration file.
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: Graph Legend

Graph Legend

This page explains how to interpret the graphs that are generated by doxygen.

Consider the following example:

/*! Invisible class because of truncation */
class Invisible { };
/*! Truncated class, inheritance relation is hidden */
class Truncated : public Invisible { };
/* Class not documented with doxygen comments */
class Undocumented { };
/*! Class that is inherited using public inheritance */
class PublicBase : public Truncated { };
/*! A template class */
template<class T> class Templ { };
/*! Class that is inherited using protected inheritance */
class ProtectedBase { };
/*! Class that is inherited using private inheritance */
class PrivateBase { };
/*! Class that is used by the Inherited class */
class Used { };
/*! Super class that inherits a number of other classes */
class Inherited : public PublicBase,
protected ProtectedBase,
private PrivateBase,
public Undocumented,
public Templ<int>
{
private:
Used *m_usedClass;
};

This will result in the following graph:

The boxes in the above graph have the following meaning:

  • A filled gray box represents the struct or class for which the graph is generated.
  • A box with a black border denotes a documented struct or class.
  • A box with a grey border denotes an undocumented struct or class.
  • A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.

The arrows have the following meaning:

  • A dark blue arrow is used to visualize a public inheritance relation between two classes.
  • A dark green arrow is used for protected inheritance.
  • A dark red arrow is used for private inheritance.
  • A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible.
  • A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance.
Generated on Wed May 20 2020 18:07:15 for RFAL by doxygen 1.8.6


RFAL: rfal.dox File Reference

  • File List
  • Globals
rfal.dox File Reference

Detailed Description

Author
Gustavo Patricio
Generated on Wed May 20 2020 18:07:13 for RFAL by doxygen 1.8.6