CoreNFC and using the OPTION FLAG

31 views Asked by At

I'm having some issues with writing lots of data to iCode Slix2 NFC tags which I initially asked about here

The ISO/IEC FCD 15693-3 standards document has this paragraph with regards to the Write single block command:

When receiving the Write single block command, the VICC shall write the requested block with the data contained in the request and report the success of the operation in the response.

If the Option_flag is not set, the VICC shall return its response when it has completed the write operation starting after a multiple of t1 nominal (see table 8) with a total tolerance of +-32/f and latest after 20ms.

If it is set, the VICC shall wait for the reception of an 100% modulated EOF from the VCD and upon such reception shall return its response.

Correct me if i'm wrong, but it sounds like if I set the OPTION FLAG when writing a block of data, I can then send the next block of data without waiting for a response. And only when i've sent all my blocks of data do I send an EOF byte and the tag will respond.

I'm thinking this could potentially fix my connection issues as the tag won't respond to every single block write.

Am I right in my assumptions?

How do I send this EOF command using iOS CoreNFC?

There's not much documentation around CoreNFC. When I use the writeSingleBlock() function, does this automatically add the EOF byte, which would mean it's no good to use?

try await tag.writeSingleBlock(requestFlags: [.highDataRate, .option], blockNumber: UInt8(blockNumber), dataBlock: blankData)

In which case, would I need to use custom commands for writing the data without the EOF byte until I send the last one?

0

There are 0 answers