LibDriver VEML7700
Loading...
Searching...
No Matches
driver_veml7700_register_test.c
Go to the documentation of this file.
1
36
38#include <stdlib.h>
39
40static veml7700_handle_t gs_handle;
41
50{
51 uint8_t res;
52 uint16_t threshold;
53 uint16_t threshold_check;
54 veml7700_info_t info;
56 veml7700_bool_t enable;
57 veml7700_bool_t enable2;
61 veml7700_power_saving_mode_t power_saving_mode;
62
63 /* link interface function */
71
72 /* get information */
73 res = veml7700_info(&info);
74 if (res != 0)
75 {
76 veml7700_interface_debug_print("veml7700: get info failed.\n");
77
78 return 1;
79 }
80 else
81 {
82 /* print chip info */
83 veml7700_interface_debug_print("veml7700: chip is %s.\n", info.chip_name);
84 veml7700_interface_debug_print("veml7700: manufacturer is %s.\n", info.manufacturer_name);
85 veml7700_interface_debug_print("veml7700: interface is %s.\n", info.interface);
86 veml7700_interface_debug_print("veml7700: driver version is %d.%d.\n", info.driver_version / 1000, (info.driver_version % 1000) / 100);
87 veml7700_interface_debug_print("veml7700: min supply voltage is %0.1fV.\n", info.supply_voltage_min_v);
88 veml7700_interface_debug_print("veml7700: max supply voltage is %0.1fV.\n", info.supply_voltage_max_v);
89 veml7700_interface_debug_print("veml7700: max current is %0.2fmA.\n", info.max_current_ma);
90 veml7700_interface_debug_print("veml7700: max temperature is %0.1fC.\n", info.temperature_max);
91 veml7700_interface_debug_print("veml7700: min temperature is %0.1fC.\n", info.temperature_min);
92 }
93
94 /* start register test */
95 veml7700_interface_debug_print("veml7700: start register test.\n");
96
97 /* veml7700 init */
98 res = veml7700_init(&gs_handle);
99 if (res != 0)
100 {
101 veml7700_interface_debug_print("veml7700: init failed.\n");
102
103 return 1;
104 }
105
106 /* veml7700_set_auto_range/veml7700_get_auto_range test */
107 veml7700_interface_debug_print("veml7700: veml7700_set_auto_range/veml7700_get_auto_range test.\n");
108
109 /* enable auto range */
111 if (res != 0)
112 {
113 veml7700_interface_debug_print("veml7700: set auto range failed.\n");
114 (void)veml7700_deinit(&gs_handle);
115
116 return 1;
117 }
118 veml7700_interface_debug_print("veml7700: enable auto range.\n");
119 res = veml7700_get_auto_range(&gs_handle, &enable);
120 if (res != 0)
121 {
122 veml7700_interface_debug_print("veml7700: get auto range failed.\n");
123 (void)veml7700_deinit(&gs_handle);
124
125 return 1;
126 }
127 veml7700_interface_debug_print("veml7700: check auto range %s.\n", (enable == VEML7700_BOOL_ENABLE) ? "ok" : "error");
128
129 /* disable auto range */
131 if (res != 0)
132 {
133 veml7700_interface_debug_print("veml7700: set auto range failed.\n");
134 (void)veml7700_deinit(&gs_handle);
135
136 return 1;
137 }
138 veml7700_interface_debug_print("veml7700: disable auto range.\n");
139 res = veml7700_get_auto_range(&gs_handle, &enable);
140 if (res != 0)
141 {
142 veml7700_interface_debug_print("veml7700: get auto range failed.\n");
143 (void)veml7700_deinit(&gs_handle);
144
145 return 1;
146 }
147 veml7700_interface_debug_print("veml7700: check auto range %s.\n", (enable == VEML7700_BOOL_DISABLE) ? "ok" : "error");
148
149 /* veml7700_set_als_gain/veml7700_get_als_gain test */
150 veml7700_interface_debug_print("veml7700: veml7700_set_als_gain/veml7700_get_als_gain test.\n");
151
152 /* set als gain 1 */
154 if (res != 0)
155 {
156 veml7700_interface_debug_print("veml7700: set als gain failed.\n");
157 (void)veml7700_deinit(&gs_handle);
158
159 return 1;
160 }
161 veml7700_interface_debug_print("veml7700: set als gain 1.\n");
162 res = veml7700_get_als_gain(&gs_handle, &gain);
163 if (res != 0)
164 {
165 veml7700_interface_debug_print("veml7700: get als gain failed.\n");
166 (void)veml7700_deinit(&gs_handle);
167
168 return 1;
169 }
170 veml7700_interface_debug_print("veml7700: check als gain %s.\n", (gain == VEML7700_ALS_GAIN_1) ? "ok" : "error");
171
172 /* set als gain 2 */
174 if (res != 0)
175 {
176 veml7700_interface_debug_print("veml7700: set als gain failed.\n");
177 (void)veml7700_deinit(&gs_handle);
178
179 return 1;
180 }
181 veml7700_interface_debug_print("veml7700: set als gain 2.\n");
182 res = veml7700_get_als_gain(&gs_handle, &gain);
183 if (res != 0)
184 {
185 veml7700_interface_debug_print("veml7700: get als gain failed.\n");
186 (void)veml7700_deinit(&gs_handle);
187
188 return 1;
189 }
190 veml7700_interface_debug_print("veml7700: check als gain %s.\n", (gain == VEML7700_ALS_GAIN_2) ? "ok" : "error");
191
192 /* set als gain 1/8 */
194 if (res != 0)
195 {
196 veml7700_interface_debug_print("veml7700: set als gain failed.\n");
197 (void)veml7700_deinit(&gs_handle);
198
199 return 1;
200 }
201 veml7700_interface_debug_print("veml7700: set als gain 1/8.\n");
202 res = veml7700_get_als_gain(&gs_handle, &gain);
203 if (res != 0)
204 {
205 veml7700_interface_debug_print("veml7700: get als gain failed.\n");
206 (void)veml7700_deinit(&gs_handle);
207
208 return 1;
209 }
210 veml7700_interface_debug_print("veml7700: check als gain %s.\n", (gain == VEML7700_ALS_GAIN_1_DIV_8) ? "ok" : "error");
211
212 /* set als gain 1/4 */
214 if (res != 0)
215 {
216 veml7700_interface_debug_print("veml7700: set als gain failed.\n");
217 (void)veml7700_deinit(&gs_handle);
218
219 return 1;
220 }
221 veml7700_interface_debug_print("veml7700: set als gain 1/4.\n");
222 res = veml7700_get_als_gain(&gs_handle, &gain);
223 if (res != 0)
224 {
225 veml7700_interface_debug_print("veml7700: get als gain failed.\n");
226 (void)veml7700_deinit(&gs_handle);
227
228 return 1;
229 }
230 veml7700_interface_debug_print("veml7700: check als gain %s.\n", (gain == VEML7700_ALS_GAIN_1_DIV_4) ? "ok" : "error");
231
232 /* veml7700_set_als_gain/veml7700_get_als_gain test */
233 veml7700_interface_debug_print("veml7700: veml7700_set_als_gain/veml7700_get_als_gain test.\n");
234
235 /* set als integration time 25ms */
237 if (res != 0)
238 {
239 veml7700_interface_debug_print("veml7700: set als integration time failed.\n");
240 (void)veml7700_deinit(&gs_handle);
241
242 return 1;
243 }
244 veml7700_interface_debug_print("veml7700: set als integration time 25ms.\n");
245 res = veml7700_get_als_integration_time(&gs_handle, &t);
246 if (res != 0)
247 {
248 veml7700_interface_debug_print("veml7700: get als integration time failed.\n");
249 (void)veml7700_deinit(&gs_handle);
250
251 return 1;
252 }
253 veml7700_interface_debug_print("veml7700: check als integration time %s.\n", (t == VEML7700_ALS_INTEGRATION_TIME_25MS) ? "ok" : "error");
254
255 /* set als integration time 50ms */
257 if (res != 0)
258 {
259 veml7700_interface_debug_print("veml7700: set als integration time failed.\n");
260 (void)veml7700_deinit(&gs_handle);
261
262 return 1;
263 }
264 veml7700_interface_debug_print("veml7700: set als integration time 50ms.\n");
265 res = veml7700_get_als_integration_time(&gs_handle, &t);
266 if (res != 0)
267 {
268 veml7700_interface_debug_print("veml7700: get als integration time failed.\n");
269 (void)veml7700_deinit(&gs_handle);
270
271 return 1;
272 }
273 veml7700_interface_debug_print("veml7700: check als integration time %s.\n", (t == VEML7700_ALS_INTEGRATION_TIME_50MS) ? "ok" : "error");
274
275 /* set als integration time 100ms */
277 if (res != 0)
278 {
279 veml7700_interface_debug_print("veml7700: set als integration time failed.\n");
280 (void)veml7700_deinit(&gs_handle);
281
282 return 1;
283 }
284 veml7700_interface_debug_print("veml7700: set als integration time 100ms.\n");
285 res = veml7700_get_als_integration_time(&gs_handle, &t);
286 if (res != 0)
287 {
288 veml7700_interface_debug_print("veml7700: get als integration time failed.\n");
289 (void)veml7700_deinit(&gs_handle);
290
291 return 1;
292 }
293 veml7700_interface_debug_print("veml7700: check als integration time %s.\n", (t == VEML7700_ALS_INTEGRATION_TIME_100MS) ? "ok" : "error");
294
295 /* set als integration time 200ms */
297 if (res != 0)
298 {
299 veml7700_interface_debug_print("veml7700: set als integration time failed.\n");
300 (void)veml7700_deinit(&gs_handle);
301
302 return 1;
303 }
304 veml7700_interface_debug_print("veml7700: set als integration time 200ms.\n");
305 res = veml7700_get_als_integration_time(&gs_handle, &t);
306 if (res != 0)
307 {
308 veml7700_interface_debug_print("veml7700: get als integration time failed.\n");
309 (void)veml7700_deinit(&gs_handle);
310
311 return 1;
312 }
313 veml7700_interface_debug_print("veml7700: check als integration time %s.\n", (t == VEML7700_ALS_INTEGRATION_TIME_200MS) ? "ok" : "error");
314
315 /* set als integration time 400ms */
317 if (res != 0)
318 {
319 veml7700_interface_debug_print("veml7700: set als integration time failed.\n");
320 (void)veml7700_deinit(&gs_handle);
321
322 return 1;
323 }
324 veml7700_interface_debug_print("veml7700: set als integration time 400ms.\n");
325 res = veml7700_get_als_integration_time(&gs_handle, &t);
326 if (res != 0)
327 {
328 veml7700_interface_debug_print("veml7700: get als integration time failed.\n");
329 (void)veml7700_deinit(&gs_handle);
330
331 return 1;
332 }
333 veml7700_interface_debug_print("veml7700: check als integration time %s.\n", (t == VEML7700_ALS_INTEGRATION_TIME_400MS) ? "ok" : "error");
334
335 /* set als integration time 800ms */
337 if (res != 0)
338 {
339 veml7700_interface_debug_print("veml7700: set als integration time failed.\n");
340 (void)veml7700_deinit(&gs_handle);
341
342 return 1;
343 }
344 veml7700_interface_debug_print("veml7700: set als integration time 800ms.\n");
345 res = veml7700_get_als_integration_time(&gs_handle, &t);
346 if (res != 0)
347 {
348 veml7700_interface_debug_print("veml7700: get als integration time failed.\n");
349 (void)veml7700_deinit(&gs_handle);
350
351 return 1;
352 }
353 veml7700_interface_debug_print("veml7700: check als integration time %s.\n", (t == VEML7700_ALS_INTEGRATION_TIME_800MS) ? "ok" : "error");
354
355 /* veml7700_set_als_persistence/veml7700_get_als_persistence test */
356 veml7700_interface_debug_print("veml7700: veml7700_set_als_persistence/veml7700_get_als_persistence test.\n");
357
358 /* set als persistence 1 */
360 if (res != 0)
361 {
362 veml7700_interface_debug_print("veml7700: set als persistence failed.\n");
363 (void)veml7700_deinit(&gs_handle);
364
365 return 1;
366 }
367 veml7700_interface_debug_print("veml7700: set als persistence 1.\n");
368 res = veml7700_get_als_persistence(&gs_handle, &persistence);
369 if (res != 0)
370 {
371 veml7700_interface_debug_print("veml7700: get als persistence failed.\n");
372 (void)veml7700_deinit(&gs_handle);
373
374 return 1;
375 }
376 veml7700_interface_debug_print("veml7700: check als persistence %s.\n", (persistence == VEML7700_ALS_PERSISTENCE_1) ? "ok" : "error");
377
378 /* set als persistence 2 */
380 if (res != 0)
381 {
382 veml7700_interface_debug_print("veml7700: set als persistence failed.\n");
383 (void)veml7700_deinit(&gs_handle);
384
385 return 1;
386 }
387 veml7700_interface_debug_print("veml7700: set als persistence 2.\n");
388 res = veml7700_get_als_persistence(&gs_handle, &persistence);
389 if (res != 0)
390 {
391 veml7700_interface_debug_print("veml7700: get als persistence failed.\n");
392 (void)veml7700_deinit(&gs_handle);
393
394 return 1;
395 }
396 veml7700_interface_debug_print("veml7700: check als persistence %s.\n", (persistence == VEML7700_ALS_PERSISTENCE_2) ? "ok" : "error");
397
398 /* set als persistence 4 */
400 if (res != 0)
401 {
402 veml7700_interface_debug_print("veml7700: set als persistence failed.\n");
403 (void)veml7700_deinit(&gs_handle);
404
405 return 1;
406 }
407 veml7700_interface_debug_print("veml7700: set als persistence 4.\n");
408 res = veml7700_get_als_persistence(&gs_handle, &persistence);
409 if (res != 0)
410 {
411 veml7700_interface_debug_print("veml7700: get als persistence failed.\n");
412 (void)veml7700_deinit(&gs_handle);
413
414 return 1;
415 }
416 veml7700_interface_debug_print("veml7700: check als persistence %s.\n", (persistence == VEML7700_ALS_PERSISTENCE_4) ? "ok" : "error");
417
418 /* set als persistence 8 */
420 if (res != 0)
421 {
422 veml7700_interface_debug_print("veml7700: set als persistence failed.\n");
423 (void)veml7700_deinit(&gs_handle);
424
425 return 1;
426 }
427 veml7700_interface_debug_print("veml7700: set als persistence 8.\n");
428 res = veml7700_get_als_persistence(&gs_handle, &persistence);
429 if (res != 0)
430 {
431 veml7700_interface_debug_print("veml7700: get als persistence failed.\n");
432 (void)veml7700_deinit(&gs_handle);
433
434 return 1;
435 }
436 veml7700_interface_debug_print("veml7700: check als persistence %s.\n", (persistence == VEML7700_ALS_PERSISTENCE_8) ? "ok" : "error");
437
438 /* veml7700_set_als_interrupt/veml7700_get_als_interrupt test */
439 veml7700_interface_debug_print("veml7700: veml7700_set_als_interrupt/veml7700_get_als_interrupt test.\n");
440
441 /* enable als interrupt */
443 if (res != 0)
444 {
445 veml7700_interface_debug_print("veml7700: set als interrupt failed.\n");
446 (void)veml7700_deinit(&gs_handle);
447
448 return 1;
449 }
450 veml7700_interface_debug_print("veml7700: enable als interrupt.\n");
451 res = veml7700_get_als_interrupt(&gs_handle, &enable);
452 if (res != 0)
453 {
454 veml7700_interface_debug_print("veml7700: get als interrupt failed.\n");
455 (void)veml7700_deinit(&gs_handle);
456
457 return 1;
458 }
459 veml7700_interface_debug_print("veml7700: check als interrupt %s.\n", (enable == VEML7700_BOOL_ENABLE) ? "ok" : "error");
460
461 /* disable als interrupt */
463 if (res != 0)
464 {
465 veml7700_interface_debug_print("veml7700: set als interrupt failed.\n");
466 (void)veml7700_deinit(&gs_handle);
467
468 return 1;
469 }
470 veml7700_interface_debug_print("veml7700: disable als interrupt.\n");
471 res = veml7700_get_als_interrupt(&gs_handle, &enable);
472 if (res != 0)
473 {
474 veml7700_interface_debug_print("veml7700: get als interrupt failed.\n");
475 (void)veml7700_deinit(&gs_handle);
476
477 return 1;
478 }
479 veml7700_interface_debug_print("veml7700: check als interrupt %s.\n", (enable == VEML7700_BOOL_DISABLE) ? "ok" : "error");
480
481 /* veml7700_set_als_mode/veml7700_get_als_mode test */
482 veml7700_interface_debug_print("veml7700: veml7700_set_als_mode/veml7700_get_als_mode test.\n");
483
484 /* set als mode power on */
486 if (res != 0)
487 {
488 veml7700_interface_debug_print("veml7700: set als mode failed.\n");
489 (void)veml7700_deinit(&gs_handle);
490
491 return 1;
492 }
493 veml7700_interface_debug_print("veml7700: set als mode power on.\n");
494 res = veml7700_get_als_mode(&gs_handle, &mode);
495 if (res != 0)
496 {
497 veml7700_interface_debug_print("veml7700: get als mode failed.\n");
498 (void)veml7700_deinit(&gs_handle);
499
500 return 1;
501 }
502 veml7700_interface_debug_print("veml7700: check als mode %s.\n", (mode == VEML7700_ALS_MODE_POWER_ON) ? "ok" : "error");
503
504 /* set als mode shut down */
506 if (res != 0)
507 {
508 veml7700_interface_debug_print("veml7700: set als mode failed.\n");
509 (void)veml7700_deinit(&gs_handle);
510
511 return 1;
512 }
513 veml7700_interface_debug_print("veml7700: set als mode shut down.\n");
514 res = veml7700_get_als_mode(&gs_handle, &mode);
515 if (res != 0)
516 {
517 veml7700_interface_debug_print("veml7700: get als mode failed.\n");
518 (void)veml7700_deinit(&gs_handle);
519
520 return 1;
521 }
522 veml7700_interface_debug_print("veml7700: check als mode %s.\n", (mode == VEML7700_ALS_MODE_SHUT_DOWN) ? "ok" : "error");
523
524 /* veml7700_set_power_saving_mode/veml7700_get_power_saving_mode test */
525 veml7700_interface_debug_print("veml7700: veml7700_set_power_saving_mode/veml7700_get_power_saving_mode test.\n");
526
527 /* set power saving mode1 */
529 if (res != 0)
530 {
531 veml7700_interface_debug_print("veml7700: set power saving mode failed.\n");
532 (void)veml7700_deinit(&gs_handle);
533
534 return 1;
535 }
536 veml7700_interface_debug_print("veml7700: set power saving mode1.\n");
537 res = veml7700_get_power_saving_mode(&gs_handle, &power_saving_mode);
538 if (res != 0)
539 {
540 veml7700_interface_debug_print("veml7700: get power saving mode failed.\n");
541 (void)veml7700_deinit(&gs_handle);
542
543 return 1;
544 }
545 veml7700_interface_debug_print("veml7700: check power saving mode1 %s.\n", (power_saving_mode == VEML7700_POWER_SAVING_MODE1) ? "ok" : "error");
546
547 /* set power saving mode2 */
549 if (res != 0)
550 {
551 veml7700_interface_debug_print("veml7700: set power saving mode failed.\n");
552 (void)veml7700_deinit(&gs_handle);
553
554 return 1;
555 }
556 veml7700_interface_debug_print("veml7700: set power saving mode2.\n");
557 res = veml7700_get_power_saving_mode(&gs_handle, &power_saving_mode);
558 if (res != 0)
559 {
560 veml7700_interface_debug_print("veml7700: get power saving mode failed.\n");
561 (void)veml7700_deinit(&gs_handle);
562
563 return 1;
564 }
565 veml7700_interface_debug_print("veml7700: check power saving mode2 %s.\n", (power_saving_mode == VEML7700_POWER_SAVING_MODE2) ? "ok" : "error");
566
567 /* set power saving mode3 */
569 if (res != 0)
570 {
571 veml7700_interface_debug_print("veml7700: set power saving mode failed.\n");
572 (void)veml7700_deinit(&gs_handle);
573
574 return 1;
575 }
576 veml7700_interface_debug_print("veml7700: set power saving mode3.\n");
577 res = veml7700_get_power_saving_mode(&gs_handle, &power_saving_mode);
578 if (res != 0)
579 {
580 veml7700_interface_debug_print("veml7700: get power saving mode failed.\n");
581 (void)veml7700_deinit(&gs_handle);
582
583 return 1;
584 }
585 veml7700_interface_debug_print("veml7700: check power saving mode3 %s.\n", (power_saving_mode == VEML7700_POWER_SAVING_MODE3) ? "ok" : "error");
586
587 /* set power saving mode4 */
589 if (res != 0)
590 {
591 veml7700_interface_debug_print("veml7700: set power saving mode failed.\n");
592 (void)veml7700_deinit(&gs_handle);
593
594 return 1;
595 }
596 veml7700_interface_debug_print("veml7700: set power saving mode4.\n");
597 res = veml7700_get_power_saving_mode(&gs_handle, &power_saving_mode);
598 if (res != 0)
599 {
600 veml7700_interface_debug_print("veml7700: get power saving mode failed.\n");
601 (void)veml7700_deinit(&gs_handle);
602
603 return 1;
604 }
605 veml7700_interface_debug_print("veml7700: check power saving mode4 %s.\n", (power_saving_mode == VEML7700_POWER_SAVING_MODE4) ? "ok" : "error");
606
607 /* veml7700_set_power_saving/veml7700_get_power_saving test */
608 veml7700_interface_debug_print("veml7700: veml7700_set_power_saving/veml7700_get_power_saving test.\n");
609
610 /* enable power saving */
612 if (res != 0)
613 {
614 veml7700_interface_debug_print("veml7700: set power saving failed.\n");
615 (void)veml7700_deinit(&gs_handle);
616
617 return 1;
618 }
619 veml7700_interface_debug_print("veml7700: enable power saving.\n");
620 res = veml7700_get_power_saving(&gs_handle, &enable);
621 if (res != 0)
622 {
623 veml7700_interface_debug_print("veml7700: get power saving failed.\n");
624 (void)veml7700_deinit(&gs_handle);
625
626 return 1;
627 }
628 veml7700_interface_debug_print("veml7700: check power saving %s.\n", (enable == VEML7700_BOOL_ENABLE) ? "ok" : "error");
629
630 /* disable power saving */
632 if (res != 0)
633 {
634 veml7700_interface_debug_print("veml7700: set power saving failed.\n");
635 (void)veml7700_deinit(&gs_handle);
636
637 return 1;
638 }
639 veml7700_interface_debug_print("veml7700: disable power saving.\n");
640 res = veml7700_get_power_saving(&gs_handle, &enable);
641 if (res != 0)
642 {
643 veml7700_interface_debug_print("veml7700: get power saving failed.\n");
644 (void)veml7700_deinit(&gs_handle);
645
646 return 1;
647 }
648 veml7700_interface_debug_print("veml7700: check power saving %s.\n", (enable == VEML7700_BOOL_DISABLE) ? "ok" : "error");
649
650 /* veml7700_set_als_high_threshold/veml7700_get_als_high_threshold test */
651 veml7700_interface_debug_print("veml7700: veml7700_set_als_high_threshold/veml7700_get_als_high_threshold test.\n");
652
653 threshold = rand() % 0xFFFFU;
654 res = veml7700_set_als_high_threshold(&gs_handle, threshold);
655 if (res != 0)
656 {
657 veml7700_interface_debug_print("veml7700: set als high threshold failed.\n");
658 (void)veml7700_deinit(&gs_handle);
659
660 return 1;
661 }
662 veml7700_interface_debug_print("veml7700: set als high threshold %d.\n", threshold);
663 res = veml7700_get_als_high_threshold(&gs_handle, &threshold_check);
664 if (res != 0)
665 {
666 veml7700_interface_debug_print("veml7700: get als high threshold failed.\n");
667 (void)veml7700_deinit(&gs_handle);
668
669 return 1;
670 }
671 veml7700_interface_debug_print("veml7700: check als high threshold %s.\n", (threshold_check == threshold) ? "ok" : "error");
672
673 /* veml7700_set_als_low_threshold/veml7700_get_als_low_threshold test */
674 veml7700_interface_debug_print("veml7700: veml7700_set_als_low_threshold/veml7700_get_als_low_threshold test.\n");
675
676 threshold = rand() % 0xFFFFU;
677 res = veml7700_set_als_low_threshold(&gs_handle, threshold);
678 if (res != 0)
679 {
680 veml7700_interface_debug_print("veml7700: set als low threshold failed.\n");
681 (void)veml7700_deinit(&gs_handle);
682
683 return 1;
684 }
685 veml7700_interface_debug_print("veml7700: set als low threshold %d.\n", threshold);
686 res = veml7700_get_als_low_threshold(&gs_handle, &threshold_check);
687 if (res != 0)
688 {
689 veml7700_interface_debug_print("veml7700: get als low threshold failed.\n");
690 (void)veml7700_deinit(&gs_handle);
691
692 return 1;
693 }
694 veml7700_interface_debug_print("veml7700: check als low threshold %s.\n", (threshold_check == threshold) ? "ok" : "error");
695
696 /* veml7700_get_interrupt_status test */
697 veml7700_interface_debug_print("veml7700: veml7700_get_interrupt_status test.\n");
698
699 /* get interrupt status */
700 res = veml7700_get_interrupt_status(&gs_handle, &enable, &enable2);
701 if (res != 0)
702 {
703 veml7700_interface_debug_print("veml7700: get interrupt status failed.\n");
704 (void)veml7700_deinit(&gs_handle);
705
706 return 1;
707 }
708 veml7700_interface_debug_print("veml7700: low threshold is %s.\n", (enable == VEML7700_BOOL_ENABLE) ? "yes" : "no");
709 veml7700_interface_debug_print("veml7700: high threshold is %s.\n", (enable2 == VEML7700_BOOL_ENABLE) ? "yes" : "no");
710
711 /* finish register */
712 veml7700_interface_debug_print("veml7700: finish register test.\n");
713 (void)veml7700_deinit(&gs_handle);
714
715 return 0;
716}
driver veml7700 register test header file
uint8_t veml7700_get_interrupt_status(veml7700_handle_t *handle, veml7700_bool_t *low_threshold, veml7700_bool_t *high_threshold)
get interrupt status
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_get_als_persistence(veml7700_handle_t *handle, veml7700_als_persistence_t *persistence)
get als persistence
uint8_t veml7700_get_power_saving_mode(veml7700_handle_t *handle, veml7700_power_saving_mode_t *mode)
get power saving mode
uint8_t veml7700_info(veml7700_info_t *info)
get chip's information
uint8_t veml7700_get_als_low_threshold(veml7700_handle_t *handle, uint16_t *threshold)
get als low threshold
struct veml7700_info_s veml7700_info_t
veml7700 information structure definition
uint8_t veml7700_init(veml7700_handle_t *handle)
initialize the chip
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
veml7700_power_saving_mode_t
veml7700 power saving mode enumeration definition
uint8_t veml7700_get_als_gain(veml7700_handle_t *handle, veml7700_als_gain_t *gain)
get als gain
uint8_t veml7700_get_als_high_threshold(veml7700_handle_t *handle, uint16_t *threshold)
get als high threshold
struct veml7700_handle_s veml7700_handle_t
veml7700 handle structure definition
uint8_t veml7700_get_als_interrupt(veml7700_handle_t *handle, veml7700_bool_t *enable)
get als interrupt status
veml7700_als_integration_time_t
veml7700 als integration time enumeration definition
uint8_t veml7700_set_als_persistence(veml7700_handle_t *handle, veml7700_als_persistence_t persistence)
set als persistence
veml7700_als_gain_t
veml7700 als gain enumeration definition
uint8_t veml7700_set_als_low_threshold(veml7700_handle_t *handle, uint16_t threshold)
set als low threshold
uint8_t veml7700_get_als_integration_time(veml7700_handle_t *handle, veml7700_als_integration_time_t *t)
get als integration time
uint8_t veml7700_set_als_high_threshold(veml7700_handle_t *handle, uint16_t threshold)
set als high threshold
uint8_t veml7700_get_auto_range(veml7700_handle_t *handle, veml7700_bool_t *enable)
get auto range
uint8_t veml7700_get_power_saving(veml7700_handle_t *handle, veml7700_bool_t *enable)
get power saving status
uint8_t veml7700_set_auto_range(veml7700_handle_t *handle, veml7700_bool_t enable)
set auto range
veml7700_als_persistence_t
veml7700 als persistence enumeration definition
veml7700_als_mode_t
veml7700 als mode enumeration definition
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
uint8_t veml7700_get_als_mode(veml7700_handle_t *handle, veml7700_als_mode_t *mode)
get als mode
@ VEML7700_BOOL_DISABLE
@ VEML7700_BOOL_ENABLE
@ VEML7700_POWER_SAVING_MODE3
@ VEML7700_POWER_SAVING_MODE2
@ VEML7700_POWER_SAVING_MODE4
@ VEML7700_POWER_SAVING_MODE1
@ VEML7700_ALS_INTEGRATION_TIME_400MS
@ VEML7700_ALS_INTEGRATION_TIME_50MS
@ VEML7700_ALS_INTEGRATION_TIME_25MS
@ VEML7700_ALS_INTEGRATION_TIME_200MS
@ VEML7700_ALS_INTEGRATION_TIME_800MS
@ VEML7700_ALS_INTEGRATION_TIME_100MS
@ VEML7700_ALS_GAIN_1
@ VEML7700_ALS_GAIN_1_DIV_4
@ VEML7700_ALS_GAIN_2
@ VEML7700_ALS_GAIN_1_DIV_8
@ VEML7700_ALS_PERSISTENCE_1
@ VEML7700_ALS_PERSISTENCE_2
@ VEML7700_ALS_PERSISTENCE_8
@ VEML7700_ALS_PERSISTENCE_4
@ VEML7700_ALS_MODE_SHUT_DOWN
@ VEML7700_ALS_MODE_POWER_ON
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
uint8_t veml7700_register_test(void)
register test
char manufacturer_name[32]