LibDriver VEML7700
Loading...
Searching...
No Matches
driver_veml7700_basic.c
Go to the documentation of this file.
1
36
38
39static veml7700_handle_t gs_handle;
40
49{
50 uint8_t res;
51
52 /* link interface function */
60
61 /* init */
62 res = veml7700_init(&gs_handle);
63 if (res != 0)
64 {
65 veml7700_interface_debug_print("veml7700: init failed.\n");
66
67 return 1;
68 }
69
70 /* set auto range */
71 res = veml7700_set_auto_range(&gs_handle, auto_range);
72 if (res != 0)
73 {
74 veml7700_interface_debug_print("veml7700: set auto range failed.\n");
75 (void)veml7700_deinit(&gs_handle);
76
77 return 1;
78 }
79
80 /* set default als gain */
82 if (res != 0)
83 {
84 veml7700_interface_debug_print("veml7700: set als gain failed.\n");
85 (void)veml7700_deinit(&gs_handle);
86
87 return 1;
88 }
89
90 /* set default als integration time */
92 if (res != 0)
93 {
94 veml7700_interface_debug_print("veml7700: set als integration time failed.\n");
95 (void)veml7700_deinit(&gs_handle);
96
97 return 1;
98 }
99
100 /* set default als persistence */
102 if (res != 0)
103 {
104 veml7700_interface_debug_print("veml7700: set als persistence failed.\n");
105 (void)veml7700_deinit(&gs_handle);
106
107 return 1;
108 }
109
110 /* set default power saving mode */
112 if (res != 0)
113 {
114 veml7700_interface_debug_print("veml7700: set power saving mode failed.\n");
115 (void)veml7700_deinit(&gs_handle);
116
117 return 1;
118 }
119
120 /* set default power saving */
122 if (res != 0)
123 {
124 veml7700_interface_debug_print("veml7700: set power saving failed.\n");
125 (void)veml7700_deinit(&gs_handle);
126
127 return 1;
128 }
129
130 /* disable als interrupt */
132 if (res != 0)
133 {
134 veml7700_interface_debug_print("veml7700: set als interrupt failed.\n");
135 (void)veml7700_deinit(&gs_handle);
136
137 return 1;
138 }
139
140 /* power on */
142 if (res != 0)
143 {
144 veml7700_interface_debug_print("veml7700: set als mode failed.\n");
145 (void)veml7700_deinit(&gs_handle);
146
147 return 1;
148 }
149
150 return 0;
151}
152
161uint8_t veml7700_basic_read(double *lux)
162{
163 uint8_t res;
164 uint16_t raw;
165
166 /* read als */
167 res = veml7700_read_als(&gs_handle, &raw, lux);
168 if (res != 0)
169 {
170 return 1;
171 }
172
173 return 0;
174}
175
184uint8_t veml7700_basic_read_white(uint16_t *raw)
185{
186 uint8_t res;
187
188 /* read white */
189 res = veml7700_read_white(&gs_handle, raw);
190 if (res != 0)
191 {
192 return 1;
193 }
194
195 return 0;
196}
197
206{
207 uint8_t res;
208
209 /* deinit */
210 res = veml7700_deinit(&gs_handle);
211 if (res != 0)
212 {
213 return 1;
214 }
215
216 return 0;
217}
driver veml7700 basic header file
uint8_t veml7700_set_als_integration_time(veml7700_handle_t *handle, veml7700_als_integration_time_t t)
set als integration time
veml7700_bool_t
veml7700 bool enumeration definition
uint8_t veml7700_deinit(veml7700_handle_t *handle)
close the chip
uint8_t veml7700_set_als_interrupt(veml7700_handle_t *handle, veml7700_bool_t enable)
enable or disable als interrupt
uint8_t veml7700_read_white(veml7700_handle_t *handle, uint16_t *raw)
read white channel
uint8_t veml7700_init(veml7700_handle_t *handle)
initialize the chip
uint8_t veml7700_read_als(veml7700_handle_t *handle, uint16_t *raw, double *lux)
read als channel
uint8_t veml7700_set_als_mode(veml7700_handle_t *handle, veml7700_als_mode_t mode)
set als mode
uint8_t veml7700_set_als_gain(veml7700_handle_t *handle, veml7700_als_gain_t gain)
set als gain
struct veml7700_handle_s veml7700_handle_t
veml7700 handle structure definition
uint8_t veml7700_set_als_persistence(veml7700_handle_t *handle, veml7700_als_persistence_t persistence)
set als persistence
uint8_t veml7700_set_auto_range(veml7700_handle_t *handle, veml7700_bool_t enable)
set auto range
uint8_t veml7700_set_power_saving(veml7700_handle_t *handle, veml7700_bool_t enable)
enable or disable power saving
uint8_t veml7700_set_power_saving_mode(veml7700_handle_t *handle, veml7700_power_saving_mode_t mode)
set power saving mode
@ VEML7700_BOOL_DISABLE
@ VEML7700_ALS_MODE_POWER_ON
uint8_t veml7700_basic_read_white(uint16_t *raw)
basic example read white
uint8_t veml7700_basic_init(veml7700_bool_t auto_range)
basic example init
#define VEML7700_BASIC_DEFAULT_ALS_PERSISTENCE
#define VEML7700_BASIC_DEFAULT_ALS_INTEGRATION_TIME
uint8_t veml7700_basic_read(double *lux)
basic example read
#define VEML7700_BASIC_DEFAULT_POWER_SAVING_MODE
uint8_t veml7700_basic_deinit(void)
basic example deinit
#define VEML7700_BASIC_DEFAULT_POWER_SAVING
#define VEML7700_BASIC_DEFAULT_ALS_GAIN
veml7700 basic example default definition
uint8_t veml7700_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
void veml7700_interface_delay_ms(uint32_t ms)
interface delay ms
uint8_t veml7700_interface_iic_init(void)
interface iic bus init
void veml7700_interface_debug_print(const char *const fmt,...)
interface print format data
uint8_t veml7700_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read
uint8_t veml7700_interface_iic_deinit(void)
interface iic bus deinit