Porting NFC10A1 and getting stuck on infinite loop for RFAL_TXRX_STATE_TX_WAIT_TXE
Hi.
I'm porting the RFAL for NFC10A1 using ST25NFC_Embedded_Lib_ST25R200_1.7.0.
I'm using the polling example. I have ported SPI, GPIO, and timer drivers based on my platform. I am using demo_polling.c as a basic template for my init and while loop functions and handlers.
I have successfully initialized NFC10A1 board, but I end up in an infinite loop in the RFAL_TXRX_STATE_TX_WAIT_TXE state.
The issue is that the ISR value read from NFC10A1 is 0 during this state. I have enabled RFAL_FEATURE_NFCA and ST25R_POLL_IRQ inside preprocessor.
I have added various debug logs trying to figure out what make the system stuck. The log is attached as a zip.
I tired looking at it with a logic analyzer (CH4 being the ISR pin) and discovered that despite ISR pin being pulled high, there was no proper reading of the ISR registers on NFC10A1 (which can be seen as no new SPI transmission occurred afterwards).

I'm not sure why this is happening because ISR is clearly being read during system init. ISR went low after the below two occations:
- MOSI 0x3B, 0x01, 0x8F returns MISO 0x7F
- MOSI 0x3B, 0xFF, 0x8F, returns MISO 0x76

Logic analyzer logs are included in the Excel file for reference.
It will be helpful if anyone can help me determine what went wrong and figure out why ISR is not being read at all during RFAL_TXRX_STATE_TX_WAIT_TXE (despite that it should have been).
Thanks in advance.
