cancel
Showing results for 
Search instead for 
Did you mean: 

ST25R3916B P2P connection

Rossano
Associate

We start developing our project using NUCLEO-L476RG with NUCLEO-NFC08A1 using NFC08A1_PollingTagDetectNDEF application.

We develop a board with ST25R3916B and a microcontroller with FreeRTOS.

We import the RFAL library and BSP component st25r3916_xxx.c, we don't import NDEF layer. 

We make on our board a task with void demoCycle( void ) cloned from demo_polling.c,

plus all the function take from the example application.

We made all the rfal_platform MACRO conversion.

The board work well with different card and TAG and also in P2P connection with NUCLEO-L476RG with NUCLEO-NFC08A1.

If we try to connect in P2P mode 2 of our board the connection doesn't start.

With NUCLEO-L476RG either the board entered in demoCycle case switch:

case RFAL_NFC_LISTEN_TYPE_AP2P:
case RFAL_NFC_POLL_TYPE_AP2P:

platformLog("NFC Active P2P device found. NFCID3: %s\r\n", hex2Str(nfcDevice->nfcid, nfcDevice->nfcidLen));
platformLedOn(PLATFORM_LED_AP2P_PORT, PLATFORM_LED_AP2P_PIN);

demoP2P( nfcDevice );
break;

If we use 2 of our board no one entered in this case switch, and so the connection doesn't start.

Do you have some suggestion?

Thank you.

Rossano

1 ACCEPTED SOLUTION

Accepted Solutions
Ulysses HERNIOSUS
ST Employee

Hi Rossano,

please first try to change on your board (against our working working) the settings for techs2Find, removing one of RFAL_NFC_LISTEN_TYPE_AP2P / RFAL_NFC_POLL_TYPE_AP2P. 

Beware the techs2Find has the roles in which the local device acts (and not the role of the remote device to be found.

This way you can figure out which role on your implementation is not working - or both.

Parts of the activation when acting as AP2P target are timing critical. You could try change that code part in rfal_rf_st25r3916.c by setting to '0':

#if 1  /* Perform bit rate detection in Low power mode */

 

If that does not solve the issue then please provide Logic analyzer traces of your setup (ideally at the same time also recording the SPI + IRQ of the NUCLEO-L476RG + NFC08.)

BR, Ulysses

View solution in original post

2 REPLIES 2
Ulysses HERNIOSUS
ST Employee

Hi Rossano,

please first try to change on your board (against our working working) the settings for techs2Find, removing one of RFAL_NFC_LISTEN_TYPE_AP2P / RFAL_NFC_POLL_TYPE_AP2P. 

Beware the techs2Find has the roles in which the local device acts (and not the role of the remote device to be found.

This way you can figure out which role on your implementation is not working - or both.

Parts of the activation when acting as AP2P target are timing critical. You could try change that code part in rfal_rf_st25r3916.c by setting to '0':

#if 1  /* Perform bit rate detection in Low power mode */

 

If that does not solve the issue then please provide Logic analyzer traces of your setup (ideally at the same time also recording the SPI + IRQ of the NUCLEO-L476RG + NFC08.)

BR, Ulysses

Brian TIDAL
ST Employee

Hi Rossano,

just one information in addition to the response from Ulysses: a porting of the ST25R3916 polling demo on FreeRTOS is already available in the ST25 embedded NFC library (STSW-ST25R016). Feel free to have a look on it and to compare with your own porting in particular for the IRQ_ST25R3916 handling. 

Rgds

BT

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.