cancel
Showing results for 
Search instead for 
Did you mean: 

I am not able to find proper examples and/or documentation on how to add RAFL to my project.

NWeis.19
Associate II

I am not able to find proper examples and/or documentation on how to add RAFL to my project.

Looking into the rfal.chm file in RFAL there is an example but it does not work for me ?

When I am looking in X-CUBE-NFC5.chm there should 4 examples but its empty.

The documentation for how to add it to a project is limited.

Is there a source code for the ST25R3911B discovery GUI or even better documentation for it as well.

Thanks,

Noam.

1 ACCEPTED SOLUTION

Accepted Solutions
Brian TIDAL
ST Employee

HI,

thanks for having highlighted the issue with X-CUBE-NFC5.chm file. I will report this issue internally. As a workaround, the 4 examples can be found in rfal.chm and ndef.chm files.

Can you share more information about your hardware setup: is it based on X-NUCLEO-NFC05A1 or on ST25R3911B-DISCO? Which MCU (STM32L4 or other)?

"Beside the above nothing happens." This is issue is likely that the st25r3911b interrupt service routine is not called when the IRQ_3911B is triggered. Some functional example for bare metal are provided in STM32CubeExpansion_NFC5_V2.0.0\Projects\STM32L476RG-Nucleo\Applications\PollingTagDetect where one can see the IRQ_3911B interrupt execution model. Also, we can share with you a functional freeRTOS example running on NUCLEO-L476RG+X-NUCLEO-NFC05A1. In the freeRTOS example, an ISR task is waiting for the interrupt to happen and then run the st25r3911Isr(). I believe the PC GUI source code will not be a big help on this issue.

STM32CubeExpansion_NFC5_V2.0.0\Projects\STM32L476RG-Nucleo\Applications\PollingTagDetect contains a full demo running on X-NUCLEO-NFC05A1. I believe this is a good basis for starting with NFC.

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.

View solution in original post

14 REPLIES 14
Brian TIDAL
ST Employee

Hi,

which version of X-CUBE-NFC5 do you have? On my side, I have the V2.0.0 and X-CUBE-NFC5.chm provides 2 examples which are not empty (see attached screen shot)

X-CUBE-NFC5 includes ready to build projects for various Nucleo boards (see STM32CubeExpansion_NFC5_V2.0.0\Projects\STM32L476RG-Nucleo\Applications\PollingTagDetect for polling loop on NUCLEO-L476)

See https://community.st.com/s/question/0D53W000006G1H9SAK/how-to-start-with-st25r3911b-and-is-it-really-necessary-to-use-rfal-and-st25r3911-libraries-for-simpel-project on the same topic for detailed steps to include the RFAL in your project.

The source code for the ST25R3911B-DISCO is available here: https://www.st.com/en/evaluation-tools/st25r3911b-disco.html#tools-software (--> STSW-ST25R002)

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.

Dear Brian,

I was referring to X-CUBE-NFC5 Expansion for STM32Cube v2.0.0

0693W000003QW4OQAW.png

In the RFAL.chm file there are two examples as you noted above.

In rfal.chm document (RF Abstraction Layer) there is a flow describing how to modify the platform.h file.

I was able to edit the platform.h file, define interrupt lines and all. I created a task (we run FreeRTOS) that does more

or less the flow in exampleRfalPoller.c

The code runs and I see that it runs in the state machine:

gState = EXAMPLE_RFAL_POLLER_STATE_INIT

gState = EXAMPLE_RFAL_POLLER_STATE_TECHDETECT

gState = EXAMPLE_RFAL_POLLER_STATE_DEACTIVATION

and now clear ... and again and again.

Beside the above nothing happens.

I am new to NFC and related and I find the documentation very poor. The example on the Disco board works fine together with the PC GUI.

But and here is the big issue... There is no (did not find) documentation or source code for the PC GUI.

I cannot easily add or remove modules with doing a lot of reading and digging into the code.

I feel that I need to do reverse engineering if I want to work with a chip by ST. I do not think that this is what you think your user need to do.

I would expect more samples and much better documentation telling the user add these files and do this and that...

If you can share other documentation and or examples that are not found on the ST25R3911 pages it would be great.

Thanks,

Noam.

Brian TIDAL
ST Employee

HI,

thanks for having highlighted the issue with X-CUBE-NFC5.chm file. I will report this issue internally. As a workaround, the 4 examples can be found in rfal.chm and ndef.chm files.

Can you share more information about your hardware setup: is it based on X-NUCLEO-NFC05A1 or on ST25R3911B-DISCO? Which MCU (STM32L4 or other)?

"Beside the above nothing happens." This is issue is likely that the st25r3911b interrupt service routine is not called when the IRQ_3911B is triggered. Some functional example for bare metal are provided in STM32CubeExpansion_NFC5_V2.0.0\Projects\STM32L476RG-Nucleo\Applications\PollingTagDetect where one can see the IRQ_3911B interrupt execution model. Also, we can share with you a functional freeRTOS example running on NUCLEO-L476RG+X-NUCLEO-NFC05A1. In the freeRTOS example, an ISR task is waiting for the interrupt to happen and then run the st25r3911Isr(). I believe the PC GUI source code will not be a big help on this issue.

STM32CubeExpansion_NFC5_V2.0.0\Projects\STM32L476RG-Nucleo\Applications\PollingTagDetect contains a full demo running on X-NUCLEO-NFC05A1. I believe this is a good basis for starting with NFC.

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.

Dear Brian,

Our hardware consists of the STM32WB55xx as the host CPU running FreeRTOS, we also have a motor controller STSPIN32F0 etc....

We use the ST25R3911B with our own design, based on the disco evaluation etc...

Our hardware has two identical units. We need to detect that they are close to each other and after that use the P2P protocol

to transfer some data between the master and slave units.

That is all

BR,

Noam.

Dear Brian,

I have triad to incorporate the X-NUCLEO-NFC05A1 example with my own project but I could not do that (so far)

A FreeRTOS example would help .

I have briefly read UM2253 and the RFAL (RF Abstraction Layer) in RFAL.chm

I basically understand what needs to be done but I think I am missing documentation that either is not published or I have missed it.

Any info would help...

Waiting for your inputs..

BR,

Noam.

Brian TIDAL
ST Employee

​FreeRTOS example sent in private.

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.

Hi Brian,

I use the same stm32WB (with freeRTOS) with the same ST25R3911B

Please send me the examples to my private account

Thanks In Advance,

Micha

~Amit~
Associate III

Hey Brian,

Do you have a freeRTOS example for a free workspace and not for Keil?

Brian TIDAL
ST Employee

Hi Amit,

the freeRTOS package for ST25R3911B is delivered with Keil project files but it can be easily ported to other IDE. We can provide it to you in private if you want.

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.