# Release Notes for RFAL software Library

Copyright 2019 STMicroelectronics

The RFAL Library (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.
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)
- NFC-DEP (ISO18092)

## Update History

### V2.2.0 / 22-May-2020

Main Changes

- Better alignment to NFC Forum latest requirements (CR12)
- Extended NFC-V module with non-addressed mode support and improved aticollision
- Feature Switches changed to be not mandatory. Modules disabled by default
- Aligned APIs on platform.h (breaks compatibility with previous versions, see example in rfal.chm)
- Added API for release/deletion of timers
- ST25R3916 default analog table modified to X-NUCLEO-NFC06A1 board
- Improved AP2P operation
- Fixed issues introduced on previous release linked to SFGT and anticollision retries
- Introduced Low-Power mode
- Several driver improvements

### V2.1.2 / 27-Jan-2020

Main Changes

- Extended ISO-DEP and NFC-A module to support non-blocking activation interfaces
- Extended NFC/HL module to make use of the new APIs further splitting the execution of the worker during the different activities
- Modified NFC-A anticollision to strictly comply to NFC Forum DP. A separate proprietary method is now available.
- NFC-V changed to use OOK (100% AM) by default
- Fixed FWT used by NFC-V Sleep
- Fixed NFC-F FDT Poll value
- Fixed incorrect register access on ST25R3911B RFO Get/Set method
- SPI driver modified to clear Rx buffer prior to operation
- Added further code size optimizations based on enabled features
- Updated ST25R3916 driver to DS Rev2
- Updated SW Tag Detection as describded in AN Rev3
- Several driver improvements

### V2.1.0 / 30-Sep-2019

Main Changes

- Extended RFAL NFC Higher Layer for increased functionality and configurations
- Several improvements on the ISO-DEP protocol layer
- Protocol buffer sizes made fully configurable for increased memory management
- Introduced option for Collision Avoidance with Automatic Gain Control
- Several driver improvements
- ST25R3916 overheat protection disabled
- RF Transceive modified for transmission errors to precede other errors
- Analog Configs extended to support different DPO power levels

### V2.0.10 / 25-Jun-2019

Main Changes

- Various improvements on RFAL NFC Higher layer
- Added alternative NFC-V anticollision method (non NFC Forum compliant)
- Several minor improvements and fixes

### V2.0.6 / 10-Apr-2019

Main Changes

- Several NFC-V interoperability improvements
- Extended support for specific features of ST's ISO15693 Tags. New ST25Dx module added
- Interrupt handling changed and further protection added
- RFAL feature switches have been modified and features are now disabled if omitted
- ST25R3916 AAT (Automatic Antenna Tunning) module added
- RFAL NFC Higher layer added
- Several driver improvements

### V2.0.4 / 06-Fev-2019

Provided with ST25R3916 DISCO v1.0.0 / EMVCo v1.2.0

Main Changes

- Minor improvements on NFC-F module
- Several improvements on NFC-V module including support for ST proprietary features
- Fixed issue with Delta RWT calculation
- Fixed incorrect usage of NFCB dTbPoll / DdFWT
- Added compile switch for Listen Mode
- Low power Listen Mode support added
- Listen Mode aligned to NFC Forum Digital 2.1
- Added handling for EMVCo 3.0 static FDTListen
- Introduced SW Tag Detection

### V2.0.2 / 31-Oct-2018

Provided with ST25R3916 DISCO v0.9.4 (binary only)

Main Changes

- New T4T module added
- Added support for T3T Check and Update commands
- Improved NFC-V module and added Write Multiple Blocks support
- New rfalWorker protection added for improved control in multi-thread environments
- Added support for user defined Analog Config tables
- Several driver improvements and protections added

### V2.0.0 / 28-Aug-2018

Main Changes

- MISRA C 2012 compliant
- ST25R3916 support added
- ST25R95 support added
- Fix unwanted Field Detector disable when entering Wake-up mode
- Extended Analog Config to have specific events
- Fixed NFC-DEP potential issue if DID used
- Extended NFC-V commands
- T2T module added
- Improved initial Listen mode handling
- Extended Wake-Up mode to support Capacitive measurement

### V1.3.6 / 08-May-2018

Provided with ST25R3911B DISCO v1.2.0

Main Changes

- Added ISO15693 x4 and x8 mode support
- Added S(PARAMETERS) support
- Interface changes for measurement, Wake-Up and DPO methods
- Added further feature switches to enable/disable individual modules
- Changed communication protection
- Improved NFC-A anti-collision
- Several driver improvements

### V1.3.4 / 07-May-2018

Main Changes

- Fixed NFC-V Read operation in addressed mode

### V1.3.2 / 31-January-2018

Main Changes

- Modified Wake-Up mode interface
- Fixed SFGI calculation in ISO-DEP

### V1.3.0 / 22-January-2018

Main Changes

- Introduced a new IRQ status handling to read the registers only once
- Several changes for supporting Linux platform
- SPI Select/Deselect moved to platform.h
- Aditional protection of the IRQ status reading, new macros available: platformProtectST25R391xIrqStatus / platformUnprotectST25R391xIrqStatus
- Renamed the IRQ Enable/Disable macros to platformProtectST25R391xComm / platformUnprotectST25R391xComm
- Renamed SPI pins from chip specific to ST25R391X
- Introduced a new option ST25R391X_COM_SINGLETXRX which executes SPI in one single exchange (additional buffer required)
- Updated and added errata handlings to latest ST25R3911 Errata version
- Fixed inconsitency on Analog settings for NFC-V
- Fixed issue on NFC-V 1of256 decoding
- Changed the default NFC-A FDT Listen to be more strict
- Added Wake-Up mode support
- Added RFAL version definition

### V1.2.0 / 17-August-2017

Provided with ST25R3911B Disco v1.1.16

Main Changes

- Aligned Technology modules to NFC Activity v1.1 and EMVCo v2.6
- Extended NFC-B Collision Resolution allowing user define Slots
- Added feature switches to enable/disable individual modules
- ISO-DEP Interface changes allowing more user configurations and further EMVCo alignment
- Changed ST25TB detection to always perform Anti Collision loop regardeless of the result of the Poll
- Fixed FIFO WL handling
- Modified FDT Poll handling
- changed rfalCalibrate() to not overwrite dynamic configs
- Added adjustment for TR1PUTMIN

### V1.1.0 / 30-June-2017

Provided with ST25R3911B Disco v1.1.12

Main Changes

- EMD supression enabled for ST25R3911B

### V1.0.0 / 16-May-2017

Provided with X-NUCLEO-NFC05A1 v1.0.0

Main Changes

- Added support for B', CTS and PicoPass/iClass mode
- Several impromvements for NFC-V mode
- Improved error detection during NFC-B collision resolution
- Extended T1T module

### V0.9.0 / 02-March-2017

Provided with ST25R3911B Discovery Kit on Embedded World Conference (binary only)

Main Changes