esp8266/modules: Fix negative temperature in ds18x20 driver.

This commit is contained in:
ernitron 2016-10-31 10:54:44 +01:00 committed by Damien George
parent 10bde6933e
commit e5f06559e6
1 changed files with 4 additions and 1 deletions

View File

@ -43,4 +43,7 @@ class DS18X20:
t = buf[0] >> 1
return t - 0.25 + (buf[7] - buf[6]) / buf[7]
else:
return (buf[1] << 8 | buf[0]) / 16
t = buf[1] << 8 | buf[0]
if t & 0x8000: # sign bit set
t = -((t ^ 0xffff) + 1)
return t / 16