Hi - the issue you might be having is (as you say) the delay introduced by Espruino's JS handling of NFC. Hopefully you could write some Inline C code, but Espruino still executes that code outside the interrupt in which it happens, which would introduce some lag.
However you'll probably find that a very steep learning curve. We've had to patch Nordic's NFC libraries to let us get that low level with tag handling.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Hi - the issue you might be having is (as you say) the delay introduced by Espruino's JS handling of NFC. Hopefully you could write some Inline C code, but Espruino still executes that code outside the interrupt in which it happens, which would introduce some lag.
As others have said, the Puck is just a standard nRF52832 using SDK12. You could get Nordic's tools set up and then just start compiling and uploading their NFC examples and they should 'just work': https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v12.3.0%2Findex.html&cp=7_5_9
However you'll probably find that a very steep learning curve. We've had to patch Nordic's NFC libraries to let us get that low level with tag handling.
So there is a bit of a middle ground - just compile the Espruino firmware and make some tweaks to it. If you've some knowledge of Linux it should be totally trivial: https://github.com/espruino/Espruino/blob/master/README_Building.md#under-linux
Then you can add your code into the NFC handler here: https://github.com/espruino/Espruino/blob/master/targets/nrf5x/bluetooth.c#L1525
At that point (nfc_callback) you're running in an IRQ, so anything you do should be extremely fast.