NXP Reader Library  v17.1.0.2535

Implementation of all SAM commands. More...

Collaboration diagram for Command Interface:

Modules

 01_HostCommunication
 Implementation of SAM Host Communication commands.
 
 02_SecurityConfiguration
 Implementation of SAM Security and Configuration commands.
 
 03_KeyManagement
 Implementation of SAM Key Management commands.
 
 04_FileManagement
 Implementation of SAM File Management commands.
 
 04_DataProcessing
 Implementation of SAM Data Processing commands.
 
 05_PublicKeyInfrastructure
 Implementation of SAM Public Key Infrastructure (PKI) commands. Here RSA (Rivest-Shamir-Adleman) and ECC (Elliptic Curve Cryptography) command implementation are available.
 
 06_VirtualCard
 Implementation of SAM Virtual Card and ProximityCheck commands. Has implementation for both X and S mode communication.
 
 07_MIFARE_DESFire
 Implementation of SAM MIFARE DESFire commands. Has implementation for both X and S mode communication.
 
 08_MIFARE_DUOX
 Implementation of SAM MIFARE DUOX commands. Has implementation for both X and S mode communication.
 
 09_MIFARE_Plus
 Implementation of SAM MIFARE Plus commands. Has implementation for both X and S mode communication.
 
 10_MIFARE_Ultralight
 Implementation of SAM MIFARE Ultralight commands. Has implementation for both X and S mode communication.
 
 11_Common
 Implementation of SAM MIFARE Common commands.
 
 12_ICODE_UCODE
 Implementation of SAM commands used for ICODE and UCODE communication in S-Mode.
 
 13_ProgrammableLogic
 Implementation of SAM Programmable Logic commands.
 
 14_ReaderIC
 Implementation of SAM Reader IC commands.
 
 15_ISO14443_3
 SAM commands used for ISO14443 layer 3 communication in X-Mode.
 
 16_ISO14443_4
 SAM commands used for ISO14443 layer 4 communication in X-Mode.
 
 18_OriginalityCheck
 SAM commands used for OriginalityCheck communication in S-Mode and X-Mode.
 
 Defines
 Definitions generic for S and X mode commands.
 

Functions

phStatus_t phhalHw_Sam_Cmd_7816Exchange (phhalHw_Sam_DataParams_t *pDataParams, uint16_t wOption, uint8_t *pData, uint16_t wDataLen, uint8_t **ppResponse, uint16_t *pRespLen)
 Exchange commands with the SAM. More...
 
void phhalHw_Sam_Cmd_UpdateLC (uint8_t *pData, uint8_t bDataLen, uint8_t bLE_Available)
 Update the LC information for SAM command frame. More...
 

Detailed Description

Implementation of all SAM commands.

Function Documentation

◆ phhalHw_Sam_Cmd_7816Exchange()

phStatus_t phhalHw_Sam_Cmd_7816Exchange ( phhalHw_Sam_DataParams_t pDataParams,
uint16_t  wOption,
uint8_t pData,
uint16_t  wDataLen,
uint8_t **  ppResponse,
uint16_t pRespLen 
)

Exchange commands with the SAM.

Note
If this interface is called with one of the below mentioned buffering options and if LC needs to be updated before the final call with wOption = Buffer last information, then Update LC interface can be used. Update LC will update the LC byte which the data that is loaded via pData parameter.
Returns
Status code
Return values
PH_ERR_SUCCESSOperation successful.
PHHAL_HW_SAM_ERR_OK_CHAINING_ACTIVEOperation successful chaining.
PHHAL_HW_SAM_ERR_OK_CHAINING_ACTIVE_EXTOperation successful chaining.
OtherDepending on implementation and underlaying component.
Parameters
[in]pDataParams[In] Pointer to this layer's parameter structure.
[in]wOption[In] Buffering options.
[in]pData[In] The command to be sent to Sam hardware.
[in]wDataLen[In] Length of bytes available in pData buffer.
[out]ppResponse[Out] The data received form SAM hardware.
[out]pRespLen[Out] Length of bytes available in ppResponse.

◆ phhalHw_Sam_Cmd_UpdateLC()

void phhalHw_Sam_Cmd_UpdateLC ( uint8_t pData,
uint8_t  bDataLen,
uint8_t  bLE_Available 
)

Update the LC information for SAM command frame.

Note
Can be used to update LC of SAM command frame before calling Cmd_7816Exchange with wOption = Buffer last set of information, Exchange and received information from SAM
Parameters
[in,out]pData[In, Out] Input data having the complete command information
  • [In]: The buffer having command information with LC as zero.
  • [Out]: The buffer having command information with LC updated.
[in]bDataLen[In] Length of bytes available in pData buffer
[in]bLE_Available[In] Is LE available in the pData buffer.