LibDriver BH1750FVI
Loading...
Searching...
No Matches
driver_bh1750fvi_basic.c
Go to the documentation of this file.
1
36
38
39static bh1750fvi_handle_t gs_handle;
40
50{
51 uint8_t res;
52
53 /* link interface function */
61
62 /* set the addr pin */
63 res = bh1750fvi_set_addr_pin(&gs_handle, addr_pin);
64 if (res != 0)
65 {
66 bh1750fvi_interface_debug_print("bh1750fvi: set addr pin failed.\n");
67
68 return 1;
69 }
70
71 /* init */
72 res = bh1750fvi_init(&gs_handle);
73 if (res != 0)
74 {
75 bh1750fvi_interface_debug_print("bh1750fvi: init failed.\n");
76
77 return 1;
78 }
79
80 /* power on */
81 res = bh1750fvi_power_on(&gs_handle);
82 if (res != 0)
83 {
84 bh1750fvi_interface_debug_print("bh1750fvi: power on failed.\n");
85 (void)bh1750fvi_deinit(&gs_handle);
86
87 return 1;
88 }
89
90 /* set mode */
92 if (res != 0)
93 {
94 bh1750fvi_interface_debug_print("bh1750fvi: set mode failed.\n");
95 (void)bh1750fvi_deinit(&gs_handle);
96
97 return 1;
98 }
99
100 /* set measurement time */
102 if (res != 0)
103 {
104 bh1750fvi_interface_debug_print("bh1750fvi: set measurement time failed.\n");
105 (void)bh1750fvi_deinit(&gs_handle);
106
107 return 1;
108 }
109
110 /* start continuous read */
111 res = bh1750fvi_start_continuous_read(&gs_handle);
112 if (res != 0)
113 {
114 bh1750fvi_interface_debug_print("bh1750fvi: start continuous read failed.\n");
115 (void)bh1750fvi_deinit(&gs_handle);
116
117 return 1;
118 }
119
120 return 0;
121}
122
131uint8_t bh1750fvi_basic_read(float *lux)
132{
133 uint8_t res;
134 uint16_t raw;
135
136 /* continuous read */
137 res = bh1750fvi_continuous_read(&gs_handle, &raw, lux);
138 if (res != 0)
139 {
140 return 1;
141 }
142 else
143 {
144 return 0;
145 }
146}
147
156{
157 uint8_t res;
158
159 /* stop continuous read */
160 res = bh1750fvi_stop_continuous_read(&gs_handle);
161 if (res != 0)
162 {
163 return 1;
164 }
165
166 /* deinit */
167 res = bh1750fvi_deinit(&gs_handle);
168 if (res != 0)
169 {
170 return 1;
171 }
172
173 return 0;
174}
driver bh1750fvi basic header file
uint8_t bh1750fvi_stop_continuous_read(bh1750fvi_handle_t *handle)
stop chip reading
uint8_t bh1750fvi_deinit(bh1750fvi_handle_t *handle)
close the chip
uint8_t bh1750fvi_start_continuous_read(bh1750fvi_handle_t *handle)
start chip reading
struct bh1750fvi_handle_s bh1750fvi_handle_t
bh1750fvi handle structure definition
uint8_t bh1750fvi_set_measurement_time(bh1750fvi_handle_t *handle, uint8_t t)
set the measurement time
uint8_t bh1750fvi_continuous_read(bh1750fvi_handle_t *handle, uint16_t *raw, float *lux)
read data from the chip continuously
uint8_t bh1750fvi_set_addr_pin(bh1750fvi_handle_t *handle, bh1750fvi_address_t addr_pin)
set the address pin
uint8_t bh1750fvi_power_on(bh1750fvi_handle_t *handle)
power on
uint8_t bh1750fvi_init(bh1750fvi_handle_t *handle)
initialize the chip
bh1750fvi_address_t
bh1750fvi address enumeration definition
uint8_t bh1750fvi_set_mode(bh1750fvi_handle_t *handle, bh1750fvi_mode_t mode)
set the mode
uint8_t bh1750fvi_basic_read(float *lux)
basic example read
uint8_t bh1750fvi_basic_init(bh1750fvi_address_t addr_pin)
basic example init
uint8_t bh1750fvi_basic_deinit(void)
basic example deinit
#define BH1750FVI_BASIC_DEFAULT_MEASUREMENT_TIME
#define BH1750FVI_BASIC_DEFAULT_MODE
bh1750fvi basic example default definition
void bh1750fvi_interface_delay_ms(uint32_t ms)
interface delay ms
uint8_t bh1750fvi_interface_iic_deinit(void)
interface iic bus deinit
uint8_t bh1750fvi_interface_iic_write_cmd(uint8_t addr, uint8_t *buf, uint16_t len)
interface iic bus write command
uint8_t bh1750fvi_interface_iic_init(void)
interface iic bus init
uint8_t bh1750fvi_interface_iic_read_cmd(uint8_t addr, uint8_t *buf, uint16_t len)
interface iic bus read command
void bh1750fvi_interface_debug_print(const char *const fmt,...)
interface print format data