LibDriver AM2320
Loading...
Searching...
No Matches
driver_am2320_basic.c
Go to the documentation of this file.
1
36
37#include "driver_am2320_basic.h"
38
39static am2320_handle_t gs_handle;
40
50{
51 uint8_t res;
52
53 /* link interface function */
68
69 /* set interface */
70 res = am2320_set_interface(&gs_handle, interface);
71 if (res != 0)
72 {
73 am2320_interface_debug_print("am2320: set interface.\n");
74
75 return 1;
76 }
77
78 /* am2320 init */
79 res = am2320_init(&gs_handle);
80 if (res != 0)
81 {
82 am2320_interface_debug_print("am2320: init failed.\n");
83
84 return 1;
85 }
86
87 return 0;
88}
89
99uint8_t am2320_basic_read(float *temperature, float *humidity)
100{
101 uint16_t temperature_raw;
102 uint16_t humidity_raw;
103
104 /* read temperature and humidity */
105 if (am2320_read_temperature_humidity(&gs_handle, (uint16_t *)&temperature_raw, temperature,
106 (uint16_t *)&humidity_raw, humidity) != 0)
107 {
108 return 1;
109 }
110
111 return 0;
112}
113
122{
123 /* deinit am2320 and close bus */
124 if (am2320_deinit(&gs_handle) != 0)
125 {
126 return 1;
127 }
128
129 return 0;
130}
131
140uint8_t am2320_basic_set_user_reg1(uint16_t reg)
141{
142 /* set user reg1 */
143 if (am2320_set_user_reg1(&gs_handle, reg) != 0)
144 {
145 return 1;
146 }
147
148 return 0;
149}
150
159uint8_t am2320_basic_get_user_reg1(uint16_t *reg)
160{
161 /* get user reg1 */
162 if (am2320_get_user_reg1(&gs_handle, reg) != 0)
163 {
164 return 1;
165 }
166
167 return 0;
168}
169
178uint8_t am2320_basic_set_user_reg2(uint16_t reg)
179{
180 /* set user reg2 */
181 if (am2320_set_user_reg2(&gs_handle, reg) != 0)
182 {
183 return 1;
184 }
185
186 return 0;
187}
188
197uint8_t am2320_basic_get_user_reg2(uint16_t *reg)
198{
199 /* get user reg2 */
200 if (am2320_get_user_reg2(&gs_handle, reg) != 0)
201 {
202 return 1;
203 }
204
205 return 0;
206}
driver am2320 basic header file
uint8_t am2320_set_user_reg1(am2320_handle_t *handle, uint16_t reg)
set user reg1
struct am2320_handle_s am2320_handle_t
am2320 handle structure definition
uint8_t am2320_init(am2320_handle_t *handle)
initialize the chip
uint8_t am2320_read_temperature_humidity(am2320_handle_t *handle, uint16_t *temperature_raw, float *temperature_s, uint16_t *humidity_raw, float *humidity_s)
read the temperature and humidity data
am2320_interface_t
am2320 interface enumeration definition
uint8_t am2320_set_user_reg2(am2320_handle_t *handle, uint16_t reg)
set user reg2
uint8_t am2320_get_user_reg1(am2320_handle_t *handle, uint16_t *reg)
get user reg1
uint8_t am2320_deinit(am2320_handle_t *handle)
close the chip
uint8_t am2320_set_interface(am2320_handle_t *handle, am2320_interface_t interface)
set the chip interface
uint8_t am2320_get_user_reg2(am2320_handle_t *handle, uint16_t *reg)
get user reg2
uint8_t am2320_basic_init(am2320_interface_t interface)
basic example init
uint8_t am2320_basic_get_user_reg1(uint16_t *reg)
basic example get user reg1
uint8_t am2320_basic_set_user_reg2(uint16_t reg)
basic example set user reg2
uint8_t am2320_basic_set_user_reg1(uint16_t reg)
basic example set user reg1
uint8_t am2320_basic_get_user_reg2(uint16_t *reg)
basic example get user reg2
uint8_t am2320_basic_read(float *temperature, float *humidity)
basic example read
uint8_t am2320_basic_deinit(void)
basic example deinit
uint8_t am2320_interface_iic_deinit(void)
interface iic deinit
void am2320_interface_delay_ms(uint32_t ms)
interface delay ms
uint8_t am2320_interface_bus_read(uint8_t *value)
interface bus read
uint8_t am2320_interface_iic_read_cmd(uint8_t addr, uint8_t *buf, uint16_t len)
interface iic read command
uint8_t am2320_interface_iic_write_cmd(uint8_t addr, uint8_t *buf, uint16_t len)
interface iic write command
void am2320_interface_debug_print(const char *const fmt,...)
interface print format data
uint8_t am2320_interface_bus_deinit(void)
interface bus deinit
void am2320_interface_delay_us(uint32_t us)
interface delay us
void am2320_interface_disable_irq(void)
interface disable the interrupt
uint8_t am2320_interface_iic_init(void)
interface iic init
void am2320_interface_enable_irq(void)
interface enable the interrupt
uint8_t am2320_interface_bus_init(void)
interface bus init
uint8_t am2320_interface_bus_write(uint8_t value)
interface bus write