bh1900nux - Driver for BH1900NUX temperature sensor
- group bh1900nux
ESP-IDF driver for BH1900NUX temperature sensor.
Copyright (c) 2021 Ruslan V. Uss unclerus@gmail.com
BSD Licensed as described in the file LICENSE
Defines
-
BH1900NUX_I2C_ADDR_BASE
See full list in datasheet.
Enums
-
enum bh1900nux_fault_queue_t
Fault queue size.
Values:
-
enumerator BH1900NUX_FAULTS_1
1 fault to trigger ALERT pin
-
enumerator BH1900NUX_FAULTS_2
2 faults to trigger ALERT pin
-
enumerator BH1900NUX_FAULTS_4
4 faults to trigger ALERT pin
-
enumerator BH1900NUX_FAULTS_6
6 faults to trigger ALERT pin
-
enumerator BH1900NUX_FAULTS_1
-
enum bh1900nux_alert_polarity_t
ALERT pin polarity.
Values:
-
enumerator BH1900NUX_ALERT_LOW
ALERT active low (default)
-
enumerator BH1900NUX_ALERT_HIGH
ALERT active high.
-
enumerator BH1900NUX_ALERT_LOW
-
enum bh1900nux_mode_t
Device operating mode.
Values:
-
enumerator BH1900NUX_MODE_CONTINUOUS
Continuous measurement mode (default)
-
enumerator BH1900NUX_MODE_SHUTDOWN
Shutdown mode.
-
enumerator BH1900NUX_MODE_CONTINUOUS
-
enum bh1900nux_wait_time_t
Delay between measurements in continuous mode.
Values:
-
enumerator BH1900NUX_WT_0
186240 * 16 / 450000 ~ 6.622s (Fosc = 450kHz)
-
enumerator BH1900NUX_WT_1
186240 * 4 / 450000 ~ 1.655s (Fosc = 450kHz)
-
enumerator BH1900NUX_WT_2
186240 / 450000 ~ 0.414s (Fosc = 450kHz)
-
enumerator BH1900NUX_WT_3
93120 / 450000 ~ 0.207s (Fosc = 450kHz)
-
enumerator BH1900NUX_WT_0
Functions
-
esp_err_t bh1900nux_init_desc(bh1900nux_t *dev, uint8_t addr, i2c_port_t port, gpio_num_t sda_gpio, gpio_num_t scl_gpio)
Initialize device descriptor.
- Parameters:
dev – Device descriptor
port – I2C port number
addr – I2C address
sda_gpio – SDA GPIO
scl_gpio – SCL GPIO
- Returns:
ESP_OK
on success
-
esp_err_t bh1900nux_free_desc(bh1900nux_t *dev)
Free device descriptor.
- Parameters:
dev – Device descriptor
- Returns:
ESP_OK
on success
-
esp_err_t bh1900nux_reset(bh1900nux_t *dev)
Software reset.
- Parameters:
dev – Device descriptor
- Returns:
ESP_OK
on success
-
esp_err_t bh1900nux_set_mode(bh1900nux_t *dev, bh1900nux_mode_t mode)
Set device operating mode.
- Parameters:
dev – Device descriptor
mode – Operating mode
- Returns:
ESP_OK
on success
-
esp_err_t bh1900nux_get_config(bh1900nux_t *dev, bh1900nux_wait_time_t *wt, bh1900nux_fault_queue_t *fq, bh1900nux_alert_polarity_t *ap)
Read current device config.
- Parameters:
dev – Device descriptor
wt – [out] Delay between measurements
fq – [out] Fault queue size
ap – [out] ALERT pin polarity
- Returns:
ESP_OK
on success
-
esp_err_t bh1900nux_set_config(bh1900nux_t *dev, bh1900nux_wait_time_t wt, bh1900nux_fault_queue_t fq, bh1900nux_alert_polarity_t ap)
Configure device.
- Parameters:
dev – Device descriptor
wt – Delay between measurements
fq – Fault queue size
ap – ALERT pin polarity
- Returns:
ESP_OK
on success
-
esp_err_t bh1900nux_one_shot(bh1900nux_t *dev, float *temp)
Made a single-shot measurement.
Works only when device is in shutdown mode.
- Parameters:
dev – Device descriptor
temp – [out] Temperature, deg.C
- Returns:
ESP_OK
on success
-
esp_err_t bh1900nux_get_temperature(bh1900nux_t *dev, float *temp)
Read temperature register.
- Parameters:
dev – Device descriptor
temp – [out] Temperature, deg.C
- Returns:
ESP_OK
on success
-
esp_err_t bh1900nux_get_t_low(bh1900nux_t *dev, float *temp)
Read lower temperature limit register.
- Parameters:
dev – Device descriptor
temp – [out] Temperature, deg.C
- Returns:
ESP_OK
on success
-
esp_err_t bh1900nux_set_t_low(bh1900nux_t *dev, float temp)
Write lower temperature limit register.
- Parameters:
dev – Device descriptor
temp – Temperature, deg.C
- Returns:
ESP_OK
on success
-
esp_err_t bh1900nux_get_t_high(bh1900nux_t *dev, float *temp)
Read higher temperature limit register.
- Parameters:
dev – Device descriptor
temp – [out] Temperature, deg.C
- Returns:
ESP_OK
on success
-
esp_err_t bh1900nux_set_t_high(bh1900nux_t *dev, float temp)
Write higher temperature limit register.
- Parameters:
dev – Device descriptor
temp – Temperature, deg.C
- Returns:
ESP_OK
on success
-
struct bh1900nux_t
- #include <bh1900nux.h>
Device descriptor.
-
BH1900NUX_I2C_ADDR_BASE