37#ifndef DRIVER_HTU21D_H
38#define DRIVER_HTU21D_H
106 uint8_t (*
iic_write)(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len);
107 uint8_t (*
iic_read)(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len);
149#define DRIVER_HTU21D_LINK_INIT(HANDLE, STRUCTURE) memset(HANDLE, 0, sizeof(STRUCTURE))
157#define DRIVER_HTU21D_LINK_IIC_INIT(HANDLE, FUC) (HANDLE)->iic_init = FUC
165#define DRIVER_HTU21D_LINK_IIC_DEINIT(HANDLE, FUC) (HANDLE)->iic_deinit = FUC
173#define DRIVER_HTU21D_LINK_IIC_WRITE_CMD(HANDLE, FUC) (HANDLE)->iic_write_cmd = FUC
181#define DRIVER_HTU21D_LINK_IIC_READ_CMD(HANDLE, FUC) (HANDLE)->iic_read_cmd = FUC
189#define DRIVER_HTU21D_LINK_IIC_WRITE(HANDLE, FUC) (HANDLE)->iic_write = FUC
197#define DRIVER_HTU21D_LINK_IIC_READ(HANDLE, FUC) (HANDLE)->iic_read = FUC
205#define DRIVER_HTU21D_LINK_IIC_READ_WITH_SCL(HANDLE, FUC) (HANDLE)->iic_read_with_scl = FUC
213#define DRIVER_HTU21D_LINK_DELAY_MS(HANDLE, FUC) (HANDLE)->delay_ms = FUC
221#define DRIVER_HTU21D_LINK_DEBUG_PRINT(HANDLE, FUC) (HANDLE)->debug_print = FUC
326 uint16_t *temperature_raw,
float *temperature_s,
327 uint16_t *humidity_raw,
float *humidity_s
uint8_t htu21d_get_disable_otp_reload(htu21d_handle_t *handle, htu21d_bool_t *enable)
get the disable otp reload status
uint8_t htu21d_set_disable_otp_reload(htu21d_handle_t *handle, htu21d_bool_t enable)
enable or disable otp reload
uint8_t htu21d_read_temperature_humidity(htu21d_handle_t *handle, uint16_t *temperature_raw, float *temperature_s, uint16_t *humidity_raw, float *humidity_s)
read the temperature and humidity data
uint8_t htu21d_get_heater(htu21d_handle_t *handle, htu21d_bool_t *enable)
get the heater status
uint8_t htu21d_soft_reset(htu21d_handle_t *handle)
soft reset
uint8_t htu21d_get_resolution(htu21d_handle_t *handle, htu21d_resolution_t *resolution)
get the resolution
uint8_t htu21d_info(htu21d_info_t *info)
get chip's information
uint8_t htu21d_set_mode(htu21d_handle_t *handle, htu21d_mode_t mode)
set the chip mode
uint8_t htu21d_init(htu21d_handle_t *handle)
initialize the chip
htu21d_resolution_t
htu21d resolution enumeration definition
htu21d_mode_t
htu21d mode enumeration definition
uint8_t htu21d_set_resolution(htu21d_handle_t *handle, htu21d_resolution_t resolution)
set the resolution
uint8_t htu21d_set_heater(htu21d_handle_t *handle, htu21d_bool_t enable)
enable or disable the heater
struct htu21d_handle_s htu21d_handle_t
htu21d handle structure definition
uint8_t htu21d_read_temperature(htu21d_handle_t *handle, uint16_t *temperature_raw, float *temperature_s)
read the temperature data
struct htu21d_info_s htu21d_info_t
htu21d information structure definition
uint8_t htu21d_get_mode(htu21d_handle_t *handle, htu21d_mode_t *mode)
get the chip mode
uint8_t htu21d_get_serial_number(htu21d_handle_t *handle, uint64_t *number)
get the serial number
uint8_t htu21d_get_battery_status(htu21d_handle_t *handle, htu21d_status_t *status)
get the battery status
uint8_t htu21d_read_humidity(htu21d_handle_t *handle, uint16_t *humidity_raw, float *humidity_s)
read the humidity data
htu21d_status_t
htu21d status enumeration definition
htu21d_bool_t
htu21d bool enumeration definition
uint8_t htu21d_deinit(htu21d_handle_t *handle)
close the chip
@ HTU21D_RESOLUTION_TEMP_13_BITS_RH_10_BITS
@ HTU21D_RESOLUTION_TEMP_14_BITS_RH_12_BITS
@ HTU21D_RESOLUTION_TEMP_12_BITS_RH_8_BITS
@ HTU21D_RESOLUTION_TEMP_11_BITS_RH_11_BITS
@ HTU21D_MODE_HOLD_MASTER
@ HTU21D_MODE_NO_HOLD_MASTER
@ HTU21D_STATUS_LESS_2P25
@ HTU21D_STATUS_OVER_2P25
uint8_t htu21d_get_reg(htu21d_handle_t *handle, uint8_t *buf, uint16_t len)
get the chip register
uint8_t htu21d_set_reg(htu21d_handle_t *handle, uint8_t *buf, uint16_t len)
set the chip register
htu21d handle structure definition
void(* delay_ms)(uint32_t ms)
uint8_t(* iic_read_with_scl)(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
void(* debug_print)(const char *const fmt,...)
uint8_t(* iic_init)(void)
uint8_t(* iic_read_cmd)(uint8_t addr, uint8_t *buf, uint16_t len)
uint8_t(* iic_write)(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
uint8_t(* iic_read)(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
uint8_t(* iic_deinit)(void)
uint8_t(* iic_write_cmd)(uint8_t addr, uint8_t *buf, uint16_t len)
htu21d information structure definition
float supply_voltage_max_v
char manufacturer_name[32]
float supply_voltage_min_v