PN7462AU reads ISO14443A card

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

PN7462AU reads ISO14443A card

1,032 Views
tuannguyen-aiot
Contributor III

Currently PN7462 after reading ISO14443A card.
And when I take the card out of the tray, it takes about 3 seconds for the reader to receive the phExCcid_UsbCcid_CardRemoved signal.
Is there a way to customize this interval to 1 second or get the phExCcid_UsbCcid_CardRemoved signal as soon as the card is removed from the tray?

0 Kudos
Reply
7 Replies

1,002 Views
KellyLi
NXP TechSupport
NXP TechSupport

Hello @tuannguyen-aiot 

This situation requires online debugging to identify where the time is taking longer so that it is easy to find a solution to the problem. Therefore, it is recommended that you online debug the code to determine where it takes a long time to run.

BR

kelly

0 Kudos
Reply

962 Views
tuannguyen-aiot
Contributor III

I see this test function takes about 2 seconds, however I can't get into the function to debug

0 Kudos
Reply

955 Views
KellyLi
NXP TechSupport
NXP TechSupport

Hello @tuannguyen-aiot 

could you share the exact example of what you are using? in order to double-check in my side.

BR

kelly

0 Kudos
Reply

949 Views
tuannguyen-aiot
Contributor III

At example PN7462AU_ex_phExCcid, the order of operations for reading ISO14443 A tag will be as follows:

phExCcid_Poll_Main;
phExCcid_Handle_USB_Process;
phExCcid_Check_Presence_L4_Card;
status = phpalI14443p4_PresCheck(psDiscLoopParams->pPal14443p4DataParams);
status = phpalI14443p4_Sw_PresCheck((phpalI14443p4_Sw_DataParams_t *)pDataParams);
 
    PH_CHECK_SUCCESS_FCT(statusTmp, phhalHw_Exchange(
        pDataParams->pHalDataParams,
        PH_EXCHANGE_DEFAULT,
        bIsoFrame,
        wIsoFrameLen,
        &pIsoFrameResp,
        &wIsoFrameLen));
 
        status = phhalHw_PN7462AU_Exchange((phhalHw_PN7462AU_DataParams_t *)pDataParams,
                                            wOption,
                                            pTxBuffer,
                                            wTxLength,
                                            ppRxBuffer,
                                            pRxLength
                                            );
 
status = phhalRf_PCD_Exchg(pDataParams->pTxBuffer,
&pDataParams->pRxBuffer[pDataParams->wRxBufStartPos],
pDataParams->wTxBufLen,
&gphhalRf_RxParams);
 

At command position
status = phhalRf_PCD_Exchg(pDataParams->pTxBuffer,
&pDataParams->pRxBuffer[pDataParams->wRxBufStartPos],
pDataParams->wTxBufLen,
&gphhalRf_RxParams);

The program will wait here for 2 seconds to check the status of the card to see if it has been removed from the tray or not

0 Kudos
Reply

995 Views
tuannguyen-aiot
Contributor III

What are these PH_LOG commands? Can I comment them to speed up the program

0 Kudos
Reply

972 Views
KellyLi
NXP TechSupport
NXP TechSupport

Hello @tuannguyen-aiot 

Yes, it can be commented, but actually, it has been commented out in our routine. You can check whether the macro definition NXPBUILD__PH_LOG is enabled in your code. Disable NXPBUILD__PH_LOG and then these APIs can be commented out.

BR

kelly

0 Kudos
Reply

1,013 Views
tuannguyen-aiot
Contributor III

Hello, is there anyone?

0 Kudos
Reply