29 CMD_READ_TEMP_HOLD = 0xe3
30 CMD_READ_HUM_HOLD = 0xe5
31 CMD_READ_TEMP_NOHOLD = 0xf3
32 CMD_READ_HUM_NOHOLD = 0xf5
33 CMD_WRITE_USER_REG = 0xe6
34 CMD_READ_USER_REG = 0xe7
49 (12, 14): (.018, .055),
50 (8, 12): (.005, .015),
51 (10, 13): (.006, .028),
52 (11, 11): (.01, .009),
56 I2C.__init__(self, 0x40)
62 return "HTU21D(slave=0x%02X)" % self.
slave
65 return [Temperature.__family__(self), Humidity.__family__(self)]
68 message_from_sensor = sensor_val >> 8
69 check_value_from_sensor = sensor_val & 0x0000FF
71 remainder = message_from_sensor << 8
72 remainder |= check_value_from_sensor
79 if remainder & (1<<(23 - i)):
97 return self.
RESOLUTIONS[user_reg >> 6, user_reg & 0x1]
103 raw_temp = int.from_bytes(results, byteorder=
"big")
106 results[1] = results[1] & 0xFC
107 raw_temp = int.from_bytes(results, byteorder=
"big")
108 return -46.85 + (175.72 * ((raw_temp >> 8) / float(2**16)))
112 time.sleep(self.rh_timing)
114 raw_hum = int.from_bytes(results, byteorder=
"big")
117 results[1] = results[1] & 0xFC
118 raw_hum = int.from_bytes(results, byteorder=
"big")
119 return -6 + (125 * ((raw_hum >> 8) / float(2**16)))
125 return RHactualT + (25 - Tactual)*CoeffTemp
def get_comp_rel_humidity