MID 7.2 Tag Read Compatibility with PumpController and Legacy Tag Controllers
The iButton.
This is the pattern of data on a Dallas iButton Tag as the SmartFuel Tag Controller reads the data and sends it to the PumpController.
The first 9 characters comes directly from the iButton and then the Tag Controller does the CRC check on the 8 preceding bytes to confirm that it is the same as the CRC as extracted from the Tag. There is no need to send the CRC twice, but that was a carryover from an earlier system.
Character 1 = “1” (Start sentinel)
Character 2 = “1” (Tag family code)
Next 6 characters = Tag number
Character 9 = Tag CRC
Character 10 = Calculated tag CRC
COM5 -> (R) [17] 32 01 0C 10 02 0A 01 01 75 1F 1E 01 00 00 DB DB 33
Now when creating the RFID Readers to be compatible with the PumpController, there was a challenge and this was solved by keeping the same data pattern as the iButton format.
There were some differences as the RFID had only 3 ID Bytes and a Facility Code which was zero for the Card were using. It was also decided that Facility Code can changed to 0x02 to be a “Family Code”
RFID
The Mistake
The intention was that a RFID Tag comm will look like this;
[17] 32 01 04 13 23 0A 01 02 9A D1 08 00 00 00 xx xx 33
(Currently as in the MID V1.3.4)
But, instead of changing the second Byte to 0x02, the Start Sentinel was changed from 0x01 to 0x02 and we now have this;
[17] 32 01 04 13 23 0A 02 00 9A D1 08 00 00 00 F1 F1 33
(SmartFuel Legacy RFID Reader)
So the RFID Facility Code is still present and the Start Sentinel is not 0x01 but 0x02.
This is what we have;
Character 1 = “2” (Start sentinel)
Character 2 = “0” (RFID Facility Code)
Next 3 characters = Tag number
Next 3 characters = “000” padding
Character 9 = Tag CRC
Character 10 = Calculated tag CRC
Solution: What is important is to maintain what is workable on the PumpController and so a test was done using both devices and the good news is that both worked as the first two Bytes don’t contribute to the Tag ID number.
MID V1.3.4 RFID CARD#: 0005743633
2020/01/09|02:58:14:781|COMM : COM5 -> (R) [17] 32 01 02 11 02 0A 01 02 57 A4 11 00 00 00 4A 4A 33
Legacy
2020/01/09|03:13:17:796|COMM : COM2 -> (R) [17] 32 01 02 13 23 0A 02 00 57 A4 11 00 00 00 30 30 33
The Facility Code can be used to filter out the Tags we want to read or reject. It possible that we can define a code and we only use Tags that that have our Facility Code that we have defined, but for now, we can safely ignore the first byte and only use the 3 ID Bytes.