Re: W1: w1_slave units, standardize 1C or .001C? Break API

From: H. Peter Anvin
Date: Tue Jan 22 2008 - 23:25:40 EST


David Fries wrote:
On Mon, Jan 21, 2008 at 07:11:07PM -0800, H. Peter Anvin wrote:
H. Peter Anvin wrote:
Millikelvins would have the nice property of never being negative. :)

True, but the sensor returns the value as a signed integer in C. That
is where the earlier negative number problem was, it would have to do
yet another conversion to go to Kelvin, and it would be just one more
potential for error. Everyone knows that a bad conversion doomed at
least one space craft, let's stick to Centigrade.


Uhm... the conversion is exact as long as you have at least centikelvin precision (0 °C = 273.15 K by definition, and the multiplier is 1.)

Alternatively, centikelvins would fit nicely in 16 bits if anyone cares...

655.35 K = 382.20 °C = 719.96 °F

The range for the sensor is -55 to 125 C, if an application didn't
care about precision they could store it in a signed 8 bit value just
fine.

This was more a comment as to it possibly being a convenient format for more than this particular sensor.

The nice thing with kelvins is no need to worry about negative numbers and something misparsing them, that's all.

I certainly did not imply that we should even consider use °F. That's obviously ridiculous.

-hpa

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/