LibDriver HTU31D
Loading...
Searching...
No Matches
driver_htu31d_basic.c
Go to the documentation of this file.
1
36
37#include "driver_htu31d_basic.h"
38
39static htu31d_handle_t gs_handle;
40
50{
51 uint8_t res;
52
53 /* link functions */
61
62 /* set addr pin */
63 res = htu31d_set_addr_pin(&gs_handle, addr_pin);
64 if (res != 0)
65 {
66 htu31d_interface_debug_print("htu31d: set addr pin failed.\n");
67
68 return 1;
69 }
70
71 /* htu31d init */
72 res = htu31d_init(&gs_handle);
73 if (res != 0)
74 {
75 htu31d_interface_debug_print("htu31d: init failed.\n");
76
77 return 1;
78 }
79
80 /* set default humidity osr */
82 if (res != 0)
83 {
84 htu31d_interface_debug_print("htu31d: set humidity osr failed.\n");
85 (void)htu31d_deinit(&gs_handle);
86
87 return 1;
88 }
89
90 /* set default temperature osr */
92 if (res != 0)
93 {
94 htu31d_interface_debug_print("htu31d: set temperature osr failed.\n");
95 (void)htu31d_deinit(&gs_handle);
96
97 return 1;
98 }
99
100 /* set heater off */
101 res = htu31d_set_heater_off(&gs_handle);
102 if (res != 0)
103 {
104 htu31d_interface_debug_print("htu31d: set heater off failed.\n");
105 (void)htu31d_deinit(&gs_handle);
106
107 return 1;
108 }
109
110 return 0;
111}
112
122uint8_t htu31d_basic_read(float *temperature, float *humidity)
123{
124 uint16_t temperature_raw;
125 uint16_t humidity_raw;
126
127 /* read data */
128 if (htu31d_read_temperature_humidity(&gs_handle, (uint16_t *)&temperature_raw, temperature,
129 (uint16_t *)&humidity_raw, humidity) != 0)
130 {
131 return 1;
132 }
133
134 return 0;
135}
136
145{
146 /* close htu31d */
147 if (htu31d_deinit(&gs_handle) != 0)
148 {
149 return 1;
150 }
151
152 return 0;
153}
154
163uint8_t htu31d_basic_get_serial_number(uint8_t number[3])
164{
165 /* get the serial number */
166 if (htu31d_get_serial_number(&gs_handle, number) != 0)
167 {
168 return 1;
169 }
170
171 return 0;
172}
driver htu31d basic header file
uint8_t htu31d_set_addr_pin(htu31d_handle_t *handle, htu31d_addr_pin_t addr_pin)
set the address pin
uint8_t htu31d_get_serial_number(htu31d_handle_t *handle, uint8_t number[3])
get the serial number
uint8_t htu31d_deinit(htu31d_handle_t *handle)
close the chip
htu31d_addr_pin_t
htu31d addr pin enumeration definition
uint8_t htu31d_init(htu31d_handle_t *handle)
initialize the chip
uint8_t htu31d_set_heater_off(htu31d_handle_t *handle)
disable heater
uint8_t htu31d_read_temperature_humidity(htu31d_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 htu31d_set_temperature_osr(htu31d_handle_t *handle, htu31d_temperature_osr_t osr)
set temperature osr
struct htu31d_handle_s htu31d_handle_t
htu31d handle structure definition
uint8_t htu31d_set_humidity_osr(htu31d_handle_t *handle, htu31d_humidity_osr_t osr)
set humidity osr
uint8_t htu31d_basic_get_serial_number(uint8_t number[3])
basic example get the serial number
uint8_t htu31d_basic_read(float *temperature, float *humidity)
basic example read
#define HTU21D_BASIC_DEFAULT_HUMIDITY_OSR
htu31d basic example default definition
uint8_t htu31d_basic_init(htu31d_addr_pin_t addr_pin)
basic example init
#define HTU21D_BASIC_DEFAULT_TEMPERATURE_OSR
uint8_t htu31d_basic_deinit(void)
basic example deinit
uint8_t htu31d_interface_iic_deinit(void)
interface iic bus deinit
uint8_t htu31d_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
void htu31d_interface_debug_print(const char *const fmt,...)
interface print format data
uint8_t htu31d_interface_iic_init(void)
interface iic bus init
void htu31d_interface_delay_ms(uint32_t ms)
interface delay ms
uint8_t htu31d_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read