sts21 - Driver for Driver for STS21 temperature sensor

group sts21

ESP-IDF driver for humidty/temperature sensors sts2110/sts2115/sts2120.

Copyright (c) 2021 Ruslan V. Uss unclerus@gmail.com

BSD Licensed as described in the file LICENSE

Enums

enum sts21_resolution_t

Measurement resolutions.

Values:

enumerator STS21_RESOLUTION_14

14 bits, <= 85 ms, default

enumerator STS21_RESOLUTION_13

13 bits, <= 43 ms

enumerator STS21_RESOLUTION_12

12 bits, <= 22 ms

enumerator STS21_RESOLUTION_11

11 bits, <= 11 ms

Functions

esp_err_t sts21_init_desc(sts21_t *dev, i2c_port_t port, gpio_num_t sda_gpio, gpio_num_t scl_gpio)

Initialize device descriptor.

Parameters
  • dev – Device descriptor

  • addr – Device I2C address

  • port – I2C port

  • sda_gpio – SDA GPIO

  • scl_gpio – SCL GPIO

Returns

ESP_OK on success

esp_err_t sts21_free_desc(sts21_t *dev)

Free device descriptor.

Parameters

dev – Device descriptor

Returns

ESP_OK on success

esp_err_t sts21_init(sts21_t *dev)

Init device.

Perform soft-reset, set resolution to 14 bits, switch off the heater.

Parameters

dev – Device descriptor

Returns

ESP_OK on success

esp_err_t sts21_get_resolution(sts21_t *dev, sts21_resolution_t *res)

Get measurement resolution.

Parameters
  • dev – Device descriptor

  • res[out] Measurement resolution

Returns

ESP_OK on success

esp_err_t sts21_set_resolution(sts21_t *dev, sts21_resolution_t res)

Set measurement resolution.

Parameters
  • dev – Device descriptor

  • res – Measurement resolution

Returns

ESP_OK on success

esp_err_t sts21_get_heater_state(sts21_t *dev, bool *on)

Get heater state.

Parameters
  • dev – Device descriptor

  • on[out] true when heater is on

Returns

ESP_OK on success

esp_err_t sts21_set_heater_state(sts21_t *dev, bool on)

Switch heater on/off.

Parameters
  • dev – Device descriptor

  • on – true to switch heater on

Returns

ESP_OK on success

esp_err_t sts21_get_power_alert(sts21_t *dev, bool *alert)

Get power state.

Parameters
  • dev – Device descriptor

  • alert[out] true when power voltage < 2.25V

Returns

ESP_OK on success

esp_err_t sts21_is_busy(sts21_t *dev, bool *busy)

Get measurement status.

Parameters
  • dev – Device descriptor

  • busy[out] true when device performs measurement

Returns

ESP_OK on success

esp_err_t sts21_trigger_measurement(sts21_t *dev)

Trigger measurement.

Before reading the measurement result, you must wait a time depending on the resolution or use sts21_is_busy() function

Parameters

dev – Device descriptor

Returns

ESP_OK on success

esp_err_t sts21_read_temperature(sts21_t *dev, float *t)

Read measurement result.

Parameters
  • dev – Device descriptor

  • t[out] Temperature in degrees Celsius

Returns

ESP_OK on success

esp_err_t sts21_measure(sts21_t *dev, float *t)

Measure temperature and read result.

The function combines function sts21_trigger_measurement() and function sts21_read_temperature() to get the measurement results.

Parameters
  • dev – Device descriptor

  • t[out] Temperature in degrees Celsius

Returns

ESP_OK on success

struct sts21_t
#include <sts21.h>

Device descriptor.