161#define DRIVER_STS3X_LINK_INIT(HANDLE, STRUCTURE) memset(HANDLE, 0, sizeof(STRUCTURE))
169#define DRIVER_STS3X_LINK_IIC_INIT(HANDLE, FUC) (HANDLE)->iic_init = FUC
177#define DRIVER_STS3X_LINK_IIC_DEINIT(HANDLE, FUC) (HANDLE)->iic_deinit = FUC
185#define DRIVER_STS3X_LINK_IIC_READ_ADDRESS16(HANDLE, FUC) (HANDLE)->iic_read_address16 = FUC
193#define DRIVER_STS3X_LINK_IIC_WRITE_ADDRESS16(HANDLE, FUC) (HANDLE)->iic_write_address16 = FUC
201#define DRIVER_STS3X_LINK_DELAY_MS(HANDLE, FUC) (HANDLE)->delay_ms = FUC
209#define DRIVER_STS3X_LINK_DEBUG_PRINT(HANDLE, FUC) (HANDLE)->debug_print = FUC
294 uint16_t *temperature_raw,
float *temperature_s);
uint8_t sts3x_set_addr_pin(sts3x_handle_t *handle, sts3x_address_t addr_pin)
set the iic address pin
uint8_t sts3x_get_repeatability(sts3x_handle_t *handle, sts3x_repeatability_t *repeatability)
get the measurement repeatability
uint8_t sts3x_clear_status(sts3x_handle_t *handle)
clear the current status
sts3x_address_t
sts3x address enumeration definition
uint8_t sts3x_set_repeatability(sts3x_handle_t *handle, sts3x_repeatability_t repeatability)
set the measurement repeatability
sts3x_rate_t
sts3x rate enumeration definition
sts3x_status_t
sts3x status enumeration definition
uint8_t sts3x_continuous_read(sts3x_handle_t *handle, uint16_t *temperature_raw, float *temperature_s)
read data continuously
uint8_t sts3x_soft_reset(sts3x_handle_t *handle)
soft reset the chip
uint8_t sts3x_info(sts3x_info_t *info)
get chip's information
struct sts3x_handle_s sts3x_handle_t
sts3x handle structure definition
uint8_t sts3x_start_continuous_read(sts3x_handle_t *handle, sts3x_rate_t rate)
start reading
uint8_t sts3x_get_addr_pin(sts3x_handle_t *handle, sts3x_address_t *addr_pin)
get the iic address pin
uint8_t sts3x_init(sts3x_handle_t *handle)
initialize the chip
struct sts3x_info_s sts3x_info_t
sts3x information structure definition
uint8_t sts3x_set_heater(sts3x_handle_t *handle, sts3x_bool_t enable)
enable or disable the chip heater
sts3x_repeatability_t
sts3x repeatability enumeration definition
uint8_t sts3x_get_status(sts3x_handle_t *handle, uint16_t *status)
get the current status
uint8_t sts3x_stop_continuous_read(sts3x_handle_t *handle)
stop reading
uint8_t sts3x_deinit(sts3x_handle_t *handle)
close the chip
uint8_t sts3x_single_read(sts3x_handle_t *handle, sts3x_bool_t clock_stretching_enable, uint16_t *temperature_raw, float *temperature_s)
read data once
sts3x_bool_t
sts3x bool enumeration definition
@ STS3X_STATUS_CHECKSUM_STATUS
@ STS3X_STATUS_ALERT_PENDING_STATUS
@ STS3X_STATUS_SYSTEM_RESET
@ STS3X_STATUS_TEMPERATURE_ALERT
@ STS3X_STATUS_COMMAND_STATUS
@ STS3X_REPEATABILITY_HIGH
@ STS3X_REPEATABILITY_MEDIUM
@ STS3X_REPEATABILITY_LOW
uint8_t sts3x_set_reg(sts3x_handle_t *handle, uint16_t command)
set the chip register
uint8_t sts3x_get_reg(sts3x_handle_t *handle, uint16_t command, uint8_t *buf, uint16_t len)
get the chip register
sts3x handle structure definition
void(* delay_ms)(uint32_t ms)
uint8_t(* iic_read_address16)(uint8_t addr, uint16_t reg, uint8_t *buf, uint16_t len)
void(* debug_print)(const char *const fmt,...)
uint8_t(* iic_init)(void)
uint8_t(* iic_write_address16)(uint8_t addr, uint16_t reg, uint8_t *buf, uint16_t len)
uint8_t(* iic_deinit)(void)
sts3x information structure definition
float supply_voltage_max_v
char manufacturer_name[32]
float supply_voltage_min_v