LibDriver SHT30
Loading...
Searching...
No Matches
driver_sht30_basic.c
Go to the documentation of this file.
1
37
38#include "driver_sht30_basic.h"
39
40static sht30_handle_t gs_handle;
41
51{
52 uint8_t res;
53
54 /* link functions */
63
64 /* set addr pin */
65 res = sht30_set_addr_pin(&gs_handle, addr_pin);
66 if (res != 0)
67 {
68 sht30_interface_debug_print("sht30: set addr pin failed.\n");
69
70 return 1;
71 }
72
73 /* sht30 init */
74 res = sht30_init(&gs_handle);
75 if (res != 0)
76 {
77 sht30_interface_debug_print("sht30: init failed.\n");
78
79 return 1;
80 }
81
82 /* wait 10 ms */
84
85 /* set default repeatability */
87 if (res != 0)
88 {
89 sht30_interface_debug_print("sht30: set repeatability failed.\n");
90 (void)sht30_deinit(&gs_handle);
91
92 return 1;
93 }
94
95 /* set art */
96 res = sht30_set_art(&gs_handle);
97 if (res != 0)
98 {
99 sht30_interface_debug_print("sht30: set art failed.\n");
100 (void)sht30_deinit(&gs_handle);
101
102 return 1;
103 }
104
105 /* wait 10 ms */
107
108 /* set default heater */
110 if (res != 0)
111 {
112 sht30_interface_debug_print("sht30: set heater failed.\n");
113 (void)sht30_deinit(&gs_handle);
114
115 return 1;
116 }
117
118 /* wait 10 ms */
120
121 /* start continuous read */
123 if (res != 0)
124 {
125 sht30_interface_debug_print("sht30: start continuous read failed.\n");
126 (void)sht30_deinit(&gs_handle);
127
128 return 1;
129 }
130
131 return 0;
132}
133
143uint8_t sht30_basic_read(float *temperature, float *humidity)
144{
145 uint16_t temperature_raw;
146 uint16_t humidity_raw;
147
148 /* read data */
149 if (sht30_continuous_read(&gs_handle, (uint16_t *)&temperature_raw, temperature, (uint16_t *)&humidity_raw, humidity) != 0)
150 {
151 return 1;
152 }
153
154 return 0;
155}
156
165{
166 uint8_t res;
167
168 /* stop continuous read */
169 res = sht30_stop_continuous_read(&gs_handle);
170 if (res != 0)
171 {
172 return 1;
173 }
174
175 /* delay 100ms */
177
178 /* close sht30 */
179 if (sht30_deinit(&gs_handle) != 0)
180 {
181 return 1;
182 }
183
184 return 0;
185}
186
195uint8_t sht30_basic_get_serial_number(uint8_t sn[4])
196{
197 /* get serial number */
198 if (sht30_get_serial_number(&gs_handle, sn) != 0)
199 {
200 return 1;
201 }
202
203 return 0;
204}
driver sht30 basic header file
uint8_t sht30_stop_continuous_read(sht30_handle_t *handle)
stop reading
uint8_t sht30_start_continuous_read(sht30_handle_t *handle, sht30_rate_t rate)
start reading
uint8_t sht30_set_repeatability(sht30_handle_t *handle, sht30_repeatability_t repeatability)
set the measurement repeatability
uint8_t sht30_init(sht30_handle_t *handle)
initialize the chip
uint8_t sht30_set_art(sht30_handle_t *handle)
set the chip art
sht30_address_t
sht30 address enumeration definition
uint8_t sht30_set_heater(sht30_handle_t *handle, sht30_bool_t enable)
enable or disable the chip heater
uint8_t sht30_set_addr_pin(sht30_handle_t *handle, sht30_address_t addr_pin)
set the iic address pin
uint8_t sht30_continuous_read(sht30_handle_t *handle, uint16_t *temperature_raw, float *temperature_s, uint16_t *humidity_raw, float *humidity_s)
read data continuously
struct sht30_handle_s sht30_handle_t
sht30 handle structure definition
uint8_t sht30_get_serial_number(sht30_handle_t *handle, uint8_t sn[4])
get serial number
uint8_t sht30_deinit(sht30_handle_t *handle)
close the chip
uint8_t sht30_basic_read(float *temperature, float *humidity)
basic example read
uint8_t sht30_basic_init(sht30_address_t addr_pin)
basic example init
#define SHT30_BASIC_DEFAULT_RATE
sht30 basic example default definition
uint8_t sht30_basic_deinit(void)
basic example deinit
#define SHT30_BASIC_DEFAULT_REPEATABILITY
uint8_t sht30_basic_get_serial_number(uint8_t sn[4])
basic example get serial number
#define SHT30_BASIC_DEFAULT_HEATER
uint8_t sht30_interface_iic_read_address16(uint8_t addr, uint16_t reg, uint8_t *buf, uint16_t len)
interface iic bus read with 16 bits register address
uint8_t sht30_interface_iic_init(void)
interface iic bus init
uint8_t sht30_interface_iic_deinit(void)
interface iic bus deinit
void sht30_interface_debug_print(const char *const fmt,...)
interface print format data
uint8_t sht30_interface_iic_write_address16(uint8_t addr, uint16_t reg, uint8_t *buf, uint16_t len)
interface iic bus write with 16 bits register address
void sht30_interface_receive_callback(uint16_t type)
interface receive callback
void sht30_interface_delay_ms(uint32_t ms)
interface delay ms