Can you use/link both nfc T4T and T2T libraries and wrapper/driver source in same application/build?
I don't mean emulating both modes at the same time.
Thanks.
Can you use/link both nfc T4T and T2T libraries and wrapper/driver source in same application/build?
I don't mean emulating both modes at the same time.
Thanks.
Hi
I think these libraries use the same IRQHandler, so I'm guessing trying to add both into one project might cause some "multiple definitions" errors, but as other than that, I can't think of why it should be a problem to have T4T and T2T in the same project. Please note that you might have to make some changes to the existing code in order to ensure that they use different handlers. The handler seems to be located in nrfx_nfct.c and it calls a callback set in nrfx_nfct_init().
Best regards,
Simon
Thanks. I guess I'll try it and update the ticket with the results.
As far as I could tell from inspection the nrfx_nfct_init() isn't called from the src so it is probably called in the library nfc_t4/2t_emulation_start(), which if true is good.
I tried it.
There were no link errors or warnings. I'm using IAR tools. I didn't make any SDK17 t2t or t4t related source changes. I didn't see anything in nrfx_nfct.c that needed changing.
Hi again
When the NFC_tXt_setup() functions return error code 8 (INVALID_STATE) it means that the emulation already is in running state. This is related to a bug discovered in SDK v17, described here, where the nfc_t4t_done() call actually doesn't uninit the NFCT driver, and you need to call the nrfx_nfct_uninit() function after nfc_t4t_done() in order to be able to reinitialize the NFC peripheral.
Best regards,
Simon