AnsweredAssumed Answered

Tag write not occur in NXP-NCI example

Question asked by Sergey Petrov on Jul 4, 2019
Latest reply on Jul 7, 2019 by Kan_Li

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.

Outcomes