def get_humidity(self): """Reads the humidity from the sensor. This call blocks for 250ms to allow the sensor to return the data""" self.transaction( writing_bytes(self._I2C_ADDRESS, self._CMD_HUMIDITY_NO_HOLD)) time.sleep(0.250) data = self.transaction(reading(self._I2C_ADDRESS, 3))[0] if _calculate_checksum(data, 2) != data[2]: raise ChecksumFailedError("Humidity checksum failed.") else: return _get_humidity_from_buffer(data)
def get_temperature(self): """Reads the temperature from the sensor. This call blocks for 250ms to allow the sensor to return the data. """ self.transaction( writing_bytes(self._I2C_ADDRESS, self._CMD_TEMPERATURE_NO_HOLD)) time.sleep(0.250) data = self.transaction(reading(self._I2C_ADDRESS, 3))[0] if _calculate_checksum(data, 2) != data[2]: raise ChecksumFailedError("Temperature checksum failed.") else: return _get_temperature_from_buffer(data)
def set(self, v): self.i2c_master.transaction( writing_bytes(self.device_address, self.register_address, v))
def reset(self): """Resets the SHT12.""" self.transaction( writing_bytes(self._I2C_ADDRESS, self._CMD_SOFTRESET)) time.sleep(0.050)
def send_data(self, *data): # co = 0 # dc = 1 # control = (co << 7) | (dc << 6) control = 0x40 self.transaction(writing_bytes(I2C_ADDR, control, *data))
def send_command(self, *cmd): # co = 0 # dc = 0 # control = (co << 7) | (dc << 6) control = 0x00 self.transaction(writing_bytes(I2C_ADDR, control, *cmd))
def reset(self): """Resets the SHT12.""" self.transaction(writing_bytes(self._I2C_ADDRESS, self._CMD_SOFTRESET)) time.sleep(0.050)
def _send_data(self, *cmd): # co = 0 # dc = 1 # control = (co << 7) | (dc << 6) control = 0x40 self.transaction(writing_bytes(I2C_ADDR, control, *cmd))
def _send_command(self, *cmd): # co = 0 # dc = 0 # control = (co << 7) | (dc << 6) control = 0x00 self.transaction(writing_bytes(I2C_ADDR, control, *cmd))