LibDriver HTU21D
Loading...
Searching...
No Matches
driver_htu21d_basic.c
Go to the documentation of this file.
1
36
37#include "driver_htu21d_basic.h"
38
39static htu21d_handle_t gs_handle;
40
48uint8_t htu21d_basic_init(void)
49{
50 uint8_t res;
51
52 /* link functions */
63
64 /* htu21d init */
65 res = htu21d_init(&gs_handle);
66 if (res != 0)
67 {
68 htu21d_interface_debug_print("htu21d: init failed.\n");
69
70 return 1;
71 }
72
73 /* set default mode */
75 if (res != 0)
76 {
77 htu21d_interface_debug_print("htu21d: set mode failed.\n");
78 (void)htu21d_deinit(&gs_handle);
79
80 return 1;
81 }
82
83 /* set default resolution */
85 if (res != 0)
86 {
87 htu21d_interface_debug_print("htu21d: set resolution failed.\n");
88 (void)htu21d_deinit(&gs_handle);
89
90 return 1;
91 }
92
93 /* set default heater */
95 if (res != 0)
96 {
97 htu21d_interface_debug_print("htu21d: set heater failed.\n");
98 (void)htu21d_deinit(&gs_handle);
99
100 return 1;
101 }
102
103 /* set default otp reload */
105 if (res != 0)
106 {
107 htu21d_interface_debug_print("htu21d: set disable otp reload failed.\n");
108 (void)htu21d_deinit(&gs_handle);
109
110 return 1;
111 }
112
113 return 0;
114}
115
125uint8_t htu21d_basic_read(float *temperature, float *humidity)
126{
127 uint16_t temperature_raw;
128 uint16_t humidity_raw;
129
130 /* read data */
131 if (htu21d_read_temperature_humidity(&gs_handle, (uint16_t *)&temperature_raw, temperature,
132 (uint16_t *)&humidity_raw, humidity) != 0)
133 {
134 return 1;
135 }
136 else
137 {
138 return 0;
139 }
140}
141
150{
151 /* close htu21d */
152 if (htu21d_deinit(&gs_handle) != 0)
153 {
154 return 1;
155 }
156 else
157 {
158 return 0;
159 }
160}
161
170uint8_t htu21d_basic_get_serial_number(uint64_t *number)
171{
172 /* get the serial number */
173 if (htu21d_get_serial_number(&gs_handle, number) != 0)
174 {
175 return 1;
176 }
177 else
178 {
179 return 0;
180 }
181}
driver htu21d basic header file
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_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
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_get_serial_number(htu21d_handle_t *handle, uint64_t *number)
get the serial number
uint8_t htu21d_deinit(htu21d_handle_t *handle)
close the chip
#define HTU21D_BASIC_DEFAULT_RESOLUTION
uint8_t htu21d_basic_read(float *temperature, float *humidity)
basic example read
#define HTU21D_BASIC_DEFAULT_OTP_RELOAD
uint8_t htu21d_basic_get_serial_number(uint64_t *number)
basic example get the serial number
uint8_t htu21d_basic_init(void)
basic example init
#define HTU21D_BASIC_DEFAULT_HEATER
#define HTU21D_BASIC_DEFAULT_MODE
htu21d basic example default definition
uint8_t htu21d_basic_deinit(void)
basic example deinit
uint8_t htu21d_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
uint8_t htu21d_interface_iic_write_cmd(uint8_t addr, uint8_t *buf, uint16_t len)
interface iic bus write command
uint8_t htu21d_interface_iic_init(void)
interface iic bus init
uint8_t htu21d_interface_iic_read_cmd(uint8_t addr, uint8_t *buf, uint16_t len)
interface iic bus read command
uint8_t htu21d_interface_iic_deinit(void)
interface iic bus deinit
uint8_t htu21d_interface_iic_read_with_scl(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read with scl clock
uint8_t htu21d_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read
void htu21d_interface_debug_print(const char *const fmt,...)
interface print format data
void htu21d_interface_delay_ms(uint32_t ms)
interface delay ms