LibDriver MS5837
Loading...
Searching...
No Matches
driver_ms5837_read_test.c
Go to the documentation of this file.
1
36
38
39static ms5837_handle_t gs_handle;
40
50uint8_t ms5837_read_test(ms5837_type_t type, uint32_t times)
51{
52 uint8_t res;
53 uint32_t i;
54 ms5837_info_t info;
55 ms5837_osr_t osr;
56
57 /* link interface function */
65
66 /* get chip information */
67 res = ms5837_info(&info);
68 if (res != 0)
69 {
70 ms5837_interface_debug_print("ms5837: get info failed.\n");
71
72 return 1;
73 }
74 else
75 {
76 /* print chip information */
77 ms5837_interface_debug_print("ms5837: chip is %s.\n", info.chip_name);
78 ms5837_interface_debug_print("ms5837: manufacturer is %s.\n", info.manufacturer_name);
79 ms5837_interface_debug_print("ms5837: interface is %s.\n", info.interface);
80 ms5837_interface_debug_print("ms5837: driver version is %d.%d.\n", info.driver_version / 1000, (info.driver_version % 1000) / 100);
81 ms5837_interface_debug_print("ms5837: min supply voltage is %0.1fV.\n", info.supply_voltage_min_v);
82 ms5837_interface_debug_print("ms5837: max supply voltage is %0.1fV.\n", info.supply_voltage_max_v);
83 ms5837_interface_debug_print("ms5837: max current is %0.2fmA.\n", info.max_current_ma);
84 ms5837_interface_debug_print("ms5837: max temperature is %0.1fC.\n", info.temperature_max);
85 ms5837_interface_debug_print("ms5837: min temperature is %0.1fC.\n", info.temperature_min);
86 }
87
88 /* ms5837 init */
89 res = ms5837_init(&gs_handle);
90 if (res != 0)
91 {
92 ms5837_interface_debug_print("ms5837: init failed.\n");
93
94 return 1;
95 }
96
97 /* start read test */
98 ms5837_interface_debug_print("ms5837: start read test.\n");
99
100 /* set the type */
101 res = ms5837_set_type(&gs_handle, type);
102 if (res != 0)
103 {
104 ms5837_interface_debug_print("ms5837: set type failed.\n");
105 (void)ms5837_deinit(&gs_handle);
106
107 return 1;
108 }
109
110 /* osr 256 */
111 ms5837_interface_debug_print("ms5837: osr 256.\n");
112
113 /* set temperature osr */
115 if (res != 0)
116 {
117 ms5837_interface_debug_print("ms5837: set temperature osr failed.\n");
118 (void)ms5837_deinit(&gs_handle);
119
120 return 1;
121 }
122
123 /* get temperature osr */
124 res = ms5837_get_temperature_osr(&gs_handle, &osr);
125 if (res != 0)
126 {
127 ms5837_interface_debug_print("ms5837: get temperature osr failed.\n");
128 (void)ms5837_deinit(&gs_handle);
129
130 return 1;
131 }
132
133 /* check the osr */
134 if (osr != MS5837_OSR_256)
135 {
136 ms5837_interface_debug_print("ms5837: osr is error.\n");
137 (void)ms5837_deinit(&gs_handle);
138
139 return 1;
140 }
141
142 /* set pressure osr */
143 res = ms5837_set_pressure_osr(&gs_handle, MS5837_OSR_256);
144 if (res != 0)
145 {
146 ms5837_interface_debug_print("ms5837: set pressure osr failed.\n");
147 (void)ms5837_deinit(&gs_handle);
148
149 return 1;
150 }
151
152 /* get pressure osr */
153 res = ms5837_get_pressure_osr(&gs_handle, &osr);
154 if (res != 0)
155 {
156 ms5837_interface_debug_print("ms5837: get pressure osr failed.\n");
157 (void)ms5837_deinit(&gs_handle);
158
159 return 1;
160 }
161
162 /* check the osr */
163 if (osr != MS5837_OSR_256)
164 {
165 ms5837_interface_debug_print("ms5837: osr is error.\n");
166 (void)ms5837_deinit(&gs_handle);
167
168 return 1;
169 }
170
171 for (i = 0; i < times; i++)
172 {
173 uint32_t temperature_raw;
174 float temperature_c;
175 uint32_t pressure_raw;
176 float pressure_mbar;
177
178 /* read temperature pressure */
179 res = ms5837_read_temperature_pressure(&gs_handle, &temperature_raw, &temperature_c, &pressure_raw, &pressure_mbar);
180 if (res != 0)
181 {
182 ms5837_interface_debug_print("ms5837: read temperature pressure failed.\n");
183 (void)ms5837_deinit(&gs_handle);
184
185 return 1;
186 }
187
188 /* output */
189 ms5837_interface_debug_print("ms5837: temperature is %0.2fC.\n", temperature_c);
190 ms5837_interface_debug_print("ms5837: pressure is %0.2fmbar.\n", pressure_mbar);
191
192 /* delay 1000ms */
194
195 /* read pressure */
196 res = ms5837_read_pressure(&gs_handle, &pressure_raw, &pressure_mbar);
197 if (res != 0)
198 {
199 ms5837_interface_debug_print("ms5837: read pressure failed.\n");
200 (void)ms5837_deinit(&gs_handle);
201
202 return 1;
203 }
204
205 /* output */
206 ms5837_interface_debug_print("ms5837: pressure is %0.2fmbar.\n", pressure_mbar);
207
208 /* delay 1000ms */
210
211 /* read temperature */
212 res = ms5837_read_temperature(&gs_handle, &temperature_raw, &temperature_c);
213 if (res != 0)
214 {
215 ms5837_interface_debug_print("ms5837: read temperature failed.\n");
216 (void)ms5837_deinit(&gs_handle);
217
218 return 1;
219 }
220
221 /* output */
222 ms5837_interface_debug_print("ms5837: temperature is %0.2fC.\n", temperature_c);
223
224 /* delay 1000ms */
226 }
227
228 /* osr 512 */
229 ms5837_interface_debug_print("ms5837: osr 512.\n");
230
231 /* set temperature osr */
233 if (res != 0)
234 {
235 ms5837_interface_debug_print("ms5837: set temperature osr failed.\n");
236 (void)ms5837_deinit(&gs_handle);
237
238 return 1;
239 }
240
241 /* get temperature osr */
242 res = ms5837_get_temperature_osr(&gs_handle, &osr);
243 if (res != 0)
244 {
245 ms5837_interface_debug_print("ms5837: get temperature osr failed.\n");
246 (void)ms5837_deinit(&gs_handle);
247
248 return 1;
249 }
250
251 /* check the osr */
252 if (osr != MS5837_OSR_512)
253 {
254 ms5837_interface_debug_print("ms5837: osr is error.\n");
255 (void)ms5837_deinit(&gs_handle);
256
257 return 1;
258 }
259
260 /* set pressure osr */
261 res = ms5837_set_pressure_osr(&gs_handle, MS5837_OSR_512);
262 if (res != 0)
263 {
264 ms5837_interface_debug_print("ms5837: set pressure osr failed.\n");
265 (void)ms5837_deinit(&gs_handle);
266
267 return 1;
268 }
269
270 /* get pressure osr */
271 res = ms5837_get_pressure_osr(&gs_handle, &osr);
272 if (res != 0)
273 {
274 ms5837_interface_debug_print("ms5837: get pressure osr failed.\n");
275 (void)ms5837_deinit(&gs_handle);
276
277 return 1;
278 }
279
280 /* check the osr */
281 if (osr != MS5837_OSR_512)
282 {
283 ms5837_interface_debug_print("ms5837: osr is error.\n");
284 (void)ms5837_deinit(&gs_handle);
285
286 return 1;
287 }
288
289 for (i = 0; i < times; i++)
290 {
291 uint32_t temperature_raw;
292 float temperature_c;
293 uint32_t pressure_raw;
294 float pressure_mbar;
295
296 /* read temperature pressure */
297 res = ms5837_read_temperature_pressure(&gs_handle, &temperature_raw, &temperature_c, &pressure_raw, &pressure_mbar);
298 if (res != 0)
299 {
300 ms5837_interface_debug_print("ms5837: read temperature pressure failed.\n");
301 (void)ms5837_deinit(&gs_handle);
302
303 return 1;
304 }
305
306 /* output */
307 ms5837_interface_debug_print("ms5837: temperature is %0.2fC.\n", temperature_c);
308 ms5837_interface_debug_print("ms5837: pressure is %0.2fmbar.\n", pressure_mbar);
309
310 /* delay 1000ms */
312
313 /* read pressure */
314 res = ms5837_read_pressure(&gs_handle, &pressure_raw, &pressure_mbar);
315 if (res != 0)
316 {
317 ms5837_interface_debug_print("ms5837: read pressure failed.\n");
318 (void)ms5837_deinit(&gs_handle);
319
320 return 1;
321 }
322
323 /* output */
324 ms5837_interface_debug_print("ms5837: pressure is %0.2fmbar.\n", pressure_mbar);
325
326 /* delay 1000ms */
328
329 /* read temperature */
330 res = ms5837_read_temperature(&gs_handle, &temperature_raw, &temperature_c);
331 if (res != 0)
332 {
333 ms5837_interface_debug_print("ms5837: read temperature failed.\n");
334 (void)ms5837_deinit(&gs_handle);
335
336 return 1;
337 }
338
339 /* output */
340 ms5837_interface_debug_print("ms5837: temperature is %0.2fC.\n", temperature_c);
341
342 /* delay 1000ms */
344 }
345
346 /* osr 1024 */
347 ms5837_interface_debug_print("ms5837: osr 1024.\n");
348
349 /* set temperature osr */
351 if (res != 0)
352 {
353 ms5837_interface_debug_print("ms5837: set temperature osr failed.\n");
354 (void)ms5837_deinit(&gs_handle);
355
356 return 1;
357 }
358
359 /* get temperature osr */
360 res = ms5837_get_temperature_osr(&gs_handle, &osr);
361 if (res != 0)
362 {
363 ms5837_interface_debug_print("ms5837: get temperature osr failed.\n");
364 (void)ms5837_deinit(&gs_handle);
365
366 return 1;
367 }
368
369 /* check the osr */
370 if (osr != MS5837_OSR_1024)
371 {
372 ms5837_interface_debug_print("ms5837: osr is error.\n");
373 (void)ms5837_deinit(&gs_handle);
374
375 return 1;
376 }
377
378 /* set pressure osr */
379 res = ms5837_set_pressure_osr(&gs_handle, MS5837_OSR_1024);
380 if (res != 0)
381 {
382 ms5837_interface_debug_print("ms5837: set pressure osr failed.\n");
383 (void)ms5837_deinit(&gs_handle);
384
385 return 1;
386 }
387
388 /* get pressure osr */
389 res = ms5837_get_pressure_osr(&gs_handle, &osr);
390 if (res != 0)
391 {
392 ms5837_interface_debug_print("ms5837: get pressure osr failed.\n");
393 (void)ms5837_deinit(&gs_handle);
394
395 return 1;
396 }
397
398 /* check the osr */
399 if (osr != MS5837_OSR_1024)
400 {
401 ms5837_interface_debug_print("ms5837: osr is error.\n");
402 (void)ms5837_deinit(&gs_handle);
403
404 return 1;
405 }
406
407 for (i = 0; i < times; i++)
408 {
409 uint32_t temperature_raw;
410 float temperature_c;
411 uint32_t pressure_raw;
412 float pressure_mbar;
413
414 /* read temperature pressure */
415 res = ms5837_read_temperature_pressure(&gs_handle, &temperature_raw, &temperature_c, &pressure_raw, &pressure_mbar);
416 if (res != 0)
417 {
418 ms5837_interface_debug_print("ms5837: read temperature pressure failed.\n");
419 (void)ms5837_deinit(&gs_handle);
420
421 return 1;
422 }
423
424 /* output */
425 ms5837_interface_debug_print("ms5837: temperature is %0.2fC.\n", temperature_c);
426 ms5837_interface_debug_print("ms5837: pressure is %0.2fmbar.\n", pressure_mbar);
427
428 /* delay 1000ms */
430
431 /* read pressure */
432 res = ms5837_read_pressure(&gs_handle, &pressure_raw, &pressure_mbar);
433 if (res != 0)
434 {
435 ms5837_interface_debug_print("ms5837: read pressure failed.\n");
436 (void)ms5837_deinit(&gs_handle);
437
438 return 1;
439 }
440
441 /* output */
442 ms5837_interface_debug_print("ms5837: pressure is %0.2fmbar.\n", pressure_mbar);
443
444 /* delay 1000ms */
446
447 /* read temperature */
448 res = ms5837_read_temperature(&gs_handle, &temperature_raw, &temperature_c);
449 if (res != 0)
450 {
451 ms5837_interface_debug_print("ms5837: read temperature failed.\n");
452 (void)ms5837_deinit(&gs_handle);
453
454 return 1;
455 }
456
457 /* output */
458 ms5837_interface_debug_print("ms5837: temperature is %0.2fC.\n", temperature_c);
459
460 /* delay 1000ms */
462 }
463
464 /* osr 2048 */
465 ms5837_interface_debug_print("ms5837: osr 2048.\n");
466
467 /* set temperature osr */
469 if (res != 0)
470 {
471 ms5837_interface_debug_print("ms5837: set temperature osr failed.\n");
472 (void)ms5837_deinit(&gs_handle);
473
474 return 1;
475 }
476
477 /* get temperature osr */
478 res = ms5837_get_temperature_osr(&gs_handle, &osr);
479 if (res != 0)
480 {
481 ms5837_interface_debug_print("ms5837: get temperature osr failed.\n");
482 (void)ms5837_deinit(&gs_handle);
483
484 return 1;
485 }
486
487 /* check the osr */
488 if (osr != MS5837_OSR_2048)
489 {
490 ms5837_interface_debug_print("ms5837: osr is error.\n");
491 (void)ms5837_deinit(&gs_handle);
492
493 return 1;
494 }
495
496 /* set pressure osr */
497 res = ms5837_set_pressure_osr(&gs_handle, MS5837_OSR_2048);
498 if (res != 0)
499 {
500 ms5837_interface_debug_print("ms5837: set pressure osr failed.\n");
501 (void)ms5837_deinit(&gs_handle);
502
503 return 1;
504 }
505
506 /* get pressure osr */
507 res = ms5837_get_pressure_osr(&gs_handle, &osr);
508 if (res != 0)
509 {
510 ms5837_interface_debug_print("ms5837: get pressure osr failed.\n");
511 (void)ms5837_deinit(&gs_handle);
512
513 return 1;
514 }
515
516 /* check the osr */
517 if (osr != MS5837_OSR_2048)
518 {
519 ms5837_interface_debug_print("ms5837: osr is error.\n");
520 (void)ms5837_deinit(&gs_handle);
521
522 return 1;
523 }
524
525 for (i = 0; i < times; i++)
526 {
527 uint32_t temperature_raw;
528 float temperature_c;
529 uint32_t pressure_raw;
530 float pressure_mbar;
531
532 /* read temperature pressure */
533 res = ms5837_read_temperature_pressure(&gs_handle, &temperature_raw, &temperature_c, &pressure_raw, &pressure_mbar);
534 if (res != 0)
535 {
536 ms5837_interface_debug_print("ms5837: read temperature pressure failed.\n");
537 (void)ms5837_deinit(&gs_handle);
538
539 return 1;
540 }
541
542 /* output */
543 ms5837_interface_debug_print("ms5837: temperature is %0.2fC.\n", temperature_c);
544 ms5837_interface_debug_print("ms5837: pressure is %0.2fmbar.\n", pressure_mbar);
545
546 /* delay 1000ms */
548
549 /* read pressure */
550 res = ms5837_read_pressure(&gs_handle, &pressure_raw, &pressure_mbar);
551 if (res != 0)
552 {
553 ms5837_interface_debug_print("ms5837: read pressure failed.\n");
554 (void)ms5837_deinit(&gs_handle);
555
556 return 1;
557 }
558
559 /* output */
560 ms5837_interface_debug_print("ms5837: pressure is %0.2fmbar.\n", pressure_mbar);
561
562 /* delay 1000ms */
564
565 /* read temperature */
566 res = ms5837_read_temperature(&gs_handle, &temperature_raw, &temperature_c);
567 if (res != 0)
568 {
569 ms5837_interface_debug_print("ms5837: read temperature failed.\n");
570 (void)ms5837_deinit(&gs_handle);
571
572 return 1;
573 }
574
575 /* output */
576 ms5837_interface_debug_print("ms5837: temperature is %0.2fC.\n", temperature_c);
577
578 /* delay 1000ms */
580 }
581
582 /* osr 4096 */
583 ms5837_interface_debug_print("ms5837: osr 4096.\n");
584
585 /* set temperature osr */
587 if (res != 0)
588 {
589 ms5837_interface_debug_print("ms5837: set temperature osr failed.\n");
590 (void)ms5837_deinit(&gs_handle);
591
592 return 1;
593 }
594
595 /* get temperature osr */
596 res = ms5837_get_temperature_osr(&gs_handle, &osr);
597 if (res != 0)
598 {
599 ms5837_interface_debug_print("ms5837: get temperature osr failed.\n");
600 (void)ms5837_deinit(&gs_handle);
601
602 return 1;
603 }
604
605 /* check the osr */
606 if (osr != MS5837_OSR_4096)
607 {
608 ms5837_interface_debug_print("ms5837: osr is error.\n");
609 (void)ms5837_deinit(&gs_handle);
610
611 return 1;
612 }
613
614 /* set pressure osr */
615 res = ms5837_set_pressure_osr(&gs_handle, MS5837_OSR_4096);
616 if (res != 0)
617 {
618 ms5837_interface_debug_print("ms5837: set pressure osr failed.\n");
619 (void)ms5837_deinit(&gs_handle);
620
621 return 1;
622 }
623
624 /* get pressure osr */
625 res = ms5837_get_pressure_osr(&gs_handle, &osr);
626 if (res != 0)
627 {
628 ms5837_interface_debug_print("ms5837: get pressure osr failed.\n");
629 (void)ms5837_deinit(&gs_handle);
630
631 return 1;
632 }
633
634 /* check the osr */
635 if (osr != MS5837_OSR_4096)
636 {
637 ms5837_interface_debug_print("ms5837: osr is error.\n");
638 (void)ms5837_deinit(&gs_handle);
639
640 return 1;
641 }
642
643 for (i = 0; i < times; i++)
644 {
645 uint32_t temperature_raw;
646 float temperature_c;
647 uint32_t pressure_raw;
648 float pressure_mbar;
649
650 /* read temperature pressure */
651 res = ms5837_read_temperature_pressure(&gs_handle, &temperature_raw, &temperature_c, &pressure_raw, &pressure_mbar);
652 if (res != 0)
653 {
654 ms5837_interface_debug_print("ms5837: read temperature pressure failed.\n");
655 (void)ms5837_deinit(&gs_handle);
656
657 return 1;
658 }
659
660 /* output */
661 ms5837_interface_debug_print("ms5837: temperature is %0.2fC.\n", temperature_c);
662 ms5837_interface_debug_print("ms5837: pressure is %0.2fmbar.\n", pressure_mbar);
663
664 /* delay 1000ms */
666
667 /* read pressure */
668 res = ms5837_read_pressure(&gs_handle, &pressure_raw, &pressure_mbar);
669 if (res != 0)
670 {
671 ms5837_interface_debug_print("ms5837: read pressure failed.\n");
672 (void)ms5837_deinit(&gs_handle);
673
674 return 1;
675 }
676
677 /* output */
678 ms5837_interface_debug_print("ms5837: pressure is %0.2fmbar.\n", pressure_mbar);
679
680 /* delay 1000ms */
682
683 /* read temperature */
684 res = ms5837_read_temperature(&gs_handle, &temperature_raw, &temperature_c);
685 if (res != 0)
686 {
687 ms5837_interface_debug_print("ms5837: read temperature failed.\n");
688 (void)ms5837_deinit(&gs_handle);
689
690 return 1;
691 }
692
693 /* output */
694 ms5837_interface_debug_print("ms5837: temperature is %0.2fC.\n", temperature_c);
695
696 /* delay 1000ms */
698 }
699 if (type != MS5837_TYPE_30BA26)
700 {
701 /* osr 8192 */
702 ms5837_interface_debug_print("ms5837: osr 8192.\n");
703
704 /* set temperature osr */
706 if (res != 0)
707 {
708 ms5837_interface_debug_print("ms5837: set temperature osr failed.\n");
709 (void)ms5837_deinit(&gs_handle);
710
711 return 1;
712 }
713
714 /* get temperature osr */
715 res = ms5837_get_temperature_osr(&gs_handle, &osr);
716 if (res != 0)
717 {
718 ms5837_interface_debug_print("ms5837: get temperature osr failed.\n");
719 (void)ms5837_deinit(&gs_handle);
720
721 return 1;
722 }
723
724 /* check the osr */
725 if (osr != MS5837_OSR_8192)
726 {
727 ms5837_interface_debug_print("ms5837: osr is error.\n");
728 (void)ms5837_deinit(&gs_handle);
729
730 return 1;
731 }
732
733 /* set pressure osr */
734 res = ms5837_set_pressure_osr(&gs_handle, MS5837_OSR_8192);
735 if (res != 0)
736 {
737 ms5837_interface_debug_print("ms5837: set pressure osr failed.\n");
738 (void)ms5837_deinit(&gs_handle);
739
740 return 1;
741 }
742
743 /* get pressure osr */
744 res = ms5837_get_pressure_osr(&gs_handle, &osr);
745 if (res != 0)
746 {
747 ms5837_interface_debug_print("ms5837: get pressure osr failed.\n");
748 (void)ms5837_deinit(&gs_handle);
749
750 return 1;
751 }
752
753 /* check the osr */
754 if (osr != MS5837_OSR_8192)
755 {
756 ms5837_interface_debug_print("ms5837: osr is error.\n");
757 (void)ms5837_deinit(&gs_handle);
758
759 return 1;
760 }
761
762 for (i = 0; i < times; i++)
763 {
764 uint32_t temperature_raw;
765 float temperature_c;
766 uint32_t pressure_raw;
767 float pressure_mbar;
768
769 /* read temperature pressure */
770 res = ms5837_read_temperature_pressure(&gs_handle, &temperature_raw, &temperature_c, &pressure_raw, &pressure_mbar);
771 if (res != 0)
772 {
773 ms5837_interface_debug_print("ms5837: read temperature pressure failed.\n");
774 (void)ms5837_deinit(&gs_handle);
775
776 return 1;
777 }
778
779 /* output */
780 ms5837_interface_debug_print("ms5837: temperature is %0.2fC.\n", temperature_c);
781 ms5837_interface_debug_print("ms5837: pressure is %0.2fmbar.\n", pressure_mbar);
782
783 /* delay 1000ms */
785
786 /* read pressure */
787 res = ms5837_read_pressure(&gs_handle, &pressure_raw, &pressure_mbar);
788 if (res != 0)
789 {
790 ms5837_interface_debug_print("ms5837: read pressure failed.\n");
791 (void)ms5837_deinit(&gs_handle);
792
793 return 1;
794 }
795
796 /* output */
797 ms5837_interface_debug_print("ms5837: pressure is %0.2fmbar.\n", pressure_mbar);
798
799 /* delay 1000ms */
801
802 /* read temperature */
803 res = ms5837_read_temperature(&gs_handle, &temperature_raw, &temperature_c);
804 if (res != 0)
805 {
806 ms5837_interface_debug_print("ms5837: read temperature failed.\n");
807 (void)ms5837_deinit(&gs_handle);
808
809 return 1;
810 }
811
812 /* output */
813 ms5837_interface_debug_print("ms5837: temperature is %0.2fC.\n", temperature_c);
814
815 /* delay 1000ms */
817 }
818 }
819
820 /* finish read test */
821 ms5837_interface_debug_print("ms5837: finish read test.\n");
822 (void)ms5837_deinit(&gs_handle);
823
824 return 0;
825}
driver ms5837 read test header file
ms5837_type_t
ms5837 type enumeration definition
uint8_t ms5837_read_temperature_pressure(ms5837_handle_t *handle, uint32_t *temperature_raw, float *temperature_c, uint32_t *pressure_raw, float *pressure_mbar)
read the temperature and pressure
uint8_t ms5837_deinit(ms5837_handle_t *handle)
close the chip
uint8_t ms5837_set_pressure_osr(ms5837_handle_t *handle, ms5837_osr_t osr)
set the adc pressure osr
struct ms5837_handle_s ms5837_handle_t
ms5837 handle structure definition
uint8_t ms5837_get_temperature_osr(ms5837_handle_t *handle, ms5837_osr_t *osr)
get the adc temperature osr
uint8_t ms5837_info(ms5837_info_t *info)
get chip's information
uint8_t ms5837_set_type(ms5837_handle_t *handle, ms5837_type_t type)
set the device type
uint8_t ms5837_read_temperature(ms5837_handle_t *handle, uint32_t *temperature_raw, float *temperature_c)
read the temperature
ms5837_osr_t
ms5837 osr enumeration definition
uint8_t ms5837_get_pressure_osr(ms5837_handle_t *handle, ms5837_osr_t *osr)
get the adc pressure osr
uint8_t ms5837_read_pressure(ms5837_handle_t *handle, uint32_t *pressure_raw, float *pressure_mbar)
read the pressure
struct ms5837_info_s ms5837_info_t
ms5837 information structure definition
uint8_t ms5837_init(ms5837_handle_t *handle)
initialize the chip
uint8_t ms5837_set_temperature_osr(ms5837_handle_t *handle, ms5837_osr_t osr)
set the adc temperature osr
@ MS5837_TYPE_30BA26
@ MS5837_OSR_8192
@ MS5837_OSR_256
@ MS5837_OSR_1024
@ MS5837_OSR_4096
@ MS5837_OSR_512
@ MS5837_OSR_2048
uint8_t ms5837_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read
uint8_t ms5837_interface_iic_deinit(void)
interface iic bus deinit
uint8_t ms5837_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
void ms5837_interface_delay_ms(uint32_t ms)
interface delay ms
uint8_t ms5837_interface_iic_init(void)
interface iic bus init
void ms5837_interface_debug_print(const char *const fmt,...)
interface print format data
uint8_t ms5837_read_test(ms5837_type_t type, uint32_t times)
read test
float supply_voltage_max_v
uint32_t driver_version
char manufacturer_name[32]
float supply_voltage_min_v
char chip_name[32]