problem with bcd and a number
Ethan Furman
ethan at stoneleaf.us
Thu Aug 4 16:14:18 EDT 2011
MRAB wrote:
> On 04/08/2011 19:26, nephish wrote:
>> Hey all,
>>
>> I have been trying to get my head around how to do something, but i am
>> missing how to pull it off.
>> I am reading a packet from a radio over a serial port.
>>
>> i have " two bytes containing the value i need. The first byte is the
>> LSB, second is MSB. Both bytes are BCD-encoded, with the LSB
>> containing digits zX and MSB containing digits xy. The system speed
>> is then xyz%, where 100% means maximum speed and would be given by
>> bytes 00(LSB) 10(MSB)."
>>
>> that is a quote from the documentation.
>> Anyway, i am able to parse out the two bytes i need, but don't know
>> where to go from there.
>>
>> thanks for any tips on this.
>
> The value is MSB * 100 + (LSB >> 4) * 10 + (LSB & 0xF)
Not according to the docs -- msb has two digits, lsb has one and garbage.
~Ethan~
More information about the Python-list
mailing list