I'm also not convinced of the ID encoding, because it is not logical. Decimal 10 has been added to the first three numbers (O, 1, 2), presumably to keep them from having too many zeros in binary. But 4 and 8 are anomalies; 4 has 9 added to it, and 8 has 6 added to it. Makes no sense.My bad, there's 12 or 13 available, everything following the ID until the 4 battery bits is fair game
ADDED: it actually DOES make some sense to recode 4 and 8, because otherwise the 4-bit nibble would have 3 zeros in it. The smallest number available for 4 to become is 13 (hence, add 9), and the next fake number if 14, so 8 gets 6 added to it. So the logic is:
IF DIGIT <3, add 10
IF DIGIT =4, add 9
IF DIGIT =8, add 6