esitarski / CrossMgr

Cyclo Cross Management Application
MIT License
41 stars 21 forks source link

TagReadWrite not Incrementing #63

Closed AndrewC-137 closed 3 years ago

AndrewC-137 commented 4 years ago

TagReadWrite not incrementing. Reader connect successful. When writing tag (F1), right window shows tag not read (red screen), but when checking with a read afterwards (F2), tag shows as successfully written. Seems that the verification read is failing therefore not incrementing. Or I'm doing something wrong....

Downloaded latest version 20200718115209

AndrewC-137 commented 4 years ago

Also, when reading the tags in CrossMgrImpinj, it appears that there are some leading HEX chars before the data that I wrote. In the example below, "D" and "A" appear before my coded tag of "CCC0020"

image

esitarski commented 4 years ago

Help me understand what is going on with the first issue:

By design, TagReadWrite will not increment the counter if the validation read fails after the write. The reasoning is that if the validation read fails, you would want to re-do the write with the same value. Is that what is happening?

Regarding the "DA" from CrossMgrImpinj: the tag is still read as "CCCC0020", without the "DA", and everything is working OK.

All CrossMgr/CrossMgrimpinj exchanges have a 1 or 2-char prefix. "DA" means for data. "GT" is for GetTime (used to compute a correction between the reader's time and the computer's time). "S" means send.
Nothing to worry about.

AndrewC-137 commented 4 years ago

Gotcha. Yes, the tag still reads in CrossMgrImpinj correctly with DA header.

Re: TRW - yes, that it what is happening.

The code is setup for CCC#### and the first value is 1, increment 1. Expected results are first tag is written CCC0001 and then the program auto-increments and next time you hit write, it should write CCC0002.

What is happening is I hit write, and the value goes into the read window as CCC0001 but it appears in red (presumably because the write cycle read verification failed), and the auto increment is not engaged (the counter stays at 1 and the next tag to be written will be CCC0001.

BUT, when you do a supplemental read (read-only) on the first tag that "appeared" to "read-fail" after the first write, it reads the chip correctly as CCC0001.

In summary, it seems that everything is working correctly except for the "read verification" in the write cycle, which is what you say controls the auto-increment.

rkantos commented 4 years ago

What readers and tags are you using?

AndrewC-137 commented 3 years ago

MONZA R6 Dogbones on an Impinj R-1000

esitarski commented 3 years ago

Fixed the bug. Available in latest update which should be built in about 20min.