NXP Reader Library  v17.1.0.2535

Contact Card Operation Command of HAL DUT Command dispatcher frame. More...

Collaboration diagram for Command_ContactCard:

Modules

 Command_Codes
 Contact Card Operation Command Codes of HAL DUT Command dispatcher frame.
 

Functions

phStatus_t phhalHw_DUT_Cmd_CC_Activate (phhalHw_DUT_DataParams_t *pDataParams, uint8_t *pAtr, uint16_t *pAtrLen)
 The function performs contact card activation procedure according to ISO7816-3 and when successful outputs the returned ATR. More...
 
phStatus_t phhalHw_DUT_Cmd_CC_ColdReset (phhalHw_DUT_DataParams_t *pDataParams, uint8_t *pAtr, uint16_t *pAtrLen)
 The function performs contact card cold reset. More...
 
phStatus_t phhalHw_DUT_Cmd_CC_WarmReset (phhalHw_DUT_DataParams_t *pDataParams, uint8_t *pAtr, uint16_t *pAtrLen)
 The function performs contact card warm reset. More...
 
phStatus_t phhalHw_DUT_Cmd_CC_StopClock (phhalHw_DUT_DataParams_t *pDataParams)
 The function stops the clock of the contact card interface. More...
 
phStatus_t phhalHw_DUT_Cmd_CC_StartClock (phhalHw_DUT_DataParams_t *pDataParams)
 The function starts the clock pulse of the contact card interface. More...
 
phStatus_t phhalHw_DUT_Cmd_CC_Deactivate (phhalHw_DUT_DataParams_t *pDataParams)
 The function deactivates the card connected to the contact interface. More...
 
phStatus_t phhalHw_DUT_Cmd_CC_PresenceCheck (phhalHw_DUT_DataParams_t *pDataParams, uint8_t *pCardInserted)
 The function checks if a card is present at the contact interface. More...
 
phStatus_t phhalHw_DUT_Cmd_CC_TransmitData (phhalHw_DUT_DataParams_t *pDataParams, uint8_t *pTxBuff, uint16_t wTxLen, uint8_t **ppRxBuff, uint16_t *pRxLen)
 The function transmits data with the indicated length to a contact card. More...
 
phStatus_t phhalHw_DUT_Cmd_CC_SendPPS (phhalHw_DUT_DataParams_t *pDataParams, uint8_t bOption, uint8_t *pPPS, uint8_t *pRxBuff, uint16_t *pRxLen)
 The function performs protocol and parameter exchange(PPS) with a contact card according to ISO7816-3. More...
 

Detailed Description

Contact Card Operation Command of HAL DUT Command dispatcher frame.

Note
  • These commands will work only if Hardware supports Contact Card features.
  • These command codes will be used to communicate to a Contact device connected via TDA only.
  • When any of the Contact Card commands are used, Direct Bal should be used and not Bal SAM.
  • To communicate via I2C use I2C specific commands.

Function Documentation

◆ phhalHw_DUT_Cmd_CC_Activate()

phStatus_t phhalHw_DUT_Cmd_CC_Activate ( phhalHw_DUT_DataParams_t pDataParams,
uint8_t pAtr,
uint16_t pAtrLen 
)

The function performs contact card activation procedure according to ISO7816-3 and when successful outputs the returned ATR.

Returns
Status code
Return values
PH_ERR_SUCCESSCommand successfully executed.
PH_ERR_INTERFACE_ERRORCommunication error.
PH_ERR_BUFFER_OVERFLOWTransmit data length is longer than the allocated transmit buffer size.
PH_ERR_PROTOCOL_ERRORInvalid frame or unexpected receive data length or command code mismatch.
OtherStatus word returned from the reader after the exchange function.
Parameters
[in]pDataParams[In] Pointer to an initialized HAL parameter structure.
[out]pAtr[Out] Buffer holding the returned ATR string from the contact card. Make sure the buffer is allocated.
[out]pAtrLen[Out] Length of bytes available in pAtr buffer.

◆ phhalHw_DUT_Cmd_CC_ColdReset()

phStatus_t phhalHw_DUT_Cmd_CC_ColdReset ( phhalHw_DUT_DataParams_t pDataParams,
uint8_t pAtr,
uint16_t pAtrLen 
)

The function performs contact card cold reset.

Returns
Status code
Return values
PH_ERR_SUCCESSCommand successfully executed.
PH_ERR_INTERFACE_ERRORCommunication error.
PH_ERR_BUFFER_OVERFLOWTransmit data length is longer than the allocated transmit buffer size.
PH_ERR_PROTOCOL_ERRORInvalid frame or unexpected receive data length or command code mismatch.
OtherStatus word returned from the reader after the exchange function.
Parameters
[in]pDataParams[In] Pointer to an initialized HAL parameter structure.
[out]pAtr[Out] Buffer holding the returned ATR string from the contact card. Make sure the buffer is allocated.
[out]pAtrLen[Out] Length of bytes available in pAtr buffer.

◆ phhalHw_DUT_Cmd_CC_WarmReset()

phStatus_t phhalHw_DUT_Cmd_CC_WarmReset ( phhalHw_DUT_DataParams_t pDataParams,
uint8_t pAtr,
uint16_t pAtrLen 
)

The function performs contact card warm reset.

Returns
Status code
Return values
PH_ERR_SUCCESSCommand successfully executed.
PH_ERR_INTERFACE_ERRORCommunication error.
PH_ERR_BUFFER_OVERFLOWTransmit data length is longer than the allocated transmit buffer size.
PH_ERR_PROTOCOL_ERRORInvalid frame or unexpected receive data length or command code mismatch.
OtherStatus word returned from the reader after the exchange function.
Parameters
[in]pDataParams[In] Pointer to an initialized HAL parameter structure.
[out]pAtr[Out] Buffer holding the returned ATR string from the contact card. Make sure the buffer is allocated.
[out]pAtrLen[Out] Length of bytes available in pAtr buffer.

◆ phhalHw_DUT_Cmd_CC_StopClock()

phStatus_t phhalHw_DUT_Cmd_CC_StopClock ( phhalHw_DUT_DataParams_t pDataParams)

The function stops the clock of the contact card interface.

Returns
Status code
Return values
PH_ERR_SUCCESSCommand successfully executed.
PH_ERR_INTERFACE_ERRORCommunication error.
PH_ERR_BUFFER_OVERFLOWTransmit data length is longer than the allocated transmit buffer size.
PH_ERR_PROTOCOL_ERRORInvalid frame or unexpected receive data length or command code mismatch.
OtherStatus word returned from the reader after the exchange function.
Parameters
[in]pDataParams[In] Pointer to an initialized HAL parameter structure.

◆ phhalHw_DUT_Cmd_CC_StartClock()

phStatus_t phhalHw_DUT_Cmd_CC_StartClock ( phhalHw_DUT_DataParams_t pDataParams)

The function starts the clock pulse of the contact card interface.

Returns
Status code
Return values
PH_ERR_SUCCESSCommand successfully executed.
PH_ERR_INTERFACE_ERRORCommunication error.
PH_ERR_BUFFER_OVERFLOWTransmit data length is longer than the allocated transmit buffer size.
PH_ERR_PROTOCOL_ERRORInvalid frame or unexpected receive data length or command code mismatch.
OtherStatus word returned from the reader after the exchange function.
Parameters
[in]pDataParams[In] Pointer to an initialized HAL parameter structure.

◆ phhalHw_DUT_Cmd_CC_Deactivate()

phStatus_t phhalHw_DUT_Cmd_CC_Deactivate ( phhalHw_DUT_DataParams_t pDataParams)

The function deactivates the card connected to the contact interface.

Returns
Status code
Return values
PH_ERR_SUCCESSCommand successfully executed.
PH_ERR_INTERFACE_ERRORCommunication error.
PH_ERR_BUFFER_OVERFLOWTransmit data length is longer than the allocated transmit buffer size.
PH_ERR_PROTOCOL_ERRORInvalid frame or unexpected receive data length or command code mismatch.
OtherStatus word returned from the reader after the exchange function.
Parameters
[in]pDataParams[In] Pointer to an initialized HAL parameter structure.

◆ phhalHw_DUT_Cmd_CC_PresenceCheck()

phStatus_t phhalHw_DUT_Cmd_CC_PresenceCheck ( phhalHw_DUT_DataParams_t pDataParams,
uint8_t pCardInserted 
)

The function checks if a card is present at the contact interface.

Returns
Status code
Return values
PH_ERR_SUCCESSCommand successfully executed.
PH_ERR_INTERFACE_ERRORCommunication error.
PH_ERR_BUFFER_OVERFLOWTransmit data length is longer than the allocated transmit buffer size.
PH_ERR_PROTOCOL_ERRORInvalid frame or unexpected receive data length or command code mismatch.
OtherStatus word returned from the reader after the exchange function.
Parameters
[in]pDataParams[In] Pointer to an initialized HAL parameter structure.
[out]pCardInserted[Out] Variable indicating if a card is present. One of the following will be returned.

◆ phhalHw_DUT_Cmd_CC_TransmitData()

phStatus_t phhalHw_DUT_Cmd_CC_TransmitData ( phhalHw_DUT_DataParams_t pDataParams,
uint8_t pTxBuff,
uint16_t  wTxLen,
uint8_t **  ppRxBuff,
uint16_t pRxLen 
)

The function transmits data with the indicated length to a contact card.

The response data and its length is stored at the pointed addresses.

Returns
Status code
Return values
PH_ERR_SUCCESSCommand successfully executed.
PH_ERR_INTERFACE_ERRORCommunication error.
PH_ERR_BUFFER_OVERFLOWTransmit data length is longer than the allocated transmit buffer size.
PH_ERR_PROTOCOL_ERRORInvalid frame or unexpected receive data length or command code mismatch.
OtherStatus word returned from the reader after the exchange function.
Parameters
[in]pDataParams[In] Pointer to an initialized HAL parameter structure.
[in]pTxBuff[In] Buffer containing the data to be transmitted to Contact Card.
[in]wTxLen[In] Length of bytes available in pTxBuff.
[out]ppRxBuff[Out] Buffer containing the received data from the Contact Card.
[out]pRxLen[Out] Length of bytes available in ppRxBuff.

◆ phhalHw_DUT_Cmd_CC_SendPPS()

phStatus_t phhalHw_DUT_Cmd_CC_SendPPS ( phhalHw_DUT_DataParams_t pDataParams,
uint8_t  bOption,
uint8_t pPPS,
uint8_t pRxBuff,
uint16_t pRxLen 
)

The function performs protocol and parameter exchange(PPS) with a contact card according to ISO7816-3.

Supported are the following values:

  • 0x12, etu=186
  • 0x13, etu=93
  • 0x18, etu=31 speed 145.161 bit/s
  • 0x95, etu=32
  • 0x96, etu=16 - speed 281.250 bit/s
Note
The PPSS identifier byte, having value 0xff is not included in the pPPS buffer. The first byte in the pPPS buffer, i.e. pPPS[0] is PPS0. In case of set exchange speed bOption = 0x01, the first byte in the pPPS buffer, i.e. pPPS[0] indicates the transmission factors Fi[b7-b4], Di[b3-b0].
Returns
Status code
Return values
PH_ERR_SUCCESSCommand successfully executed.
PH_ERR_INTERFACE_ERRORCommunication error.
PH_ERR_BUFFER_OVERFLOWTransmit data length is longer than the allocated transmit buffer size.
PH_ERR_PROTOCOL_ERRORInvalid frame or unexpected receive data length or command code mismatch.
OtherStatus word returned from the reader after the exchange function.
Parameters
[in]pDataParams[In] Pointer to an initialized HAL parameter structure.
[in]bOption[in] 0x00=Perform PPS, 0x01=Set only the exchange speed.
[in]pPPS[In] Buffer holding valid PPS exchange data. The presence of the optional bytes, respectively the length the PPS message is indicated by pPPS[0].
[out]pRxBuff[Out] Buffer where the received data from the Contact Card shall be stored.
[out]pRxLen[Out] Length of bytes available in pRxBuff.