This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Restarting NFC emulation using Nordic library

I am using the Nordic NFC library and an NRF52832 to do ISO1443 communication with my phone. However I was noticing that the NFC lib stops sending back events when stopping and re-starting the emulation.

Below is what I am using to start the NFC module up (without error code checking for conciseness):

nfc_t4t_setup((nfc_t4t_callback_t)&nfc_callback, nullptr);
nfc_t4t_emulation_start();

After which everything works fine. I get events pushed from the IRQ to my nfc_callback. If I call a stop to the emulation (which I do in some cases as a power saving measure) like so:

nfc_t4t_emulation_stop();

The emulation stops and I don't get any more events in my callback, as expected. The problem is when I call nfc_t4t_emulation_start() again nothing changes. I see events still happening in the IRQ but they are not sent to my callback. I have also tried taking it a step further and calling nfc_t4t_done() and then the setup function to try and re-initialize everything again but that did not work either. Still no events in my callback.

I couldn't find anything about this in the errata. Anyone have any ideas on why this might be happening? Is there a step I am missing in getting the nfc module back up and running after calling nfc_t4t_emulation_stop()?

Thanks!

Related