NXP Reader Library  v17.1.0.2535

SAM commands used for ISO14443 layer 3 communication in X-Mode. More...

Collaboration diagram for ISO14443 - 3:

Macros

#define PHHAL_HW_SAMAV2_CMD_REQUEST_WAKEUP_RESPONSE_LENGTH   0x02
 2 byte ATQA
 
#define PHHAL_HW_SAMAV2_CMD_REQUEST_WAKEUP_RESPONSE_LENGTH   0x02
 2 byte ATQA
 
#define PHHAL_HW_SAMAV2_CMD_REQUEST_WAKEUP_CMD_LC   0x01
 length of data; fixed to 01h
 
#define PHHAL_HW_SAMAV2_CMD_REQUEST_WAKEUP_CMD_LC   0x01
 length of data; fixed to 01h
 

Functions

phStatus_t phhalHw_SamAV2_Cmd_X_ISO14443_3_RequestA_Wakeup (phhalHw_SamAV2_DataParams_t *pDataParams, uint8_t bReqaWakeupCode, uint8_t *pAtqa)
 Perform a request or wake-up command (type A). More...
 
phStatus_t phhalHw_SamAV2_Cmd_X_ISO14443_3_AnticollisionSelect (phhalHw_SamAV2_DataParams_t *pDataParams, uint8_t *pSelCodes, uint8_t bSelCodesLength, uint8_t *pSak, uint8_t *pUid, uint8_t *pUidLength)
 Perform a bit-wise anticollision and select. More...
 
phStatus_t phhalHw_SamAV2_Cmd_X_ISO14443_3_ActivateIdle (phhalHw_SamAV2_DataParams_t *pDataParams, uint8_t bOption, uint8_t bNumCards, uint16_t wTime, uint8_t *pAtqaIn, uint8_t *pSakIn, uint8_t **ppRxBuffer, uint16_t *pRxLength)
 Perform one or several request - anticollision - select sequences (type A). More...
 
phStatus_t phhalHw_SamAV2_Cmd_X_ISO14443_3_ActivateWakeUp (phhalHw_SamAV2_DataParams_t *pDataParams, uint8_t *pUid, uint8_t bUidLength)
 Perform a reactivate and select for a card in halt state (type A). More...
 
phStatus_t phhalHw_SamAV2_Cmd_X_ISO14443_3_HaltA (phhalHw_SamAV2_DataParams_t *pDataParams)
 Perform a halt command (type A). More...
 
phStatus_t phhalHw_SamAV2_Cmd_X_ISO14443_3_TransparentExchange (phhalHw_SamAV2_DataParams_t *pDataParams, uint8_t *pTxBuffer, uint8_t bTxLength, uint8_t bTxBitLength, uint8_t **ppRxBuffer, uint16_t *pRxLength, uint8_t *pRxBitLength)
 Perform a transparent exchange command (type A). More...
 

Sam AV2 command code for ISO14443 Layer 3 feature.

#define PHHAL_HW_SAMAV2_CMD_REQUEST_WAKEUP_INS   0x25
 ISO 14443-3 Request_Wakeup command.
 
#define PHHAL_HW_SAMAV2_CMD_ANTICOLLSION_SELECT_INS   0x93
 ISO 14443-3 Anticollision_Select command.
 
#define PHHAL_HW_SAMAV2_CMD_ACTIVATE_IDLE_INS   0x26 /** < ISO14443-3_ActivateIdle command */
 
#define PHHAL_HW_SAMAV2_CMD_AKTIVATE_WAKEUP_INS   0x52 /** < ISO 14443-3 Aktivate WakeUp command */
 
#define PHHAL_HW_SAMAV2_CMD_HALTA_INS   0x50 /** < ISO 14443-3 HaltA command */
 

Option macros for Sam AV2 ISO14443 - 3 ActivateIdle command.

#define PHHAL_HW_SAMAV2_CMD_ISO14443_3_ACTIVATEIDLE_DEFAULT   0x00
 Default option mask for ActivateIdle.
 
#define PHHAL_HW_SAMAV2_CMD_ISO14443_3_ACTIVATEIDLE_APPLY_ATQA   0x01
 Option flag for applying the ATQA filter.
 
#define PHHAL_HW_SAMAV2_CMD_ISO14443_3_ACTIVATEIDLE_APPLY_SAK   0x02
 Option flag for applying the SAK filter.
 
#define PHHAL_HW_SAMAV2_CMD_ISO14443_3_ACTIVATEIDLE_APPLY_TIME   0x04
 Option flag for setting the time to wait.
 

Detailed Description

SAM commands used for ISO14443 layer 3 communication in X-Mode.

Function Documentation

◆ phhalHw_SamAV2_Cmd_X_ISO14443_3_RequestA_Wakeup()

phStatus_t phhalHw_SamAV2_Cmd_X_ISO14443_3_RequestA_Wakeup ( phhalHw_SamAV2_DataParams_t pDataParams,
uint8_t  bReqaWakeupCode,
uint8_t pAtqa 
)

Perform a request or wake-up command (type A).

Returns
Status code
Return values
PH_ERR_SUCCESSOperation successful.
OtherDepending on implementation and underlaying component.
Parameters
[in]pDataParams[In] Pointer to this layer's parameter structure.
[in]bReqaWakeupCode[In] Command code (either REQA - 26h or WUPA - 52h).
[out]pAtqa[Out] AtqA returned by the card. The buffer has to be 2 bytes long.

◆ phhalHw_SamAV2_Cmd_X_ISO14443_3_AnticollisionSelect()

phStatus_t phhalHw_SamAV2_Cmd_X_ISO14443_3_AnticollisionSelect ( phhalHw_SamAV2_DataParams_t pDataParams,
uint8_t pSelCodes,
uint8_t  bSelCodesLength,
uint8_t pSak,
uint8_t pUid,
uint8_t pUidLength 
)

Perform a bit-wise anticollision and select.

(type A).

Returns
Status code
Return values
PH_ERR_SUCCESSOperation successful.
OtherDepending on implementation and underlaying component.
Parameters
[in]pDataParams[In] Pointer to this layer's parameter structure.
[in]pSelCodes[In] Buffer containing the SEL sequence bytes (93h, 95h and 97h).
[in]bSelCodesLength[In] Length of the SEL sequence buffer (01h to 03h).
[out]pSak[Out] Pointer to the 1 byte Select Acknowledge reveived from card.
[out]pUid[Out] Buffer containing the received UID. This buffer has to be 10 bytes long.
[out]pUidLength[Out] Amount of valid bytes in UID buffer.

◆ phhalHw_SamAV2_Cmd_X_ISO14443_3_ActivateIdle()

phStatus_t phhalHw_SamAV2_Cmd_X_ISO14443_3_ActivateIdle ( phhalHw_SamAV2_DataParams_t pDataParams,
uint8_t  bOption,
uint8_t  bNumCards,
uint16_t  wTime,
uint8_t pAtqaIn,
uint8_t pSakIn,
uint8_t **  ppRxBuffer,
uint16_t pRxLength 
)

Perform one or several request - anticollision - select sequences (type A).

Returns
Status code
Return values
PH_ERR_SUCCESSOperation successful.
OtherDepending on implementation and underlaying component.
Parameters
[in]pDataParams[In] Pointer to this layer's parameter structure.
[in]bOption[In] Option parameter:
[in]bNumCards[In] Holds the number of cards to activate.
[in]wTime[In] Time to wait for a card.
[in]pAtqaIn[In] Buffer containing the AtqA filter. This buffer has to be 4 bytes long.
[in]pSakIn[In] Buffer containing the Sak filter. This buffer has to be 2 bytes long.
[out]ppRxBuffer[Out] Pointer to the buffer containing the received data.
[out]pRxLength[Out] Amount of valid bytes in ppRxBuffer.

◆ phhalHw_SamAV2_Cmd_X_ISO14443_3_ActivateWakeUp()

phStatus_t phhalHw_SamAV2_Cmd_X_ISO14443_3_ActivateWakeUp ( phhalHw_SamAV2_DataParams_t pDataParams,
uint8_t pUid,
uint8_t  bUidLength 
)

Perform a reactivate and select for a card in halt state (type A).

Returns
Status code
Return values
PH_ERR_SUCCESSOperation successful.
OtherDepending on implementation and underlaying component.
Parameters
[in]pDataParams[In] Pointer to this layer's parameter structure.
[in]pUid[In] UID of the card to reactivate.
[in]bUidLength[In] Length of UID (4, 7 or 10 bytes).

◆ phhalHw_SamAV2_Cmd_X_ISO14443_3_HaltA()

phStatus_t phhalHw_SamAV2_Cmd_X_ISO14443_3_HaltA ( phhalHw_SamAV2_DataParams_t pDataParams)

Perform a halt command (type A).

Returns
Status code
Return values
PH_ERR_SUCCESSOperation successful.
OtherDepending on implementation and underlaying component.
Parameters
[in]pDataParams[In] Pointer to this layer's parameter structure.

◆ phhalHw_SamAV2_Cmd_X_ISO14443_3_TransparentExchange()

phStatus_t phhalHw_SamAV2_Cmd_X_ISO14443_3_TransparentExchange ( phhalHw_SamAV2_DataParams_t pDataParams,
uint8_t pTxBuffer,
uint8_t  bTxLength,
uint8_t  bTxBitLength,
uint8_t **  ppRxBuffer,
uint16_t pRxLength,
uint8_t pRxBitLength 
)

Perform a transparent exchange command (type A).

Returns
Status code
Return values
PH_ERR_SUCCESSOperation successful.
OtherDepending on implementation and underlaying component.
Parameters
[in]pDataParams[In] Pointer to this layer's parameter structure.
[in]pTxBuffer[In] Buffer containing the data to be sent. The buffer has to be bTxLength bytes long.
[in]bTxLength[In] Number of bytes to be sent to the card.
[in]bTxBitLength[In] Number valid bits in the last byte of the bTxBuffer. If set to 00h all bits are valid.
[out]ppRxBuffer[Out] Pointer to the buffer containing the received data.
[out]pRxLength[Out] Amount of valid bytes in ppRxBuffer.
[out]pRxBitLength[Out] Amount of valid bits in the last byte in case of an incomplete byte.