problem with bcd and a number

MRAB python at
Thu Aug 4 21:35:18 CEST 2011

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)

More information about the Python-list mailing list