ST25R3911B Issue with rlafNfcaPollerSelect
Hi I am currently trying to send and receive APDU commands to an NFC PICC. I am using the X-NUCLEO-NFC05A1 (ST25R3911B) and the STM32F401RE Nucleo Board. For software I am using X-CUBE-NFC5 RFAL middleware and STM32CubeF4 HAL.
The Card is a ISO14443A Type 4 ( ISO-DEP)
I can read the UID and Type of the Card, but as soon as I try to select the first card (rfalNfcaPollerSelect), the function responds with timeout error ( 0x04).
I have gone through the RFAL.chm file multiple times and cant seem to find a resolution to my problem. Am I missing some initialization or setting?
Partial Code ( based on example from X-CUBE-NFC5 )
void loop()
{
rfalWorker();
//code for inductive wakeup then run scanA() //(code not shown to save space)
scanA();
}
void scanA()
{
rfalNfcaSensRes sensRes;
rfalNfcaPollerInitialize();
rfalFieldOnAndStartGT();
unit16_t err =
rfalNfcaPollerTechnologyDetection
( RFAL_COMPLIANCE_MODE_NFC_11, &sensRes );if (err == 0) //tagfound
{
rfalNfcaListenDevice nfcaDevList[1];
uint8_t devCnt;
err=
rfalNfcaPollerFullCollisionResolution
(RFAL_COMPLIANCE_MODE_NFC_11
, 1, nfcaDevList, &devCnt);if (nfcaDevList[0].type == RFAL_NFCA_T4T){
activateIsoDep
(nfcaDevList[0]);}}
void activateIsoDep(rfalNfcaListenDevice lisnDev)
{
rfalIsoDepDevice isoDepDevice;
rfalNfcaSelRes selRes;
uint8_t err =
rfalNfcaPollerSelect
(lisnDev.nfcId1,lisnDev.nfcId1Len,&selRes);
//Here I get err = 0x04 (TIMEOUT)
//.....
// next code for rfalIsoDepPollAHandleActivation
// .............................
}
#iso14443a-iso-dep #st25r3911b #x-cube-nfc5 #rfal-al #rfalnfcapollerselect #send-apdu