LibDriver MS5837
Loading...
Searching...
No Matches
driver_ms5837_basic.c
Go to the documentation of this file.
1
36
37#include "driver_ms5837_basic.h"
38
39static ms5837_handle_t gs_handle;
40
50{
51 uint8_t res;
52
53 /* link interface function */
61
62 /* ms5837 init */
63 res = ms5837_init(&gs_handle);
64 if (res != 0)
65 {
66 ms5837_interface_debug_print("ms5837: init failed.\n");
67
68 return 1;
69 }
70
71 /* set the type */
72 res = ms5837_set_type(&gs_handle, type);
73 if (res != 0)
74 {
75 ms5837_interface_debug_print("ms5837: set type failed.\n");
76 (void)ms5837_deinit(&gs_handle);
77
78 return 1;
79 }
80
81 /* set temperature osr */
83 if (res != 0)
84 {
85 ms5837_interface_debug_print("ms5837: set temperature osr failed.\n");
86 (void)ms5837_deinit(&gs_handle);
87
88 return 1;
89 }
90
91 /* set pressure osr */
93 if (res != 0)
94 {
95 ms5837_interface_debug_print("ms5837: set pressure osr failed.\n");
96 (void)ms5837_deinit(&gs_handle);
97
98 return 1;
99 }
100
101 return 0;
102}
103
113uint8_t ms5837_basic_read(float *temperature_c, float *pressure_mbar)
114{
115 uint32_t temperature_raw;
116 uint32_t pressure_raw;
117
118 /* read temperature and pressure */
119 if (ms5837_read_temperature_pressure(&gs_handle, &temperature_raw, temperature_c, &pressure_raw, pressure_mbar) != 0)
120 {
121 return 1;
122 }
123 else
124 {
125 return 0;
126 }
127}
128
137{
138 /* close ms5837 */
139 if (ms5837_deinit(&gs_handle) != 0)
140 {
141 return 1;
142 }
143 else
144 {
145 return 0;
146 }
147}
driver ms5837 basic 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_set_type(ms5837_handle_t *handle, ms5837_type_t type)
set the device type
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
uint8_t ms5837_basic_deinit(void)
basic example deinit
#define MS5837_BASIC_DEFAULT_PRESSURE_OSR
#define MS5837_BASIC_DEFAULT_TEMPERATURE_OSR
ms5837 basic example default definition
uint8_t ms5837_basic_read(float *temperature_c, float *pressure_mbar)
basic example read
uint8_t ms5837_basic_init(ms5837_type_t type)
basic example init
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