LibDriver BMP280
Loading...
Searching...
No Matches
driver_bmp280_register_test.c
Go to the documentation of this file.
1
36
38
39static bmp280_handle_t gs_handle;
40
51{
52 uint8_t res;
53 uint8_t status;
54 bmp280_info_t info;
55 bmp280_address_t addr_pin_check;
56 bmp280_interface_t interface_check;
57 bmp280_oversampling_t oversampling;
58 bmp280_mode_t mode;
59 bmp280_standby_time_t standby_time;
60 bmp280_filter_t filter;
62
63 /* link interface function */
75
76 /* get bmp280 info */
77 res = bmp280_info(&info);
78 if (res != 0)
79 {
80 bmp280_interface_debug_print("bmp280: get info failed.\n");
81
82 return 1;
83 }
84 else
85 {
86 /* print bmp280 */
87 bmp280_interface_debug_print("bmp280: chip is %s.\n", info.chip_name);
88 bmp280_interface_debug_print("bmp280: manufacturer is %s.\n", info.manufacturer_name);
89 bmp280_interface_debug_print("bmp280: interface is %s.\n", info.interface);
90 bmp280_interface_debug_print("bmp280: driver version is %d.%d.\n", info.driver_version / 1000, (info.driver_version % 1000) / 100);
91 bmp280_interface_debug_print("bmp280: min supply voltage is %0.1fV.\n", info.supply_voltage_min_v);
92 bmp280_interface_debug_print("bmp280: max supply voltage is %0.1fV.\n", info.supply_voltage_max_v);
93 bmp280_interface_debug_print("bmp280: max current is %0.2fmA.\n", info.max_current_ma);
94 bmp280_interface_debug_print("bmp280: max temperature is %0.1fC.\n", info.temperature_max);
95 bmp280_interface_debug_print("bmp280: min temperature is %0.1fC.\n", info.temperature_min);
96 }
97
98 /* start register test */
99 bmp280_interface_debug_print("bmp280: start register test.\n");
100
101 /* bmp280_set_interface/bmp280_get_interface test */
102 bmp280_interface_debug_print("bmp280: bmp280_set_interface/bmp280_get_interface test.\n");
103
104 /* set interface */
106 if (res != 0)
107 {
108 bmp280_interface_debug_print("bmp280: set interface failed.\n");
109
110 return 1;
111 }
112
113 /* output */
114 bmp280_interface_debug_print("bmp280: set interface spi.\n");
115
116 /* get interface */
117 res = bmp280_get_interface(&gs_handle, &interface_check);
118 if (res != 0)
119 {
120 bmp280_interface_debug_print("bmp280: get interface failed.\n");
121
122 return 1;
123 }
124 bmp280_interface_debug_print("bmp280: check interface %s.\n", interface_check == BMP280_INTERFACE_SPI ? "ok" : "error");
125
126 /* set interface */
128 if (res != 0)
129 {
130 bmp280_interface_debug_print("bmp280: set interface failed.\n");
131
132 return 1;
133 }
134
135 /* output */
136 bmp280_interface_debug_print("bmp280: set interface iic.\n");
137
138 /* get interface */
139 res = bmp280_get_interface(&gs_handle, &interface_check);
140 if (res != 0)
141 {
142 bmp280_interface_debug_print("bmp280: get interface failed.\n");
143
144 return 1;
145 }
146 bmp280_interface_debug_print("bmp280: check interface %s.\n", interface_check == BMP280_INTERFACE_IIC ? "ok" : "error");
147
148 /* bmp280_set_addr_pin/bmp280_get_addr_pin test */
149 bmp280_interface_debug_print("bmp280: bmp280_set_addr_pin/bmp280_get_addr_pin test.\n");
150
151 /* set addr pin low */
153 if (res != 0)
154 {
155 bmp280_interface_debug_print("bmp280: set addr pin failed.\n");
156
157 return 1;
158 }
159
160 /* output */
161 bmp280_interface_debug_print("bmp280: set addr pin low.\n");
162
163 /* get addr pin */
164 res = bmp280_get_addr_pin(&gs_handle, &addr_pin_check);
165 if (res != 0)
166 {
167 bmp280_interface_debug_print("bmp280: get addr pin failed.\n");
168
169 return 1;
170 }
171 bmp280_interface_debug_print("bmp280: check addr pin %s.\n", addr_pin_check == BMP280_ADDRESS_ADO_LOW ? "ok" : "error");
172
173 /* set addr pin high */
175 if (res != 0)
176 {
177 bmp280_interface_debug_print("bmp280: set addr pin failed.\n");
178
179 return 1;
180 }
181
182 /* output */
183 bmp280_interface_debug_print("bmp280: set addr pin high.\n");
184
185 /* get addr pin */
186 res = bmp280_get_addr_pin(&gs_handle, &addr_pin_check);
187 if (res != 0)
188 {
189 bmp280_interface_debug_print("bmp280: get addr pin failed.\n");
190
191 return 1;
192 }
193 bmp280_interface_debug_print("bmp280: check addr pin %s.\n", addr_pin_check == BMP280_ADDRESS_ADO_HIGH ? "ok" : "error");
194
195 /* set interface */
196 res = bmp280_set_interface(&gs_handle, interface);
197 if (res != 0)
198 {
199 bmp280_interface_debug_print("bmp280: set interface failed.\n");
200
201 return 1;
202 }
203
204 /* set addr pin */
205 res = bmp280_set_addr_pin(&gs_handle, addr_pin);
206 if (res != 0)
207 {
208 bmp280_interface_debug_print("bmp280: set addr pin failed.\n");
209
210 return 1;
211 }
212
213 /* init */
214 res = bmp280_init(&gs_handle);
215 if (res != 0)
216 {
217 bmp280_interface_debug_print("bmp280: init failed.\n");
218
219 return 1;
220 }
221
222 /* bmp280_set_temperatue_oversampling/bmp280_get_temperatue_oversampling test */
223 bmp280_interface_debug_print("bmp280: bmp280_set_temperatue_oversampling/bmp280_get_temperatue_oversampling test.\n");
224
225 /* set temperatue oversampling skip */
227 if (res != 0)
228 {
229 bmp280_interface_debug_print("bmp280: set temperatue oversampling failed.\n");
230 (void)bmp280_deinit(&gs_handle);
231
232 return 1;
233 }
234
235 /* output */
236 bmp280_interface_debug_print("bmp280: set temperatue oversampling skip.\n");
237
238 /* get temperatue oversampling */
239 res = bmp280_get_temperatue_oversampling(&gs_handle, &oversampling);
240 if (res != 0)
241 {
242 bmp280_interface_debug_print("bmp280: get temperatue oversampling failed.\n");
243 (void)bmp280_deinit(&gs_handle);
244
245 return 1;
246 }
247 bmp280_interface_debug_print("bmp280: check temperatue oversampling %s.\n", oversampling == BMP280_OVERSAMPLING_SKIP ? "ok" : "error");
248
249 /* set temperatue oversampling x1 */
251 if (res != 0)
252 {
253 bmp280_interface_debug_print("bmp280: set temperatue oversampling failed.\n");
254 (void)bmp280_deinit(&gs_handle);
255
256 return 1;
257 }
258
259 /* output */
260 bmp280_interface_debug_print("bmp280: set temperatue oversampling x1.\n");
261
262 /* get temperatue oversampling */
263 res = bmp280_get_temperatue_oversampling(&gs_handle, &oversampling);
264 if (res != 0)
265 {
266 bmp280_interface_debug_print("bmp280: get temperatue oversampling failed.\n");
267 (void)bmp280_deinit(&gs_handle);
268
269 return 1;
270 }
271 bmp280_interface_debug_print("bmp280: check temperatue oversampling %s.\n", oversampling == BMP280_OVERSAMPLING_x1 ? "ok" : "error");
272
273 /* set temperatue oversampling x2 */
275 if (res != 0)
276 {
277 bmp280_interface_debug_print("bmp280: set temperatue oversampling failed.\n");
278 (void)bmp280_deinit(&gs_handle);
279
280 return 1;
281 }
282
283 /* output */
284 bmp280_interface_debug_print("bmp280: set temperatue oversampling x2.\n");
285
286 /* get temperatue oversampling */
287 res = bmp280_get_temperatue_oversampling(&gs_handle, &oversampling);
288 if (res != 0)
289 {
290 bmp280_interface_debug_print("bmp280: get temperatue oversampling failed.\n");
291 (void)bmp280_deinit(&gs_handle);
292
293 return 1;
294 }
295 bmp280_interface_debug_print("bmp280: check temperatue oversampling %s.\n", oversampling == BMP280_OVERSAMPLING_x2 ? "ok" : "error");
296
297 /* set temperatue oversampling x4 */
299 if (res != 0)
300 {
301 bmp280_interface_debug_print("bmp280: set temperatue oversampling failed.\n");
302 (void)bmp280_deinit(&gs_handle);
303
304 return 1;
305 }
306
307 /* output */
308 bmp280_interface_debug_print("bmp280: set temperatue oversampling x4.\n");
309
310 /* get temperatue oversampling */
311 res = bmp280_get_temperatue_oversampling(&gs_handle, &oversampling);
312 if (res != 0)
313 {
314 bmp280_interface_debug_print("bmp280: get temperatue oversampling failed.\n");
315 (void)bmp280_deinit(&gs_handle);
316
317 return 1;
318 }
319 bmp280_interface_debug_print("bmp280: check temperatue oversampling %s.\n", oversampling == BMP280_OVERSAMPLING_x4 ? "ok" : "error");
320
321 /* set temperatue oversampling x8 */
323 if (res != 0)
324 {
325 bmp280_interface_debug_print("bmp280: set temperatue oversampling failed.\n");
326 (void)bmp280_deinit(&gs_handle);
327
328 return 1;
329 }
330
331 /* output */
332 bmp280_interface_debug_print("bmp280: set temperatue oversampling x8.\n");
333
334 /* get temperatue oversampling */
335 res = bmp280_get_temperatue_oversampling(&gs_handle, &oversampling);
336 if (res != 0)
337 {
338 bmp280_interface_debug_print("bmp280: get temperatue oversampling failed.\n");
339 (void)bmp280_deinit(&gs_handle);
340
341 return 1;
342 }
343 bmp280_interface_debug_print("bmp280: check temperatue oversampling %s.\n", oversampling == BMP280_OVERSAMPLING_x8 ? "ok" : "error");
344
345 /* set temperatue oversampling x16 */
347 if (res != 0)
348 {
349 bmp280_interface_debug_print("bmp280: set temperatue oversampling failed.\n");
350 (void)bmp280_deinit(&gs_handle);
351
352 return 1;
353 }
354
355 /* output */
356 bmp280_interface_debug_print("bmp280: set temperatue oversampling x16.\n");
357
358 /* get temperatue oversampling */
359 res = bmp280_get_temperatue_oversampling(&gs_handle, &oversampling);
360 if (res != 0)
361 {
362 bmp280_interface_debug_print("bmp280: get temperatue oversampling failed.\n");
363 (void)bmp280_deinit(&gs_handle);
364
365 return 1;
366 }
367 bmp280_interface_debug_print("bmp280: check temperatue oversampling %s.\n", oversampling == BMP280_OVERSAMPLING_x16 ? "ok" : "error");
368
369 /* bmp280_set_pressure_oversampling/bmp280_get_pressure_oversampling test */
370 bmp280_interface_debug_print("bmp280: bmp280_set_pressure_oversampling/bmp280_get_pressure_oversampling test.\n");
371
372 /* set pressure oversampling skip */
374 if (res != 0)
375 {
376 bmp280_interface_debug_print("bmp280: set pressure oversampling failed.\n");
377 (void)bmp280_deinit(&gs_handle);
378
379 return 1;
380 }
381
382 /* output */
383 bmp280_interface_debug_print("bmp280: set pressure oversampling skip.\n");
384
385 /* get pressure oversampling */
386 res = bmp280_get_pressure_oversampling(&gs_handle, &oversampling);
387 if (res != 0)
388 {
389 bmp280_interface_debug_print("bmp280: get pressure oversampling failed.\n");
390 (void)bmp280_deinit(&gs_handle);
391
392 return 1;
393 }
394 bmp280_interface_debug_print("bmp280: check pressure oversampling %s.\n", oversampling == BMP280_OVERSAMPLING_SKIP ? "ok" : "error");
395
396 /* set pressure oversampling x1 */
398 if (res != 0)
399 {
400 bmp280_interface_debug_print("bmp280: set pressure oversampling failed.\n");
401 (void)bmp280_deinit(&gs_handle);
402
403 return 1;
404 }
405
406 /* output */
407 bmp280_interface_debug_print("bmp280: set pressure oversampling x1.\n");
408
409 /* get pressure oversampling */
410 res = bmp280_get_pressure_oversampling(&gs_handle, &oversampling);
411 if (res != 0)
412 {
413 bmp280_interface_debug_print("bmp280: get pressure oversampling failed.\n");
414 (void)bmp280_deinit(&gs_handle);
415
416 return 1;
417 }
418 bmp280_interface_debug_print("bmp280: check pressure oversampling %s.\n", oversampling == BMP280_OVERSAMPLING_x1 ? "ok" : "error");
419
420 /* set pressure oversampling x2 */
422 if (res != 0)
423 {
424 bmp280_interface_debug_print("bmp280: set pressure oversampling failed.\n");
425 (void)bmp280_deinit(&gs_handle);
426
427 return 1;
428 }
429
430 /* output */
431 bmp280_interface_debug_print("bmp280: set pressure oversampling x2.\n");
432
433 /* get pressure oversampling */
434 res = bmp280_get_pressure_oversampling(&gs_handle, &oversampling);
435 if (res != 0)
436 {
437 bmp280_interface_debug_print("bmp280: get pressure oversampling failed.\n");
438 (void)bmp280_deinit(&gs_handle);
439
440 return 1;
441 }
442 bmp280_interface_debug_print("bmp280: check pressure oversampling %s.\n", oversampling == BMP280_OVERSAMPLING_x2 ? "ok" : "error");
443
444 /* set pressure oversampling x4 */
446 if (res != 0)
447 {
448 bmp280_interface_debug_print("bmp280: set pressure oversampling failed.\n");
449 (void)bmp280_deinit(&gs_handle);
450
451 return 1;
452 }
453
454 /* output */
455 bmp280_interface_debug_print("bmp280: set pressure oversampling x4.\n");
456
457 /* get pressure oversampling */
458 res = bmp280_get_pressure_oversampling(&gs_handle, &oversampling);
459 if (res != 0)
460 {
461 bmp280_interface_debug_print("bmp280: get pressure oversampling failed.\n");
462 (void)bmp280_deinit(&gs_handle);
463
464 return 1;
465 }
466 bmp280_interface_debug_print("bmp280: check pressure oversampling %s.\n", oversampling == BMP280_OVERSAMPLING_x4 ? "ok" : "error");
467
468 /* set pressure oversampling x8 */
470 if (res != 0)
471 {
472 bmp280_interface_debug_print("bmp280: set pressure oversampling failed.\n");
473 (void)bmp280_deinit(&gs_handle);
474
475 return 1;
476 }
477
478 /* output */
479 bmp280_interface_debug_print("bmp280: set pressure oversampling x8.\n");
480
481 /* get pressure oversampling */
482 res = bmp280_get_pressure_oversampling(&gs_handle, &oversampling);
483 if (res != 0)
484 {
485 bmp280_interface_debug_print("bmp280: get pressure oversampling failed.\n");
486 (void)bmp280_deinit(&gs_handle);
487
488 return 1;
489 }
490 bmp280_interface_debug_print("bmp280: check pressure oversampling %s.\n", oversampling == BMP280_OVERSAMPLING_x8 ? "ok" : "error");
491
492 /* set pressure oversampling x16 */
494 if (res != 0)
495 {
496 bmp280_interface_debug_print("bmp280: set pressure oversampling failed.\n");
497 (void)bmp280_deinit(&gs_handle);
498
499 return 1;
500 }
501
502 /* output */
503 bmp280_interface_debug_print("bmp280: set pressure oversampling x16.\n");
504
505 /* get pressure oversampling */
506 res = bmp280_get_pressure_oversampling(&gs_handle, &oversampling);
507 if (res != 0)
508 {
509 bmp280_interface_debug_print("bmp280: get pressure oversampling failed.\n");
510 (void)bmp280_deinit(&gs_handle);
511
512 return 1;
513 }
514 bmp280_interface_debug_print("bmp280: check pressure oversampling %s.\n", oversampling == BMP280_OVERSAMPLING_x16 ? "ok" : "error");
515
516 /* bmp280_set_mode/bmp280_get_mode test */
517 bmp280_interface_debug_print("bmp280: bmp280_set_mode/bmp280_get_mode test.\n");
518
519 /* set mode normal */
520 res = bmp280_set_mode(&gs_handle, BMP280_MODE_NORMAL);
521 if (res != 0)
522 {
523 bmp280_interface_debug_print("bmp280: set mode failed.\n");
524 (void)bmp280_deinit(&gs_handle);
525
526 return 1;
527 }
528
529 /* output */
530 bmp280_interface_debug_print("bmp280: set mode normal.\n");
531
532 res = bmp280_get_mode(&gs_handle, &mode);
533 if (res != 0)
534 {
535 bmp280_interface_debug_print("bmp280: get mode failed.\n");
536 (void)bmp280_deinit(&gs_handle);
537
538 return 1;
539 }
540 bmp280_interface_debug_print("bmp280: check mode %s.\n", mode == BMP280_MODE_NORMAL ? "ok" : "error");
541
542 /* set mode sleep */
543 res = bmp280_set_mode(&gs_handle, BMP280_MODE_SLEEP);
544 if (res != 0)
545 {
546 bmp280_interface_debug_print("bmp280: set mode failed.\n");
547 (void)bmp280_deinit(&gs_handle);
548
549 return 1;
550 }
551
552 /* output */
553 bmp280_interface_debug_print("bmp280: set mode sleep.\n");
554
555 res = bmp280_get_mode(&gs_handle, &mode);
556 if (res != 0)
557 {
558 bmp280_interface_debug_print("bmp280: get mode failed.\n");
559 (void)bmp280_deinit(&gs_handle);
560
561 return 1;
562 }
563 bmp280_interface_debug_print("bmp280: check mode %s.\n", mode == BMP280_MODE_SLEEP ? "ok" : "error");
564
565 /* bmp280_set_standby_time/bmp280_get_standby_time test */
566 bmp280_interface_debug_print("bmp280: bmp280_set_standby_time/bmp280_get_standby_time test.\n");
567
568 /* set standby time 0.5ms */
570 if (res != 0)
571 {
572 bmp280_interface_debug_print("bmp280: set standby time failed.\n");
573 (void)bmp280_deinit(&gs_handle);
574
575 return 1;
576 }
577
578 /* output */
579 bmp280_interface_debug_print("bmp280: set standby time 0.5ms.\n");
580
581 /* get standby time */
582 res = bmp280_get_standby_time(&gs_handle, &standby_time);
583 if (res != 0)
584 {
585 bmp280_interface_debug_print("bmp280: get standby time failed.\n");
586 (void)bmp280_deinit(&gs_handle);
587
588 return 1;
589 }
590 bmp280_interface_debug_print("bmp280: check standby time %s.\n", standby_time == BMP280_STANDBY_TIME_0P5_MS ? "ok" : "error");
591
592 /* set standby time 62.5ms */
594 if (res != 0)
595 {
596 bmp280_interface_debug_print("bmp280: set standby time failed.\n");
597 (void)bmp280_deinit(&gs_handle);
598
599 return 1;
600 }
601
602 /* output */
603 bmp280_interface_debug_print("bmp280: set standby time 62.5ms.\n");
604
605 /* get standby time */
606 res = bmp280_get_standby_time(&gs_handle, &standby_time);
607 if (res != 0)
608 {
609 bmp280_interface_debug_print("bmp280: get standby time failed.\n");
610 (void)bmp280_deinit(&gs_handle);
611
612 return 1;
613 }
614 bmp280_interface_debug_print("bmp280: check standby time %s.\n", standby_time == BMP280_STANDBY_TIME_62P5_MS ? "ok" : "error");
615
616 /* set standby time 125ms */
618 if (res != 0)
619 {
620 bmp280_interface_debug_print("bmp280: set standby time failed.\n");
621 (void)bmp280_deinit(&gs_handle);
622
623 return 1;
624 }
625
626 /* output */
627 bmp280_interface_debug_print("bmp280: set standby time 125ms.\n");
628
629 /* get standby time */
630 res = bmp280_get_standby_time(&gs_handle, &standby_time);
631 if (res != 0)
632 {
633 bmp280_interface_debug_print("bmp280: get standby time failed.\n");
634 (void)bmp280_deinit(&gs_handle);
635
636 return 1;
637 }
638 bmp280_interface_debug_print("bmp280: check standby time %s.\n", standby_time == BMP280_STANDBY_TIME_125_MS ? "ok" : "error");
639
640 /* set standby time 250ms */
642 if (res != 0)
643 {
644 bmp280_interface_debug_print("bmp280: set standby time failed.\n");
645 (void)bmp280_deinit(&gs_handle);
646
647 return 1;
648 }
649
650 /* output */
651 bmp280_interface_debug_print("bmp280: set standby time 250ms.\n");
652
653 /* get standby time */
654 res = bmp280_get_standby_time(&gs_handle, &standby_time);
655 if (res != 0)
656 {
657 bmp280_interface_debug_print("bmp280: get standby time failed.\n");
658 (void)bmp280_deinit(&gs_handle);
659
660 return 1;
661 }
662 bmp280_interface_debug_print("bmp280: check standby time %s.\n", standby_time == BMP280_STANDBY_TIME_250_MS ? "ok" : "error");
663
664 /* set standby time 500ms */
666 if (res != 0)
667 {
668 bmp280_interface_debug_print("bmp280: set standby time failed.\n");
669 (void)bmp280_deinit(&gs_handle);
670
671 return 1;
672 }
673
674 /* output */
675 bmp280_interface_debug_print("bmp280: set standby time 500ms.\n");
676
677 /* get standby time */
678 res = bmp280_get_standby_time(&gs_handle, &standby_time);
679 if (res != 0)
680 {
681 bmp280_interface_debug_print("bmp280: get standby time failed.\n");
682 (void)bmp280_deinit(&gs_handle);
683
684 return 1;
685 }
686 bmp280_interface_debug_print("bmp280: check standby time %s.\n", standby_time == BMP280_STANDBY_TIME_500_MS ? "ok" : "error");
687
688 /* set standby time 1000ms */
690 if (res != 0)
691 {
692 bmp280_interface_debug_print("bmp280: set standby time failed.\n");
693 (void)bmp280_deinit(&gs_handle);
694
695 return 1;
696 }
697
698 /* output */
699 bmp280_interface_debug_print("bmp280: set standby time 1000ms.\n");
700
701 /* get standby time */
702 res = bmp280_get_standby_time(&gs_handle, &standby_time);
703 if (res != 0)
704 {
705 bmp280_interface_debug_print("bmp280: get standby time failed.\n");
706 (void)bmp280_deinit(&gs_handle);
707
708 return 1;
709 }
710 bmp280_interface_debug_print("bmp280: check standby time %s.\n", standby_time == BMP280_STANDBY_TIME_1000_MS ? "ok" : "error");
711
712 /* set standby time 2000ms */
714 if (res != 0)
715 {
716 bmp280_interface_debug_print("bmp280: set standby time failed.\n");
717 (void)bmp280_deinit(&gs_handle);
718
719 return 1;
720 }
721
722 /* output */
723 bmp280_interface_debug_print("bmp280: set standby time 2000ms.\n");
724
725 /* get standby time */
726 res = bmp280_get_standby_time(&gs_handle, &standby_time);
727 if (res != 0)
728 {
729 bmp280_interface_debug_print("bmp280: get standby time failed.\n");
730 (void)bmp280_deinit(&gs_handle);
731
732 return 1;
733 }
734 bmp280_interface_debug_print("bmp280: check standby time %s.\n", standby_time == BMP280_STANDBY_TIME_2000_MS ? "ok" : "error");
735
736 /* set standby time 4000ms */
738 if (res != 0)
739 {
740 bmp280_interface_debug_print("bmp280: set standby time failed.\n");
741 (void)bmp280_deinit(&gs_handle);
742
743 return 1;
744 }
745
746 /* output */
747 bmp280_interface_debug_print("bmp280: set standby time 4000ms.\n");
748
749 /* get standby time */
750 res = bmp280_get_standby_time(&gs_handle, &standby_time);
751 if (res != 0)
752 {
753 bmp280_interface_debug_print("bmp280: get standby time failed.\n");
754 (void)bmp280_deinit(&gs_handle);
755
756 return 1;
757 }
758 bmp280_interface_debug_print("bmp280: check standby time %s.\n", standby_time == BMP280_STANDBY_TIME_4000_MS ? "ok" : "error");
759
760 /* bmp280_set_filter/bmp280_get_filter test */
761 bmp280_interface_debug_print("bmp280: bmp280_set_filter/bmp280_get_filter test.\n");
762
763 /* set filter off */
764 res = bmp280_set_filter(&gs_handle, BMP280_FILTER_OFF);
765 if (res != 0)
766 {
767 bmp280_interface_debug_print("bmp280: set filter failed.\n");
768 (void)bmp280_deinit(&gs_handle);
769
770 return 1;
771 }
772
773 /* output */
774 bmp280_interface_debug_print("bmp280: set filter off.\n");
775
776 /* get filter */
777 res = bmp280_get_filter(&gs_handle, &filter);
778 if (res != 0)
779 {
780 bmp280_interface_debug_print("bmp280: get filter failed.\n");
781 (void)bmp280_deinit(&gs_handle);
782
783 return 1;
784 }
785 bmp280_interface_debug_print("bmp280: check filter %s.\n", filter == BMP280_FILTER_OFF ? "ok" : "error");
786
787 /* set filter coeff 2 */
788 res = bmp280_set_filter(&gs_handle, BMP280_FILTER_COEFF_2);
789 if (res != 0)
790 {
791 bmp280_interface_debug_print("bmp280: set filter failed.\n");
792 (void)bmp280_deinit(&gs_handle);
793
794 return 1;
795 }
796
797 /* output */
798 bmp280_interface_debug_print("bmp280: set filter coeff 2.\n");
799
800 /* get filter */
801 res = bmp280_get_filter(&gs_handle, &filter);
802 if (res != 0)
803 {
804 bmp280_interface_debug_print("bmp280: get filter failed.\n");
805 (void)bmp280_deinit(&gs_handle);
806
807 return 1;
808 }
809 bmp280_interface_debug_print("bmp280: check filter %s.\n", filter == BMP280_FILTER_COEFF_2 ? "ok" : "error");
810
811 /* set filter coeff 4 */
812 res = bmp280_set_filter(&gs_handle, BMP280_FILTER_COEFF_4);
813 if (res != 0)
814 {
815 bmp280_interface_debug_print("bmp280: set filter failed.\n");
816 (void)bmp280_deinit(&gs_handle);
817
818 return 1;
819 }
820
821 /* output */
822 bmp280_interface_debug_print("bmp280: set filter coeff 4.\n");
823
824 /* get filter */
825 res = bmp280_get_filter(&gs_handle, &filter);
826 if (res != 0)
827 {
828 bmp280_interface_debug_print("bmp280: get filter failed.\n");
829 (void)bmp280_deinit(&gs_handle);
830
831 return 1;
832 }
833 bmp280_interface_debug_print("bmp280: check filter %s.\n", filter == BMP280_FILTER_COEFF_4 ? "ok" : "error");
834
835 /* set filter coeff 8 */
836 res = bmp280_set_filter(&gs_handle, BMP280_FILTER_COEFF_8);
837 if (res != 0)
838 {
839 bmp280_interface_debug_print("bmp280: set filter failed.\n");
840 (void)bmp280_deinit(&gs_handle);
841
842 return 1;
843 }
844
845 /* output */
846 bmp280_interface_debug_print("bmp280: set filter coeff 8.\n");
847
848 /* get filter */
849 res = bmp280_get_filter(&gs_handle, &filter);
850 if (res != 0)
851 {
852 bmp280_interface_debug_print("bmp280: get filter failed.\n");
853 (void)bmp280_deinit(&gs_handle);
854
855 return 1;
856 }
857 bmp280_interface_debug_print("bmp280: check filter %s.\n", filter == BMP280_FILTER_COEFF_8 ? "ok" : "error");
858
859 /* set filter coeff 16 */
860 res = bmp280_set_filter(&gs_handle, BMP280_FILTER_COEFF_16);
861 if (res != 0)
862 {
863 bmp280_interface_debug_print("bmp280: set filter failed.\n");
864 (void)bmp280_deinit(&gs_handle);
865
866 return 1;
867 }
868
869 /* output */
870 bmp280_interface_debug_print("bmp280: set filter coeff 16.\n");
871
872 /* get filter */
873 res = bmp280_get_filter(&gs_handle, &filter);
874 if (res != 0)
875 {
876 bmp280_interface_debug_print("bmp280: get filter failed.\n");
877 (void)bmp280_deinit(&gs_handle);
878
879 return 1;
880 }
881 bmp280_interface_debug_print("bmp280: check filter %s.\n", filter == BMP280_FILTER_COEFF_16 ? "ok" : "error");
882
883 /* if iic interface */
884 if (interface == BMP280_INTERFACE_IIC)
885 {
886 /* bmp280_set_spi_wire/bmp280_get_spi_wire test */
887 bmp280_interface_debug_print("bmp280: bmp280_set_spi_wire/bmp280_get_spi_wire test.\n");
888
889 /* set spi wire3 */
890 res = bmp280_set_spi_wire(&gs_handle, BMP280_SPI_WIRE_3);
891 if (res != 0)
892 {
893 bmp280_interface_debug_print("bmp280: set spi wire failed.\n");
894 (void)bmp280_deinit(&gs_handle);
895
896 return 1;
897 }
898
899 /* output */
900 bmp280_interface_debug_print("bmp280: set spi wire 3.\n");
901
902 /* get spi wire */
903 res = bmp280_get_spi_wire(&gs_handle, &spi);
904 if (res != 0)
905 {
906 bmp280_interface_debug_print("bmp280: get spi wire failed.\n");
907 (void)bmp280_deinit(&gs_handle);
908
909 return 1;
910 }
911 bmp280_interface_debug_print("bmp280: check spi wire %s.\n", spi == BMP280_SPI_WIRE_3 ? "ok" : "error");
912
913 /* set spi wire4 */
914 res = bmp280_set_spi_wire(&gs_handle, BMP280_SPI_WIRE_4);
915 if (res != 0)
916 {
917 bmp280_interface_debug_print("bmp280: set spi wire failed.\n");
918 (void)bmp280_deinit(&gs_handle);
919
920 return 1;
921 }
922
923 /* output */
924 bmp280_interface_debug_print("bmp280: set spi wire 4.\n");
925
926 /* get spi wire */
927 res = bmp280_get_spi_wire(&gs_handle, &spi);
928 if (res != 0)
929 {
930 bmp280_interface_debug_print("bmp280: get spi wire failed.\n");
931 (void)bmp280_deinit(&gs_handle);
932
933 return 1;
934 }
935 bmp280_interface_debug_print("bmp280: check spi wire %s.\n", spi == BMP280_SPI_WIRE_4 ? "ok" : "error");
936 }
937
938 /* bmp280_get_status test */
939 bmp280_interface_debug_print("bmp280: bmp280_get_status test.\n");
940
941 /* get status */
942 res = bmp280_get_status(&gs_handle, &status);
943 if (res != 0)
944 {
945 bmp280_interface_debug_print("bmp280: get status failed.\n");
946 (void)bmp280_deinit(&gs_handle);
947
948 return 1;
949 }
950 bmp280_interface_debug_print("bmp280: status is 0x%02X.\n", status);
951
952 /* bmp280_soft_reset test */
953 bmp280_interface_debug_print("bmp280: bmp280_soft_reset test.\n");
954
955 /* soft reset */
956 res = bmp280_soft_reset(&gs_handle);
957 if (res != 0)
958 {
959 bmp280_interface_debug_print("bmp280: soft reset failed.\n");
960 (void)bmp280_deinit(&gs_handle);
961
962 return 1;
963 }
964 bmp280_interface_debug_print("bmp280: check soft reset %s.\n", res == 0 ? "ok" : "error");
965
966 /* finish register test */
967 bmp280_interface_debug_print("bmp280: finish register test.\n");
968 (void)bmp280_deinit(&gs_handle);
969
970 return 0;
971}
driver bmp280 register test header file
uint8_t bmp280_soft_reset(bmp280_handle_t *handle)
soft reset
uint8_t bmp280_set_filter(bmp280_handle_t *handle, bmp280_filter_t filter)
set filter
uint8_t bmp280_get_pressure_oversampling(bmp280_handle_t *handle, bmp280_oversampling_t *oversampling)
get pressure oversampling
bmp280_spi_wire_t
bmp280 spi wire enumeration definition
uint8_t bmp280_info(bmp280_info_t *info)
get chip's information
uint8_t bmp280_set_mode(bmp280_handle_t *handle, bmp280_mode_t mode)
set mode
uint8_t bmp280_get_mode(bmp280_handle_t *handle, bmp280_mode_t *mode)
get mode
bmp280_filter_t
bmp280 filter enumeration definition
uint8_t bmp280_get_temperatue_oversampling(bmp280_handle_t *handle, bmp280_oversampling_t *oversampling)
get temperatue oversampling
uint8_t bmp280_deinit(bmp280_handle_t *handle)
close the chip
bmp280_mode_t
bmp280 mode enumeration definition
uint8_t bmp280_get_filter(bmp280_handle_t *handle, bmp280_filter_t *filter)
get filter
uint8_t bmp280_get_addr_pin(bmp280_handle_t *handle, bmp280_address_t *addr_pin)
get the iic address pin
bmp280_interface_t
bmp280 interface enumeration definition
uint8_t bmp280_set_interface(bmp280_handle_t *handle, bmp280_interface_t interface)
set the interface
uint8_t bmp280_get_standby_time(bmp280_handle_t *handle, bmp280_standby_time_t *standby_time)
get standby time
uint8_t bmp280_set_spi_wire(bmp280_handle_t *handle, bmp280_spi_wire_t spi)
set spi wire
uint8_t bmp280_get_spi_wire(bmp280_handle_t *handle, bmp280_spi_wire_t *spi)
get spi wire
uint8_t bmp280_set_pressure_oversampling(bmp280_handle_t *handle, bmp280_oversampling_t oversampling)
set pressure oversampling
uint8_t bmp280_set_addr_pin(bmp280_handle_t *handle, bmp280_address_t addr_pin)
set the iic address pin
bmp280_address_t
bmp280 address enumeration definition
struct bmp280_info_s bmp280_info_t
bmp280 information structure definition
uint8_t bmp280_get_interface(bmp280_handle_t *handle, bmp280_interface_t *interface)
get the interface
uint8_t bmp280_set_standby_time(bmp280_handle_t *handle, bmp280_standby_time_t standby_time)
set standby time
bmp280_oversampling_t
bmp280 oversampling enumeration definition
uint8_t bmp280_get_status(bmp280_handle_t *handle, uint8_t *status)
get status
uint8_t bmp280_init(bmp280_handle_t *handle)
initialize the chip
struct bmp280_handle_s bmp280_handle_t
bmp280 handle structure definition
bmp280_standby_time_t
bmp280 standby time enumeration definition
uint8_t bmp280_set_temperatue_oversampling(bmp280_handle_t *handle, bmp280_oversampling_t oversampling)
set temperatue oversampling
@ BMP280_SPI_WIRE_4
@ BMP280_SPI_WIRE_3
@ BMP280_FILTER_OFF
@ BMP280_FILTER_COEFF_16
@ BMP280_FILTER_COEFF_8
@ BMP280_FILTER_COEFF_2
@ BMP280_FILTER_COEFF_4
@ BMP280_MODE_SLEEP
@ BMP280_MODE_NORMAL
@ BMP280_INTERFACE_SPI
@ BMP280_INTERFACE_IIC
@ BMP280_ADDRESS_ADO_HIGH
@ BMP280_ADDRESS_ADO_LOW
@ BMP280_OVERSAMPLING_x1
@ BMP280_OVERSAMPLING_x4
@ BMP280_OVERSAMPLING_x16
@ BMP280_OVERSAMPLING_SKIP
@ BMP280_OVERSAMPLING_x8
@ BMP280_OVERSAMPLING_x2
@ BMP280_STANDBY_TIME_1000_MS
@ BMP280_STANDBY_TIME_62P5_MS
@ BMP280_STANDBY_TIME_0P5_MS
@ BMP280_STANDBY_TIME_4000_MS
@ BMP280_STANDBY_TIME_2000_MS
@ BMP280_STANDBY_TIME_500_MS
@ BMP280_STANDBY_TIME_125_MS
@ BMP280_STANDBY_TIME_250_MS
uint8_t bmp280_interface_spi_read(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus read
uint8_t bmp280_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
uint8_t bmp280_interface_spi_init(void)
interface spi bus init
uint8_t bmp280_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read
uint8_t bmp280_interface_iic_deinit(void)
interface iic bus deinit
uint8_t bmp280_interface_spi_write(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus write
void bmp280_interface_delay_ms(uint32_t ms)
interface delay ms
uint8_t bmp280_interface_iic_init(void)
interface iic bus init
void bmp280_interface_debug_print(const char *const fmt,...)
interface print format data
uint8_t bmp280_interface_spi_deinit(void)
interface spi bus deinit
uint8_t bmp280_register_test(bmp280_interface_t interface, bmp280_address_t addr_pin)
register test
float supply_voltage_max_v
uint32_t driver_version
char manufacturer_name[32]
float supply_voltage_min_v
char chip_name[32]