The DS18S20 has only 1 fractional bit whereas DS18B20 has 4, and their
temperature register alignment differs. Check the family code to choose
the correct multiplier for both devices.
Closes#610
Negative temperatures (less than 0°C) are returned as a sign-extended
two's complement number. Subtract 0x10000 to recover the proper
negative value.
Signed-off-by: Nick Andrew <nick@nick-andrew.net>
Hi,
because of the new floating point API, the old ds18b20 code returns strange values like "19.8250.8250".
This change fixes that.
Best regards,
Tobias