[][src]Crate hts221

I2C interface to the HTS221.

This is a high-level API that provides functions to read humidity and temperature values from the chip, using a blocking I2C communication protocol.

The API is divided into two portions, the device module, which provides low-level access to the device registers, and the top-level module, which provides high level access. If you only need to read the temperature or humidity from the device, and do not need fine-grained control (such as disabling the device to save power), you can use a Builder to create a fully-configured HTS221 structure, then read the temperature and humidity as needed.

let mut hts221 = hts221::Builder::new()
    .with_data_rate(hts221::DataRate::Continuous1Hz)
    // other configuration...
    .build(&mut i2c)?;
let humidity = hts221.humidity_x2(&mut i2c)? / 2;
let temperature = hts221.temperature_x8(&mut i2c)? / 8;

The humidity and temperature values are provided in 16-bit fixed point notation, in the resolution provided by the chip. Humidity is provided in half-percentage points, and is clamped to between 0% and 100% (i.e., 0 to 200). Temperature is provided in one-eighth degrees Celsius, and is clamped to between -40° C and 120° C (i.e., -320 and 960).

Modules

device

I2C interface to the HTS221.

Structs

Builder

Builder for an HTS221 structure. This builder allows you to configure the chip without needing to access the device module.

HTS221

Interface for the chip.

Enums

AvgH

Values for humidity configuration. Selects the number of internal humidity samples averaged into one sample.

AvgT

Values for temperature configuration. Selects the number of internal temperature samples averaged into one sample.

DataRate

Values of the output data rate.

PinMode

Options for the data ready pin output mode.

Polarity

Polarity options for the data-ready signal. Value is the polarity of the signal when data is ready.

UpdateMode

Values for block-update mode.