LibDriver MS5611
Loading...
Searching...
No Matches
driver_ms5611_basic.c
Go to the documentation of this file.
1
36
37#include "driver_ms5611_basic.h"
38
39static ms5611_handle_t gs_handle;
40
51{
52 uint8_t res;
53
54 /* link interface function */
66
67 /* set the interface */
68 res = ms5611_set_interface(&gs_handle, interface);
69 if (res != 0)
70 {
71 ms5611_interface_debug_print("ms5611: set interface failed.\n");
72
73 return 1;
74 }
75
76 /* set addr pin */
77 res = ms5611_set_addr_pin(&gs_handle, addr_pin);
78 if (res != 0)
79 {
80 ms5611_interface_debug_print("ms5611: set addr pin failed.\n");
81
82 return 1;
83 }
84
85 /* ms5611 initialization */
86 res = ms5611_init(&gs_handle);
87 if (res != 0)
88 {
89 ms5611_interface_debug_print("ms5611: init failed.\n");
90
91 return 1;
92 }
93
94 /* set default temperature osr */
96 if (res != 0)
97 {
98 ms5611_interface_debug_print("ms5611: set temperature osr failed.\n");
99 (void)ms5611_deinit(&gs_handle);
100
101 return 1;
102 }
103
104 /* set default pressure osr */
106 if (res != 0)
107 {
108 ms5611_interface_debug_print("ms5611: set pressure osr failed.\n");
109 (void)ms5611_deinit(&gs_handle);
110
111 return 1;
112 }
113
114 return 0;
115}
116
126uint8_t ms5611_basic_read(float *temperature_c, float *pressure_mbar)
127{
128 uint8_t res;
129 uint32_t temperature_raw;
130 uint32_t pressure_raw;
131
132 res = ms5611_read_temperature_pressure(&gs_handle, &temperature_raw, temperature_c,
133 &pressure_raw, pressure_mbar);
134 if (res != 0)
135 {
136 return 1;
137 }
138
139 return 0;
140}
141
150{
151 if (ms5611_deinit(&gs_handle) != 0)
152 {
153 return 1;
154 }
155
156 return 0;
157}
driver ms5611 basic header file
ms5611_address_t
ms5611 address enumeration definition
uint8_t ms5611_deinit(ms5611_handle_t *handle)
close the chip
uint8_t ms5611_set_pressure_osr(ms5611_handle_t *handle, ms5611_osr_t osr)
set pressure osr
uint8_t ms5611_set_addr_pin(ms5611_handle_t *handle, ms5611_address_t addr_pin)
set the iic address pin
uint8_t ms5611_read_temperature_pressure(ms5611_handle_t *handle, uint32_t *temperature_raw, float *temperature_c, uint32_t *pressure_raw, float *pressure_mbar)
read the temperature and pressure
ms5611_interface_t
ms5611 interface enumeration definition
struct ms5611_handle_s ms5611_handle_t
ms5611 handle structure definition
uint8_t ms5611_init(ms5611_handle_t *handle)
initialize the chip
uint8_t ms5611_set_interface(ms5611_handle_t *handle, ms5611_interface_t interface)
set the chip interface
uint8_t ms5611_set_temperature_osr(ms5611_handle_t *handle, ms5611_osr_t osr)
set temperature osr
uint8_t ms5611_basic_init(ms5611_interface_t interface, ms5611_address_t addr_pin)
basic example init
#define MS5611_BASIC_DEFAULT_PRESSURE_OSR
#define MS5611_BASIC_DEFAULT_TEMPERATURE_OSR
ms5611 basic example default definition
uint8_t ms5611_basic_deinit(void)
basic example deinit
uint8_t ms5611_basic_read(float *temperature_c, float *pressure_mbar)
basic example read
uint8_t ms5611_interface_spi_read(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus read
void ms5611_interface_debug_print(const char *const fmt,...)
interface print format data
uint8_t ms5611_interface_spi_deinit(void)
interface spi bus deinit
uint8_t ms5611_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
uint8_t ms5611_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read
void ms5611_interface_delay_ms(uint32_t ms)
interface delay ms
uint8_t ms5611_interface_iic_init(void)
interface iic bus init
uint8_t ms5611_interface_spi_init(void)
interface spi bus init
uint8_t ms5611_interface_spi_write(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus write
uint8_t ms5611_interface_iic_deinit(void)
interface iic bus deinit