ST HTS221 digital Humidity Sensor

Driver for the ST HTS221 digital Humidity Sensor.

This driver provides [S]ensor [A]ctuator [U]ber [L]ayer capabilities.

enum @123
HTS221_OK = 0
HTS221_ERROR
HTS221_NOBUS
HTS221_NODEV
int hts221_init(hts221_t * dev, const hts221_params_t * params)

Initialize the given HTS221 device.

Parameters

dev:device descriptor of sensor to initialize
params:configuration parameters

Return values

  • HTS221_OK on success
  • HTS221_NOBUS if initialization of I2C bus fails
  • HTS221_NODEV if no HTS221 device found on bus
int hts221_reboot(const hts221_t * dev)

Reboot device and reload base configuration.

Parameters

dev:device descriptor of sensor

Return values

  • 0 on success, or error otherwise
int hts221_one_shot(const hts221_t * dev)

Set device to one shot measurement.

Parameters

dev:device descriptor of sensor

Return values

  • 0 on success, or error otherwise
int hts221_set_rate(const hts221_t * dev, const uint8_t rate)

Set device to continuous measurements.

Parameters

dev:device descriptor of sensor
rate:conversion rate for continuous mode

Return values

  • 0 on success, or error otherwise
int hts221_power_on(const hts221_t * dev)

Set device to active.

Parameters

dev:device descriptor of sensor

Return values

  • 0 on success, or error otherwise
int hts221_power_off(const hts221_t * dev)

Set device to power down.

Parameters

dev:device descriptor of sensor

Return values

  • 0 on success, or error otherwise
int hts221_get_state(const hts221_t * dev)

Set device to power down.

Parameters

dev:device descriptor of sensor

Return values

  • >=0 on success
  • -HTS221_NOBUS on error
int hts221_read_humidity(const hts221_t * dev, uint16_t * val)

Reading humidity and temperature.

Parameters

dev:device descriptor of sensor
val:humidity [in 10 * percent relative]

Return values

  • 0 on success, or error otherwise
int hts221_read_temperature(const hts221_t * dev, int16_t * val)

Reading humidity and temperature.

Parameters

dev:device descriptor of sensor
val:temperature [in 100 * degree centigrade]

Return values

  • 0 on success, or error otherwise
HTS221_I2C_ADDRESS

Default I2C bus address (7 Bit) of HTS221 devices.

1
(0x5F)
struct hts221_params_t

Parameters needed for device initialization.

i2c.h::i2c_t i2c

bus the device is connected to

uint8_t addr

address on that bus

uint8_t avgx

average sampling of humidity and temperature

uint8_t rate

output data rate

struct hts221_t

Device descriptor for HTS221 sensors.

hts221_params_t p

Configuration parameters.

int16_t h0_rh

lower humitidy reference

int16_t h1_rh

upper humitidy reference

int16_t h0_t0_out

lower humitidy to temperature reference

int16_t h1_t0_out

upper humitidy to temperature reference

int16_t t0_degc

lower temperature reference in degC

int16_t t1_degc

upper temperature reference in degC

int16_t t0_out

lower temperature reference raw value

int16_t t1_out

upper temperature reference raw value