Hello
Tag write operation does not occur.
The function RW_NDEF_T2T_Write_Next found a piece of code that performs the check:
...
case Writing_Data:
/ * Is Write success? * /
if ((Rsp_size == 2) && (pRsp [Rsp_size-1] == 0x00)) <----- this is the condition
...
Example console output:
Block record (NxpNci_HostTransceive function):
NCI >> 0 0 6 A2 4 3 26 D1 1
NCI << 60 6 3 1 0 1
Reading the response (NxpNci_WaitForReception):
NCI << 0 0 1 2 <----- 0 0 1 - header, 2 result
The check verifies that the answer consists of two bytes, but only 1 byte comes in the response. It can be seen from the code: 0 0 1 - header, 2 - result.
We only got one byte.
If you remove this check, tag write operation is performed.
Why expect a response of two bytes (one of them must be 0) in NXP-NCI MCUXpresso example?
The developer board is PN7150 (OM5578 / PN7150ARD) and the example is AN11990 (NXP-NCI MCUXpresso example)
Uncommented:
#define RW_SUPPORT
#define RW_NDEF_WRITING
Best regards.