LSM303 DLHC register meanings - really 16 bit?

I am playing with the LSM303 DLHC - saw several posts on that here.

I want to make sure I understand what the 16 bit register pairs really are. For example, the temperature registers (TempH / TempL).

If I use the algorithm in the LSM303-DLHC driver from ST, I read TempH and my code says the temperature is 26 - when TempH / TempL was 01h / 40h.

That suggests to me that TempH is the temperature in celcius - 25. So, what is TempL ? Is it the non-integer portion ? So, would TempH / TempL of 01h 40h really mean 26.4 degrees celcius ?

All the Acc / Mag registers really 16 bits (or is the lower byte value really only 4 bits) ?

Is it true that the BLE bit applies ONLY to the Accelerometer registers ?

Does the BDU bit apply to just the Accelerometer registers ?

Is it true the BDU bit applies to just a pair of axes registers, not all 6.

What does the high resolution HR bit controls ? I got several accelerometer and Magnometer readings with it set and not set - it did not seem to make any difference. Is it for both Acc and Mag ?

Thanks

Maybe the datasheet give some answers…

[url]http://www.st.com/web/en/resource/technical/document/datasheet/DM00027543.pdf?referrer=70032480[/url]

Typically any register value marked with a H and an L (like TempH/TempL) are going to be the high bits and the low bits of a single usable register value. So the H and L bits are mashed together to get a full word and the value comes from that full value, not treating them as two separate values. Page 39 of the datasheet tells you how you assemble the value from the two registers and how it is represented (thanks @ Lutz1 for finding it :slight_smile: )