new coding scheme to me - is it familiar to you?
Bits
Posts: 414
I am trying to figure out this coding scheme. I send the number 1..300 and I get two
Any idea what is going on? Thanks.
Any idea what is going on? Thanks.
Comments
To what are sending you sending the numbers?
[01] = 1
[02] = 2
[03] = 3
[04] = 4
[0A] = 10
[0B] = 11
[7D] = 125
[96] = 150
[AF] = 175
[C8] = 200
[E1] = 225
[FA] = 250
[FF] = 255
[2C] = 300
And here we see the number in brackets is the hexadecimal equivalent of the numbers on the right.
Except for [2C] which is only 44 in decimal.
But I note that 12C hex is 300 decimal. Are you sure that last entry [52 4C]?
..and the other numbers work out similarly. It's not ASCII, not EBCDIC. It's not carrying or indicating an overflow or a wrap around.
Ah I think you nailed it - I bet 255 is max and thus the oddity. Thanks everyone.
EDIT: Oh, I see that Heater already mentioned that "12C hex is 300 decimal". So it apears it's only encoding the 8 LSBs of the number.
Thanks all for the help
Yes, a Quasi-Hex encoding, but one that overlaps std hex Chars.
The sort of thing you might use if you were desperately short of space to unpack Std Hex , or if you wanted a (little) obfuscation, or maybe if you wanted to know it was your unit at the far end ?
I think the ancient UU64 was quite similar, only it used a 32d base adder, and allowed 6 bit binary fields.
{ We have looked at using an alias-hex scheme here in designs, where we 'duplicate' Hex, but safely away from std hex, to allow control messages to be added to a standard Hex stream. }
Does it never send anything apart from 40H..4FH ?
Intel hex uses the "':" as a block start indicator, and can skip CrLf, so I would check if this has other characters for block/control indicators.
SOLVED***