ST25DV library for the STMicroelectronics X-NUCLEO-NFC04A1

Dependents:   mbed-os-nfc04a1

Embed: (wiki syntax)

« Back to documentation index

ST25DV driver

This module implements the functions to drive the ST25DV NFC dynamic tag. More...

Data Structures

struct  ST25DV_EH_CTRL
 ST25DV EH Ctrl structure definition. More...
struct  ST25DV_GPO
 ST25DV GPO structure definition. More...
struct  ST25DV_RF_MNGT
 ST25DV RF Management structure definition. More...
struct  ST25DV_RF_PROT_ZONE
 ST25DV RF Area protection structure definition. More...
struct  ST25DV_I2C_PROT_ZONE
 ST25DV I2C Area protection structure definition. More...
struct  ST25DV_MB_CTRL_DYN_STATUS
 ST25DV MB_CTRL_DYN register structure definition. More...
struct  ST25DV_LOCK_CCFILE
 ST25DV Lock CCFile structure definition. More...
struct  ST25DV_MEM_SIZE
 ST25DV Memory size structure definition. More...
struct  ST25DV_UID
 ST25DV UID information structure definition. More...
struct  ST25DV_PASSWD
 ST25DV Password structure definition. More...
struct  NFCTAG_DrvTypeDef
 NFCTAG standard driver API structure definition. More...
struct  NFCTAG_ExtDrvTypeDef
 NFCTAG extended driver API structure definition. More...

Enumerations

enum  NFCTAG_StatusTypeDef
 

NFCTAG status enumerator definition.

More...
enum  ST25DV_EN_STATUS
 

ST25DV Enable Disable enumerator definition.

More...
enum  ST25DV_EH_MODE_STATUS
 

ST25DV Energy Harvesting mode enumerator definition.

More...
enum  ST25DV_FIELD_STATUS
 

ST25DV FIELD status enumerator definition.

More...
enum  ST25DV_VCC_STATUS
 

ST25DV VCC status enumerator definition.

More...
enum  ST25DV_PROTECTION_CONF
 

ST25DV protection status enumerator definition.

More...
enum  ST25DV_PROTECTION_ZONE
 

ST25DV area protection enumerator definition.

More...
enum  ST25DV_PASSWD_PROT_STATUS
 

ST25DV password protection status enumerator definition.

More...
enum  ST25DV_LOCK_STATUS
 

ST25DV lock status enumerator definition.

More...
enum  ST25DV_CCFILE_BLOCK
 

ST25DV Number of Blocks for the CCFile enumerator definition.

More...
enum  ST25DV_I2CSSO_STATUS
 

ST25DV session status enumerator definition.

More...
enum  ST25DV_END_ZONE
 

ST25DV area end address enumerator definition.

More...
enum  ST25DV_PULSE_DURATION
 

ST25DV IT pulse duration enumerator definition.

More...
enum  ST25DV_CURRENT_MSG
 

ST25DV Mailbox Current Message enumerator definition.

More...

Functions

NFCTAG_StatusTypeDef ST25DV_i2c_Init (I2C *mi2cChannel, DigitalOut *mLPD)
 ST25DV nfctag Initialization.
NFCTAG_StatusTypeDef ST25DV_i2c_ReadID (uint8_t *const pICRef, I2C *mi2cChannel)
 Reads the ST25DV ID.
NFCTAG_StatusTypeDef ST25DV_i2c_ReadICRev (uint8_t *const pICRev, I2C *mi2cChannel)
 Reads the ST25DV IC Revision.
NFCTAG_StatusTypeDef ST25DV_i2c_IsDeviceReady (const uint32_t Trials, I2C *mi2cChannel)
 Checks the ST25DV availability.
NFCTAG_StatusTypeDef ST25DV_i2c_GetGPOStatus (uint16_t *const pGPOStatus, I2C *mi2cChannel)
 Reads the ST25DV GPO configuration.
NFCTAG_StatusTypeDef ST25DV_i2c_ConfigureGPO (const uint16_t ITConf, I2C *mi2cChannel)
 Configures the ST25DV GPO.
NFCTAG_StatusTypeDef ST25DV_i2c_ReadITPulse (ST25DV_PULSE_DURATION *const pITtime, I2C *mi2cChannel)
 Reads the ST25DV ITtime duration for the GPO pulses.
NFCTAG_StatusTypeDef ST25DV_i2c_WriteITPulse (const ST25DV_PULSE_DURATION ITtime, I2C *mi2cChannel)
 Configures the ST25DV ITtime duration for the GPO pulse.
NFCTAG_StatusTypeDef ST25DV_i2c_ReadData (uint8_t *const pData, const uint16_t TarAddr, const uint16_t NbByte, I2C *mi2cChannel)
 Reads N bytes of Data, starting from the specified I2C address.
NFCTAG_StatusTypeDef ST25DV_i2c_WriteData (const uint8_t *const pData, const uint16_t TarAddr, const uint16_t NbByte, I2C *mi2cChannel)
 Writes N bytes of Data starting from the specified I2C Address.
NFCTAG_StatusTypeDef ST25DV_i2c_ReadDataCurrentAddr (uint8_t *const pData, const uint16_t NbByte, I2C *mi2cChannel)
 Reads N bytes of Data, starting at current address.
NFCTAG_StatusTypeDef ST25DV_i2c_ReadRegister (uint8_t *const pData, const uint16_t TarAddr, const uint16_t NbByte, I2C *mi2cChannel)
 Reads N bytes from Registers, starting at the specified I2C address.
NFCTAG_StatusTypeDef ST25DV_i2c_WriteRegister (const uint8_t *const pData, const uint16_t TarAddr, const uint16_t NbByte, I2C *mi2cChannel)
 Writes N bytes to the specified register.
NFCTAG_StatusTypeDef ST25DV_i2c_ReadUID (ST25DV_UID *const pUid, I2C *mi2cChannel)
 Reads the ST25DV UID.
NFCTAG_StatusTypeDef ST25DV_i2c_ReadDSFID (uint8_t *const pDsfid, I2C *mi2cChannel)
 Reads the ST25DV DSFID.
NFCTAG_StatusTypeDef ST25DV_i2c_ReadDsfidRFProtection (ST25DV_LOCK_STATUS *const pLockDsfid, I2C *mi2cChannel)
 Reads the ST25DV DSFID RF Lock state.
NFCTAG_StatusTypeDef ST25DV_i2c_ReadAFI (uint8_t *const pAfi, I2C *mi2cChannel)
 Reads the ST25DV AFI.
NFCTAG_StatusTypeDef ST25DV_i2c_ReadAfiRFProtection (ST25DV_LOCK_STATUS *const pLockAfi, I2C *mi2cChannel)
 Reads the AFI RF Lock state.
NFCTAG_StatusTypeDef ST25DV_i2c_ReadI2CProtectZone (ST25DV_I2C_PROT_ZONE *const pProtZone, I2C *mi2cChannel)
 Reads the I2C Protected Area state.
NFCTAG_StatusTypeDef ST25DV_i2c_WriteI2CProtectZonex (const ST25DV_PROTECTION_ZONE Zone, const ST25DV_PROTECTION_CONF ReadWriteProtection, I2C *mi2cChannel)
 Sets the I2C write-protected state to an EEPROM Area.
NFCTAG_StatusTypeDef ST25DV_i2c_ReadLockCCFile (ST25DV_LOCK_CCFILE *const pLockCCFile, I2C *mi2cChannel)
 Reads the CCile protection state.
NFCTAG_StatusTypeDef ST25DV_i2c_WriteLockCCFile (const ST25DV_CCFILE_BLOCK NbBlockCCFile, const ST25DV_LOCK_STATUS LockCCFile, I2C *mi2cChannel)
 Locks the CCile to prevent any RF write access.
NFCTAG_StatusTypeDef ST25DV_i2c_ReadLockCFG (ST25DV_LOCK_STATUS *const pLockCfg, I2C *mi2cChannel)
 Reads the Cfg registers protection.
NFCTAG_StatusTypeDef ST25DV_i2c_WriteLockCFG (const ST25DV_LOCK_STATUS LockCfg, I2C *mi2cChannel)
 Lock/Unlock the Cfg registers, to prevent any RF write access.
NFCTAG_StatusTypeDef ST25DV_i2c_PresentI2CPassword (const ST25DV_PASSWD PassWord, I2C *mi2cChannel)
 Presents I2C password, to authorize the I2C writes to protected areas.
NFCTAG_StatusTypeDef ST25DV_i2c_WriteI2CPassword (const ST25DV_PASSWD PassWord, I2C *mi2cChannel)
 Writes a new I2C password.
NFCTAG_StatusTypeDef ST25DV_i2c_ReadRFZxSS (const ST25DV_PROTECTION_ZONE Zone, ST25DV_RF_PROT_ZONE *const pRfprotZone, I2C *mi2cChannel)
 Reads the RF Zone Security Status (defining the allowed RF accesses).
NFCTAG_StatusTypeDef ST25DV_i2c_WriteRFZxSS (const ST25DV_PROTECTION_ZONE Zone, const ST25DV_RF_PROT_ZONE RfProtZone, I2C *mi2cChannel)
 Writes the RF Zone Security Status (defining the allowed RF accesses)
NFCTAG_StatusTypeDef ST25DV_i2c_ReadEndZonex (const ST25DV_END_ZONE EndZone, uint8_t *const pEndZ, I2C *mi2cChannel)
 Reads the value of the an area end address.
NFCTAG_StatusTypeDef ST25DV_i2c_WriteEndZonex (const ST25DV_END_ZONE EndZone, const uint8_t EndZ, I2C *mi2cChannel)
 Sets the end address of an area.
NFCTAG_StatusTypeDef ST25DV_i2c_InitEndZone (I2C *mi2cChannel)
 Initializes the end address of the ST25DV areas with their default values (end of memory).
NFCTAG_StatusTypeDef ST25DV_i2c_CreateUserZone (uint16_t Zone1Length, uint16_t Zone2Length, uint16_t Zone3Length, uint16_t Zone4Length, I2C *mi2cChannel)
 Creates user areas with defined lengths.
NFCTAG_StatusTypeDef ST25DV_i2c_ReadMemSize (ST25DV_MEM_SIZE *const pSizeInfo, I2C *mi2cChannel)
 Reads the ST25DV Memory Size.
NFCTAG_StatusTypeDef ST25DV_i2c_ReadEHMode (ST25DV_EH_MODE_STATUS *const pEH_mode, I2C *mi2cChannel)
 Reads the Energy harvesting mode.
NFCTAG_StatusTypeDef ST25DV_i2c_WriteEHMode (const ST25DV_EH_MODE_STATUS EH_mode, I2C *mi2cChannel)
 Sets the Energy harvesting mode.
NFCTAG_StatusTypeDef ST25DV_i2c_ReadRFMngt (ST25DV_RF_MNGT *const pRF_Mngt, I2C *mi2cChannel)
 Reads the RF Management configuration.
NFCTAG_StatusTypeDef ST25DV_i2c_WriteRFMngt (const uint8_t Rfmngt, I2C *mi2cChannel)
 Sets the RF Management configuration.
NFCTAG_StatusTypeDef ST25DV_i2c_GetRFDisable (ST25DV_EN_STATUS *const pRFDisable, I2C *mi2cChannel)
 Reads the RFDisable register information.
NFCTAG_StatusTypeDef ST25DV_i2c_SetRFDisable (I2C *mi2cChannel)
 Sets the RF Disable configuration.
NFCTAG_StatusTypeDef ST25DV_i2c_ResetRFDisable (I2C *mi2cChannel)
 Resets the RF Disable configuration.
NFCTAG_StatusTypeDef ST25DV_i2c_GetRFSleep (ST25DV_EN_STATUS *const pRFSleep, I2C *mi2cChannel)
 Reads the RFSleep register information.
NFCTAG_StatusTypeDef ST25DV_i2c_SetRFSleep (I2C *mi2cChannel)
 Sets the RF Sleep configuration.
NFCTAG_StatusTypeDef ST25DV_i2c_ResetRFSleep (I2C *mi2cChannel)
 Resets the RF Sleep configuration.
NFCTAG_StatusTypeDef ST25DV_i2c_ReadMBMode (ST25DV_EN_STATUS *const pMB_mode, I2C *mi2cChannel)
 Reads the Mailbox mode.
NFCTAG_StatusTypeDef ST25DV_i2c_WriteMBMode (const ST25DV_EN_STATUS MB_mode, I2C *mi2cChannel)
 Sets the Mailbox mode.
NFCTAG_StatusTypeDef ST25DV_i2c_ReadMBWDG (uint8_t *const pWdgDelay, I2C *mi2cChannel)
 Reads the Mailbox watchdog duration coefficient.
NFCTAG_StatusTypeDef ST25DV_i2c_WriteMBWDG (const uint8_t WdgDelay, I2C *mi2cChannel)
 Writes the Mailbox watchdog coefficient delay.
NFCTAG_StatusTypeDef ST25DV_i2c_ReadMailboxData (uint8_t *const pData, const uint16_t Offset, const uint16_t NbByte, I2C *mi2cChannel)
 Reads N bytes of data from the Mailbox, starting at the specified byte offset.
NFCTAG_StatusTypeDef ST25DV_i2c_WriteMailboxData (const uint8_t *const pData, const uint16_t NbByte, I2C *mi2cChannel)
 Writes N bytes of data in the Mailbox, starting from first Mailbox Address.
NFCTAG_StatusTypeDef ST25DV_i2c_ReadMailboxRegister (uint8_t *const pData, const uint16_t TarAddr, const uint16_t NbByte, I2C *mi2cChannel)
 Reads N bytes from the mailbox registers, starting at the specified I2C address.
NFCTAG_StatusTypeDef ST25DV_i2c_WriteMailboxRegister (const uint8_t *const pData, const uint16_t TarAddr, const uint16_t NbByte, I2C *mi2cChannel)
 Writes N bytes to the specified mailbox register.
NFCTAG_StatusTypeDef ST25DV_i2c_ReadI2CSecuritySession_Dyn (ST25DV_I2CSSO_STATUS *const pSession, I2C *mi2cChannel)
 Reads the status of the security session open register.
NFCTAG_StatusTypeDef ST25DV_i2c_ReadITSTStatus_Dyn (uint8_t *const pITStatus, I2C *mi2cChannel)
 Reads the IT status register from the ST25DV.
NFCTAG_StatusTypeDef ST25DV_i2c_ReadGPO_Dyn (uint8_t *GPOConfig, I2C *mi2cChannel)
 Read value of dynamic GPO register configuration.
NFCTAG_StatusTypeDef ST25DV_i2c_GetGPO_en_Dyn (ST25DV_EN_STATUS *const pGPO_en, I2C *mi2cChannel)
 Get dynamique GPO enable status.
NFCTAG_StatusTypeDef ST25DV_i2c_SetGPO_en_Dyn (I2C *mi2cChannel)
 Set dynamique GPO enable configuration.
NFCTAG_StatusTypeDef ST25DV_i2c_ResetGPO_en_Dyn (I2C *mi2cChannel)
 Reset dynamique GPO enable configuration.
NFCTAG_StatusTypeDef ST25DV_i2c_ReadEHCtrl_Dyn (ST25DV_EH_CTRL *const pEH_CTRL, I2C *mi2cChannel)
 Read value of dynamic EH Ctrl register configuration.
NFCTAG_StatusTypeDef ST25DV_i2c_GetEHENMode_Dyn (ST25DV_EN_STATUS *const pEH_Val, I2C *mi2cChannel)
 Reads the Energy Harvesting dynamic status.
NFCTAG_StatusTypeDef ST25DV_i2c_SetEHENMode_Dyn (I2C *mi2cChannel)
 Dynamically sets the Energy Harvesting mode.
NFCTAG_StatusTypeDef ST25DV_i2c_ResetEHENMode_Dyn (I2C *mi2cChannel)
 Dynamically unsets the Energy Harvesting mode.
NFCTAG_StatusTypeDef ST25DV_i2c_GetEHON_Dyn (ST25DV_EN_STATUS *const pEHON, I2C *mi2cChannel)
 Reads the EH_ON status from the EH_CTRL_DYN register.
NFCTAG_StatusTypeDef ST25DV_i2c_GetRFField_Dyn (ST25DV_FIELD_STATUS *const pRF_Field, I2C *mi2cChannel)
 Checks if RF Field is present in front of the ST25DV.
NFCTAG_StatusTypeDef ST25DV_i2c_GetVCC_Dyn (ST25DV_VCC_STATUS *const pVCC, I2C *mi2cChannel)
 Check if VCC is supplying the ST25DV.
NFCTAG_StatusTypeDef ST25DV_i2c_ReadRFMngt_Dyn (ST25DV_RF_MNGT *const pRF_Mngt, I2C *mi2cChannel)
 Read value of dynamic RF Management configuration.
NFCTAG_StatusTypeDef ST25DV_i2c_WriteRFMngt_Dyn (const uint8_t RF_Mngt, I2C *mi2cChannel)
 Writes a value to the RF Management dynamic register.
NFCTAG_StatusTypeDef ST25DV_i2c_GetRFDisable_Dyn (ST25DV_EN_STATUS *const pRFDisable, I2C *mi2cChannel)
 Reads the RFDisable dynamic register information.
NFCTAG_StatusTypeDef ST25DV_i2c_SetRFDisable_Dyn (I2C *mi2cChannel)
 Sets the RF Disable dynamic configuration.
NFCTAG_StatusTypeDef ST25DV_i2c_ResetRFDisable_Dyn (I2C *mi2cChannel)
 Unsets the RF Disable dynamic configuration.
NFCTAG_StatusTypeDef ST25DV_i2c_GetRFSleep_Dyn (ST25DV_EN_STATUS *const pRFSleep, I2C *mi2cChannel)
 Reads the RFSleep dynamic register information.
NFCTAG_StatusTypeDef ST25DV_i2c_SetRFSleep_Dyn (I2C *mi2cChannel)
 Sets the RF Sleep dynamic configuration.
NFCTAG_StatusTypeDef ST25DV_i2c_ResetRFSleep_Dyn (I2C *mi2cChannel)
 Unsets the RF Sleep dynamic configuration.
NFCTAG_StatusTypeDef ST25DV_i2c_ReadMBCtrl_Dyn (ST25DV_MB_CTRL_DYN_STATUS *const pCtrlStatus, I2C *mi2cChannel)
 Reads the Mailbox ctrl dynamic register.
NFCTAG_StatusTypeDef ST25DV_i2c_GetMBEN_Dyn (ST25DV_EN_STATUS *const pMBEN, I2C *mi2cChannel)
 Reads the Mailbox Enable dynamic configuration.
NFCTAG_StatusTypeDef ST25DV_i2c_SetMBEN_Dyn (I2C *mi2cChannel)
 Sets the Mailbox Enable dynamic configuration.
NFCTAG_StatusTypeDef ST25DV_i2c_ResetMBEN_Dyn (I2C *mi2cChannel)
 Unsets the Mailbox Enable dynamic configuration.
NFCTAG_StatusTypeDef ST25DV_i2c_ReadMBLength_Dyn (uint8_t *const pMBLength, I2C *mi2cChannel)
 Reads the Mailbox message length dynamic register.

Variables

NFCTAG_DrvTypeDef St25Dv_i2c_Drv
 Standard NFC tag driver API for the ST25DV.
NFCTAG_ExtDrvTypeDef St25Dv_i2c_ExtDrv
 Extended NFC tag driver API for the ST25DV.
uint8_t aSt25Dv [ST25DV_MAX_INSTANCE] = {0}
 ST25DV instances by address.
NFCTAG_DrvTypeDef St25Dv_i2c_Drv
 Standard NFC tag driver API for the ST25DV.
NFCTAG_ExtDrvTypeDef St25Dv_i2c_ExtDrv
 Extended NFC tag driver API for the ST25DV.

Detailed Description

This module implements the functions to drive the ST25DV NFC dynamic tag.

As recommended by the STM32 Cube methodology, this driver provides a standard structure to expose the NFC tag standard API.
It also provides an extended API through its extended driver structure.
To be usable on any MCU, this driver calls several IOBus functions. The IOBus functions are implemented outside this driver, and are in charge of accessing the MCU peripherals used for the communication with the tag.


Enumeration Type Documentation

NFCTAG status enumerator definition.

Definition at line 56 of file st25dv.h.

ST25DV Number of Blocks for the CCFile enumerator definition.

Definition at line 146 of file st25dv.h.

ST25DV Mailbox Current Message enumerator definition.

Definition at line 189 of file st25dv.h.

ST25DV Energy Harvesting mode enumerator definition.

Definition at line 77 of file st25dv.h.

ST25DV Enable Disable enumerator definition.

Definition at line 68 of file st25dv.h.

ST25DV area end address enumerator definition.

Definition at line 164 of file st25dv.h.

ST25DV FIELD status enumerator definition.

Definition at line 86 of file st25dv.h.

ST25DV session status enumerator definition.

Definition at line 155 of file st25dv.h.

ST25DV lock status enumerator definition.

Definition at line 137 of file st25dv.h.

ST25DV password protection status enumerator definition.

Definition at line 126 of file st25dv.h.

ST25DV protection status enumerator definition.

Definition at line 104 of file st25dv.h.

ST25DV area protection enumerator definition.

Definition at line 115 of file st25dv.h.

ST25DV IT pulse duration enumerator definition.

Definition at line 174 of file st25dv.h.

ST25DV VCC status enumerator definition.

Definition at line 95 of file st25dv.h.


Function Documentation

NFCTAG_StatusTypeDef ST25DV_i2c_ConfigureGPO ( const uint16_t  ITConf,
I2C *  mi2cChannel 
)

Configures the ST25DV GPO.

Needs the I2C Password presentation to be effective.

Parameters:
ITConfProvides the GPO configuration to apply:

  • RFUSERSTATE = 0x01
  • RFBUSY = 0x02
  • RFINTERRUPT = 0x04
  • FIELDFALLING = 0x08
  • FIELDRISING = 0x10
  • RFPUTMSG = 0x20
  • RFGETMSG = 0x40
  • RFWRITE = 0x80
mi2cChannel: I2C channel
Return values:
NFCTAG_StatusTypeDefenum status.

Definition at line 336 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_CreateUserZone ( uint16_t  Zone1Length,
uint16_t  Zone2Length,
uint16_t  Zone3Length,
uint16_t  Zone4Length,
I2C *  mi2cChannel 
)

Creates user areas with defined lengths.

Needs the I2C Password presentation to be effective.

Parameters:
Zone1LengthLength of area1 in bytes (32 to 8192, 0x20 to 0x2000)
Zone2LengthLength of area2 in bytes (0 to 8128, 0x00 to 0x1FC0)
Zone3LengthLength of area3 in bytes (0 to 8064, 0x00 to 0x1F80)
Zone4LengthLength of area4 in bytes (0 to 8000, 0x00 to 0x1F40)
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 1151 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_GetEHENMode_Dyn ( ST25DV_EN_STATUS *const   pEH_Val,
I2C *  mi2cChannel 
)

Reads the Energy Harvesting dynamic status.

Parameters:
pEH_ValPointer on a ST25DV_EN_STATUS value used to return the Energy Harvesting dynamic status.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 1911 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_GetEHON_Dyn ( ST25DV_EN_STATUS *const   pEHON,
I2C *  mi2cChannel 
)

Reads the EH_ON status from the EH_CTRL_DYN register.

Parameters:
pEHONPointer on a ST25DV_EN_STATUS value used to return the EHON status.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 1990 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_GetGPO_en_Dyn ( ST25DV_EN_STATUS *const   pGPO_en,
I2C *  mi2cChannel 
)

Get dynamique GPO enable status.

Parameters:
pGPO_enST25DV_EN_STATUS pointer of the GPO enable status to store
mi2cChannelI2C channel
Return values:
NFCTAGenum status

Definition at line 1769 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_GetGPOStatus ( uint16_t *const   pGPOStatus,
I2C *  mi2cChannel 
)

Reads the ST25DV GPO configuration.

Parameters:
pGPOStatusPointer on a uint16_t used to return the current GPO consiguration, as:

  • RFUSERSTATE = 0x01
  • RFBUSY = 0x02
  • RFINTERRUPT = 0x04
  • FIELDFALLING = 0x08
  • FIELDRISING = 0x10
  • RFPUTMSG = 0x20
  • RFGETMSG = 0x40
  • RFWRITE = 0x80
mi2cChannel: I2C channel
Return values:
NFCTAG_StatusTypeDefenum status.

Definition at line 303 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_GetMBEN_Dyn ( ST25DV_EN_STATUS *const   pMBEN,
I2C *  mi2cChannel 
)

Reads the Mailbox Enable dynamic configuration.

Parameters:
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 2323 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_GetRFDisable ( ST25DV_EN_STATUS *const   pRFDisable,
I2C *  mi2cChannel 
)

Reads the RFDisable register information.

Parameters:
pRFDisablePointer on a ST25DV_EN_STATUS value corresponding to the RF Disable status.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 1359 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_GetRFDisable_Dyn ( ST25DV_EN_STATUS *const   pRFDisable,
I2C *  mi2cChannel 
)

Reads the RFDisable dynamic register information.

Parameters:
pRFDisablePointer on a ST25DV_EN_STATUS value used to return the RF Disable state.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 2137 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_GetRFField_Dyn ( ST25DV_FIELD_STATUS *const   pRF_Field,
I2C *  mi2cChannel 
)

Checks if RF Field is present in front of the ST25DV.

Parameters:
pRF_FieldPointer on a ST25DV_FIELD_STATUS value used to return the field presence.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 2021 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_GetRFSleep ( ST25DV_EN_STATUS *const   pRFSleep,
I2C *  mi2cChannel 
)

Reads the RFSleep register information.

Parameters:
pRFSleepPointer on a ST25DV_EN_STATUS value corresponding to the RF Sleep status.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 1440 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_GetRFSleep_Dyn ( ST25DV_EN_STATUS *const   pRFSleep,
I2C *  mi2cChannel 
)

Reads the RFSleep dynamic register information.

Parameters:
pRFSleepPointer on a ST25DV_EN_STATUS values used to return the RF Sleep state.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 2216 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_GetVCC_Dyn ( ST25DV_VCC_STATUS *const   pVCC,
I2C *  mi2cChannel 
)

Check if VCC is supplying the ST25DV.

Parameters:
pVCCST25DV_VCC_STATUS pointer of the VCC status to store
mi2cChannelI2C channel
Return values:
NFCTAGenum status.

Definition at line 2052 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_Init ( I2C *  mi2cChannel,
DigitalOut *  mLPD 
)

ST25DV nfctag Initialization.

Parameters:
mi2cChannel: I2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 245 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_InitEndZone ( I2C *  mi2cChannel )

Initializes the end address of the ST25DV areas with their default values (end of memory).

Needs the I2C Password presentation to be effective.. The ST25DV answers a NACK when setting the EndZone2 & EndZone3 to same value than repectively EndZone1 & EndZone2. These NACKs are ok.

Parameters:
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 1102 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_IsDeviceReady ( const uint32_t  Trials,
I2C *  mi2cChannel 
)

Checks the ST25DV availability.

The ST25DV I2C is NACKed when a RF communication is on-going. This function determines if the ST25DV is ready to answer an I2C request.

Parameters:
TrialsMax number of tentative.
mi2cChannel: I2C channel
Return values:
NFCTAG_StatusTypeDefenum status.

Definition at line 283 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_PresentI2CPassword ( const ST25DV_PASSWD  PassWord,
I2C *  mi2cChannel 
)

Presents I2C password, to authorize the I2C writes to protected areas.

Parameters:
PassWordPassword value on 32bits
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 890 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ReadAFI ( uint8_t *const   pAfi,
I2C *  mi2cChannel 
)

Reads the ST25DV AFI.

Parameters:
pAfiPointer used to return the ST25DV AFI value.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 646 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ReadAfiRFProtection ( ST25DV_LOCK_STATUS *const   pLockAfi,
I2C *  mi2cChannel 
)

Reads the AFI RF Lock state.

Parameters:
pLockAfiPointer on a ST25DV_LOCK_STATUS used to return the ASFID lock state.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 658 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ReadData ( uint8_t *const   pData,
const uint16_t  TarAddr,
const uint16_t  NbByte,
I2C *  mi2cChannel 
)

Reads N bytes of Data, starting from the specified I2C address.

Parameters:
pDataPointer used to return the read data.
TarAddrI2C data memory address to read.
NbByteNumber of bytes to be read.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 393 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ReadDataCurrentAddr ( uint8_t *const   pData,
const uint16_t  NbByte,
I2C *  mi2cChannel 
)

Reads N bytes of Data, starting at current address.

Parameters:
pDataPointer used to return the read data.
NbByteNumber of bytes to be read.
mi2cChannel: I2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 474 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ReadDSFID ( uint8_t *const   pDsfid,
I2C *  mi2cChannel 
)

Reads the ST25DV DSFID.

Parameters:
pDsfidPointer used to return the ST25DV DSFID value.
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 604 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ReadDsfidRFProtection ( ST25DV_LOCK_STATUS *const   pLockDsfid,
I2C *  mi2cChannel 
)

Reads the ST25DV DSFID RF Lock state.

Parameters:
pLockDsfidPointer on a ST25DV_LOCK_STATUS used to return the DSFID lock state.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 616 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ReadEHCtrl_Dyn ( ST25DV_EH_CTRL *const   pEH_CTRL,
I2C *  mi2cChannel 
)

Read value of dynamic EH Ctrl register configuration.

Parameters:
pEH_CTRL: ST25DV_EH_CTRL pointer of the dynamic EH Ctrl configuration to store
mi2cChannelI2C channel
Return values:
NFCTAGenum status

Definition at line 1849 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ReadEHMode ( ST25DV_EH_MODE_STATUS *const   pEH_mode,
I2C *  mi2cChannel 
)

Reads the Energy harvesting mode.

Parameters:
pEH_modePointer on a ST25DV_EH_MODE_STATUS value corresponding to the Energy Harvesting state.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 1259 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ReadEndZonex ( const ST25DV_END_ZONE  EndZone,
uint8_t *const   pEndZ,
I2C *  mi2cChannel 
)

Reads the value of the an area end address.

Parameters:
EndZoneST25DV_END_ZONE value corresponding to an area end address.
pEndZPointer used to return the end address of the area.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 1031 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ReadGPO_Dyn ( uint8_t *  GPOConfig,
I2C *  mi2cChannel 
)

Read value of dynamic GPO register configuration.

Parameters:
pGPOST25DV_GPO pointer of the dynamic GPO configuration to store.
mi2cChannelI2C channel
Return values:
NFCTAGenum status.

Definition at line 1756 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ReadI2CProtectZone ( ST25DV_I2C_PROT_ZONE *const   pProtZone,
I2C *  mi2cChannel 
)

Reads the I2C Protected Area state.

Parameters:
pProtZonePointer on a ST25DV_I2C_PROT_ZONE structure used to return the Protected Area state.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 688 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ReadI2CSecuritySession_Dyn ( ST25DV_I2CSSO_STATUS *const   pSession,
I2C *  mi2cChannel 
)

Reads the status of the security session open register.

Parameters:
pSessionPointer on a ST25DV_I2CSSO_STATUS value used to return the session status.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 1705 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ReadICRev ( uint8_t *const   pICRev,
I2C *  mi2cChannel 
)

Reads the ST25DV IC Revision.

Parameters:
pICRevPointer on the uint8_t used to return the ST25DV IC Revision number.
mi2cChannel: I2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 269 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ReadID ( uint8_t *const   pICRef,
I2C *  mi2cChannel 
)

Reads the ST25DV ID.

Parameters:
pICRefPointeron a uint8_t used to return the ST25DV ID.
mi2cChannel: I2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 257 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ReadITPulse ( ST25DV_PULSE_DURATION *const   pITtime,
I2C *  mi2cChannel 
)

Reads the ST25DV ITtime duration for the GPO pulses.

Parameters:
pITtimePointer used to return the coefficient for the GPO Pulse duration (Pulse duration = 302,06 us - ITtime * 512 / fc).
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 349 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ReadITSTStatus_Dyn ( uint8_t *const   pITStatus,
I2C *  mi2cChannel 
)

Reads the IT status register from the ST25DV.

Parameters:
pITStatusPointer on uint8_t, used to return the IT status, such as:

  • RFUSERSTATE = 0x01
  • RFBUSY = 0x02
  • RFINTERRUPT = 0x04
  • FIELDFALLING = 0x08
  • FIELDRISING = 0x10
  • RFPUTMSG = 0x20
  • RFGETMSG = 0x40
  • RFWRITE = 0x80
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 1744 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ReadLockCCFile ( ST25DV_LOCK_CCFILE *const   pLockCCFile,
I2C *  mi2cChannel 
)

Reads the CCile protection state.

Parameters:
pLockCCFilePointer on a ST25DV_LOCK_CCFILE value corresponding to the lock state of the CCFile.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 762 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ReadLockCFG ( ST25DV_LOCK_STATUS *const   pLockCfg,
I2C *  mi2cChannel 
)

Reads the Cfg registers protection.

Parameters:
pLockCfgPointer on a ST25DV_LOCK_STATUS value corresponding to the Cfg registers lock state.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 842 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ReadMailboxData ( uint8_t *const   pData,
const uint16_t  Offset,
const uint16_t  NbByte,
I2C *  mi2cChannel 
)

Reads N bytes of data from the Mailbox, starting at the specified byte offset.

Parameters:
pDataPointer on the buffer used to return the read data.
OffsetOffset in the Mailbox memory, byte number to start the read.
NbByteNumber of bytes to be read.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 1614 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ReadMailboxRegister ( uint8_t *const   pData,
const uint16_t  TarAddr,
const uint16_t  NbByte,
I2C *  mi2cChannel 
)

Reads N bytes from the mailbox registers, starting at the specified I2C address.

Parameters:
pDataPointer on the buffer used to return the data.
TarAddrI2C memory address to be read.
NbByteNumber of bytes to be read.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 1658 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ReadMBCtrl_Dyn ( ST25DV_MB_CTRL_DYN_STATUS *const   pCtrlStatus,
I2C *  mi2cChannel 
)

Reads the Mailbox ctrl dynamic register.

Parameters:
pCtrlStatusPointer on a ST25DV_MB_CTRL_DYN_STATUS structure used to return the dynamic Mailbox ctrl information.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 2295 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ReadMBLength_Dyn ( uint8_t *const   pMBLength,
I2C *  mi2cChannel 
)

Reads the Mailbox message length dynamic register.

Parameters:
pMBLengthPointer on a uint8_t used to return the Mailbox message length.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 2388 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ReadMBMode ( ST25DV_EN_STATUS *const   pMB_mode,
I2C *  mi2cChannel 
)

Reads the Mailbox mode.

Parameters:
pMB_modePointer on a ST25DV_EH_MODE_STATUS value used to return the Mailbox mode.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 1521 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ReadMBWDG ( uint8_t *const   pWdgDelay,
I2C *  mi2cChannel 
)

Reads the Mailbox watchdog duration coefficient.

Parameters:
pWdgDelayPointer on a uint8_t used to return the watchdog duration coefficient.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 1570 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ReadMemSize ( ST25DV_MEM_SIZE *const   pSizeInfo,
I2C *  mi2cChannel 
)

Reads the ST25DV Memory Size.

Parameters:
pSizeInfoPointer on a ST25DV_MEM_SIZE structure used to return the Memory size information.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 1232 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ReadRegister ( uint8_t *const   pData,
const uint16_t  TarAddr,
const uint16_t  NbByte,
I2C *  mi2cChannel 
)

Reads N bytes from Registers, starting at the specified I2C address.

Parameters:
pDataPointer used to return the read data.
TarAddrI2C memory address to be read.
NbByteNumber of bytes to be read.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 488 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ReadRFMngt ( ST25DV_RF_MNGT *const   pRF_Mngt,
I2C *  mi2cChannel 
)

Reads the RF Management configuration.

Parameters:
pRF_MngtPointer on a ST25DV_RF_MNGT structure used to return the RF Management configuration.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 1306 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ReadRFMngt_Dyn ( ST25DV_RF_MNGT *const   pRF_Mngt,
I2C *  mi2cChannel 
)

Read value of dynamic RF Management configuration.

Parameters:
pRF_Mngt: ST25DV_RF_MNGT pointer of the dynamic RF Management configuration to store
mi2cChannelI2C channel
Return values:
NFCTAGenum status

Definition at line 2083 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ReadRFZxSS ( const ST25DV_PROTECTION_ZONE  Zone,
ST25DV_RF_PROT_ZONE *const   pRfprotZone,
I2C *  mi2cChannel 
)

Reads the RF Zone Security Status (defining the allowed RF accesses).

Parameters:
ZoneST25DV_PROTECTION_ZONE value coresponding to the protected area.
pRfprotZonePointer on a ST25DV_RF_PROT_ZONE value corresponding to the area protection state.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 943 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ReadUID ( ST25DV_UID *const   pUid,
I2C *  mi2cChannel 
)

Reads the ST25DV UID.

Parameters:
pUidPointer used to return the ST25DV UID value.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 568 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ResetEHENMode_Dyn ( I2C *  mi2cChannel )

Dynamically unsets the Energy Harvesting mode.

Parameters:
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 1965 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ResetGPO_en_Dyn ( I2C *  mi2cChannel )

Reset dynamique GPO enable configuration.

Parameters:
NoneNo parameters.
mi2cChannelI2C channel
Return values:
NFCTAGenum status.

Definition at line 1824 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ResetMBEN_Dyn ( I2C *  mi2cChannel )

Unsets the Mailbox Enable dynamic configuration.

Parameters:
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 2368 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ResetRFDisable ( I2C *  mi2cChannel )

Resets the RF Disable configuration.

Needs the I2C Password presentation to be effective.

Parameters:
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 1415 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ResetRFDisable_Dyn ( I2C *  mi2cChannel )

Unsets the RF Disable dynamic configuration.

Parameters:
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 2191 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ResetRFSleep ( I2C *  mi2cChannel )

Resets the RF Sleep configuration.

Needs the I2C Password presentation to be effective.

Parameters:
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 1496 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_ResetRFSleep_Dyn ( I2C *  mi2cChannel )

Unsets the RF Sleep dynamic configuration.

Parameters:
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 2270 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_SetEHENMode_Dyn ( I2C *  mi2cChannel )

Dynamically sets the Energy Harvesting mode.

Parameters:
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 1941 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_SetGPO_en_Dyn ( I2C *  mi2cChannel )

Set dynamique GPO enable configuration.

Parameters:
NoneNo parameters.
mi2cChannelI2C channel
Return values:
NFCTAGenum status.

Definition at line 1799 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_SetMBEN_Dyn ( I2C *  mi2cChannel )

Sets the Mailbox Enable dynamic configuration.

Parameters:
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 2352 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_SetRFDisable ( I2C *  mi2cChannel )

Sets the RF Disable configuration.

Needs the I2C Password presentation to be effective.7

Parameters:
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 1390 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_SetRFDisable_Dyn ( I2C *  mi2cChannel )

Sets the RF Disable dynamic configuration.

Parameters:
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 2167 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_SetRFSleep ( I2C *  mi2cChannel )

Sets the RF Sleep configuration.

Needs the I2C Password presentation to be effective.

Parameters:
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 1471 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_SetRFSleep_Dyn ( I2C *  mi2cChannel )

Sets the RF Sleep dynamic configuration.

Parameters:
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 2246 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_WriteData ( const uint8_t *const   pData,
const uint16_t  TarAddr,
const uint16_t  NbByte,
I2C *  mi2cChannel 
)

Writes N bytes of Data starting from the specified I2C Address.

Parameters:
pDataPointer on the data to be written.
TarAddrI2C data memory address to be written.
NbByteNumber of bytes to be written.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 407 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_WriteEHMode ( const ST25DV_EH_MODE_STATUS  EH_mode,
I2C *  mi2cChannel 
)

Sets the Energy harvesting mode.

Needs the I2C Password presentation to be effective.

Parameters:
EH_modeST25DV_EH_MODE_STATUS value for the Energy harvesting mode to be set.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 1289 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_WriteEndZonex ( const ST25DV_END_ZONE  EndZone,
const uint8_t  EndZ,
I2C *  mi2cChannel 
)

Sets the end address of an area.

Needs the I2C Password presentation to be effective.

Note:
The ST25DV answers a NACK when setting the EndZone2 & EndZone3 to same value than repectively EndZone1 & EndZone2.
These NACKs are ok.
Parameters:
EndZoneST25DV_END_ZONE value corresponding to an area.
EndZEnd zone value to be written.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 1066 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_WriteI2CPassword ( const ST25DV_PASSWD  PassWord,
I2C *  mi2cChannel 
)

Writes a new I2C password.

Needs the I2C Password presentation to be effective.

Parameters:
PassWordNew I2C PassWord value on 32bits.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 916 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_WriteI2CProtectZonex ( const ST25DV_PROTECTION_ZONE  Zone,
const ST25DV_PROTECTION_CONF  ReadWriteProtection,
I2C *  mi2cChannel 
)

Sets the I2C write-protected state to an EEPROM Area.

Needs the I2C Password presentation to be effective.

Parameters:
ZoneST25DV_PROTECTION_ZONE value coresponding to the area to protect.
ReadWriteProtectionST25DV_PROTECTION_CONF value corresponding to the protection to be set.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 717 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_WriteITPulse ( const ST25DV_PULSE_DURATION  ITtime,
I2C *  mi2cChannel 
)

Configures the ST25DV ITtime duration for the GPO pulse.

Needs the I2C Password presentation to be effective.

Parameters:
ITtimeCoefficient for the Pulse duration to be written (Pulse duration = 302,06 us - ITtime * 512 / fc)
mi2cChannelI2C channel
Return values:
NFCTAG_StatusTypeDefenum status.

Definition at line 374 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_WriteLockCCFile ( const ST25DV_CCFILE_BLOCK  NbBlockCCFile,
const ST25DV_LOCK_STATUS  LockCCFile,
I2C *  mi2cChannel 
)

Locks the CCile to prevent any RF write access.

Needs the I2C Password presentation to be effective.

Parameters:
NbBlockCCFileST25DV_CCFILE_BLOCK value corresponding to the number of blocks to be locked.
LockCCFileST25DV_LOCK_CCFILE value corresponding to the lock state to apply on the CCFile.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 804 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_WriteLockCFG ( const ST25DV_LOCK_STATUS  LockCfg,
I2C *  mi2cChannel 
)

Lock/Unlock the Cfg registers, to prevent any RF write access.

Needs the I2C Password presentation to be effective.

Parameters:
LockCfgST25DV_LOCK_STATUS value corresponding to the lock state to be written.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 873 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_WriteMailboxData ( const uint8_t *const   pData,
const uint16_t  NbByte,
I2C *  mi2cChannel 
)

Writes N bytes of data in the Mailbox, starting from first Mailbox Address.

Parameters:
pDataPointer to the buffer containing the data to be written.
NbByteNumber of bytes to be written.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 1632 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_WriteMailboxRegister ( const uint8_t *const   pData,
const uint16_t  TarAddr,
const uint16_t  NbByte,
I2C *  mi2cChannel 
)

Writes N bytes to the specified mailbox register.

Parameters:
pDataPointer on the data to be written.
TarAddrI2C register address to be written.
NbByteNumber of bytes to be written.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 1676 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_WriteMBMode ( const ST25DV_EN_STATUS  MB_mode,
I2C *  mi2cChannel 
)

Sets the Mailbox mode.

Needs the I2C Password presentation to be effective.

Parameters:
MB_modeST25DV_EN_STATUS value corresponding to the Mailbox mode to be set.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 1553 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_WriteMBWDG ( const uint8_t  WdgDelay,
I2C *  mi2cChannel 
)

Writes the Mailbox watchdog coefficient delay.

Needs the I2C Password presentation to be effective.

Parameters:
WdgDelayWatchdog duration coefficient to be written (Watch dog duration = MB_WDG*30 ms +/- 6%).
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 1595 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_WriteRegister ( const uint8_t *const   pData,
const uint16_t  TarAddr,
const uint16_t  NbByte,
I2C *  mi2cChannel 
)

Writes N bytes to the specified register.

Needs the I2C Password presentation to be effective.

Parameters:
pDataPointer on the data to be written.
TarAddrI2C register address to written.
NbByteNumber of bytes to be written.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 503 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_WriteRFMngt ( const uint8_t  Rfmngt,
I2C *  mi2cChannel 
)

Sets the RF Management configuration.

Needs the I2C Password presentation to be effective.

Parameters:
RfmngtValue of the RF Management configuration to be written.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 1347 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_WriteRFMngt_Dyn ( const uint8_t  RF_Mngt,
I2C *  mi2cChannel 
)

Writes a value to the RF Management dynamic register.

Parameters:
RF_MngtValue to be written to the RF Management dynamic register.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 2125 of file st25dv.cpp.

NFCTAG_StatusTypeDef ST25DV_i2c_WriteRFZxSS ( const ST25DV_PROTECTION_ZONE  Zone,
const ST25DV_RF_PROT_ZONE  RfProtZone,
I2C *  mi2cChannel 
)

Writes the RF Zone Security Status (defining the allowed RF accesses)

Needs the I2C Password presentation to be effective.

Parameters:
ZoneST25DV_PROTECTION_ZONE value corresponding to the area on which to set the RF protection.
RfProtZonePointer on a ST25DV_RF_PROT_ZONE value defininf the protection to be set on the area.
mi2cChannelI2C channel
Returns:
NFCTAG_StatusTypeDef enum status.

Definition at line 991 of file st25dv.cpp.


Variable Documentation

uint8_t aSt25Dv[ST25DV_MAX_INSTANCE] = {0}

ST25DV instances by address.

Definition at line 236 of file st25dv.cpp.

Standard NFC tag driver API for the ST25DV.

Provides a generic way to access the ST25DV implementation of the NFC tag standard driver functions.

Definition at line 144 of file st25dv.cpp.

Initial value:

Standard NFC tag driver API for the ST25DV.

Provides a generic way to access the ST25DV implementation of the NFC tag standard driver functions.

Definition at line 144 of file st25dv.cpp.

Extended NFC tag driver API for the ST25DV.

Provides a generic way to access the ST25DV extended driver functions.

Definition at line 162 of file st25dv.cpp.

Extended NFC tag driver API for the ST25DV.

Provides a generic way to access the ST25DV extended driver functions.

Definition at line 162 of file st25dv.cpp.