35#include "drv_digital_out.h"
36#include "drv_digital_in.h"
37#include "drv_i2c_master.h"
38#include "drv_spi_master.h"
61#define BAROMETER9_REG_PART_ID0 0x00
62#define BAROMETER9_REG_PART_ID1 0x01
63#define BAROMETER9_REG_UIND0 0x02
64#define BAROMETER9_REG_UIND1 0x03
65#define BAROMETER9_REG_UIND2 0x04
66#define BAROMETER9_REG_UIND3 0x05
67#define BAROMETER9_MODE_CFG 0x06
68#define BAROMETER9_MEAS_CFG 0x07
69#define BAROMETER9_STBY_CFG 0x08
70#define BAROMETER9_OVS_CFG 0x09
71#define BAROMETER9_MAVG_CFG 0x0A
72#define BAROMETER9_INTF_CFG 0x0B
73#define BAROMETER9_INT_CFG 0x0C
74#define BAROMETER9_PRESS_LO_XL_CFG 0x0D
75#define BAROMETER9_PRESS_LO_L_CFG 0x0E
76#define BAROMETER9_PRESS_LO_H_CFG 0x0F
77#define BAROMETER9_PRESS_HI_XL_CFG 0x10
78#define BAROMETER9_PRESS_HI_L_CFG 0x11
79#define BAROMETER9_PRESS_HI_H_CFG 0x12
80#define BAROMETER9_FIFO_CFG 0x13
81#define BAROMETER9_DATA_STAT 0x14
82#define BAROMETER9_FIFO_STAT 0x15
83#define BAROMETER9_INT_STAT 0x16
84#define BAROMETER9_PRESS_OUT_XL 0x17
85#define BAROMETER9_PRESS_OUT_L 0x18
86#define BAROMETER9_PRESS_OUT_H 0x19
87#define BAROMETER9_TEMP_OUT_L 0x1A
88#define BAROMETER9_TEMP_OUT_H 0x1B
89#define BAROMETER9_PRESS_OUT_F_XL 0x27
90#define BAROMETER9_PRESS_OUT_F_L 0x28
91#define BAROMETER9_PRESS_OUT_F_H 0x29
109#define BAROMETER9_HIGH_POWER_MODE 0x80
110#define BAROMETER9_LOW_POWER_MODE 0x00
111#define BAROMETER9_DIRECT_PATH 0x00
112#define BAROMETER9_FIFO_MODE 0x20
113#define BAROMETER9_AVERAGE_MODE 0x40
114#define BAROMETER9_IDLE_MODE 0x00
115#define BAROMETER9_MEASURMENT_MODE 0x10
116#define BAROMETER9_SW_RESET 0x08
117#define BAROMETER9_READ_PRESS_ONLY 0x01
118#define BAROMETER9_READ_TEMP_ONLY 0x02
119#define BAROMETER9_READ_PRES_AND_TEMP 0x03
125#define BAROMETER9_P_CONV_0 0x00
126#define BAROMETER9_P_CONV_1 0x08
127#define BAROMETER9_P_CONV_2 0x10
128#define BAROMETER9_PT_RATE_1 0x00
129#define BAROMETER9_PT_RATE_4 0x01
130#define BAROMETER9_PT_RATE_8 0x02
131#define BAROMETER9_PT_RATE_16 0x03
132#define BAROMETER9_PT_RATE_32 0x04
133#define BAROMETER9_PT_RATE_64 0x05
134#define BAROMETER9_PT_RATE_128 0x06
135#define BAROMETER9_PT_RATE_256 0x07
141#define BAROMETER9_TEMPERATURE_CON_CONST 128
142#define BAROMETER9_K_TO_C_CON_CONST 273.15f
143#define BAROMETER9_PRESSURE_CON_CONST 64
149#define BAROMETER9_DEVICE_ID 0x0321
156#define BAROMETER9_DEVICE_ADDRESS 0x20
166#define BAROMETER9_SET_DATA_SAMPLE_EDGE SET_SPI_DATA_SAMPLE_EDGE
167#define BAROMETER9_SET_DATA_SAMPLE_MIDDLE SET_SPI_DATA_SAMPLE_MIDDLE
185#define BAROMETER9_MAP_MIKROBUS( cfg, mikrobus ) \
186 cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \
187 cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ); \
188 cfg.miso = MIKROBUS( mikrobus, MIKROBUS_MISO ); \
189 cfg.mosi = MIKROBUS( mikrobus, MIKROBUS_MOSI ); \
190 cfg.sck = MIKROBUS( mikrobus, MIKROBUS_SCK ); \
191 cfg.cs = MIKROBUS( mikrobus, MIKROBUS_CS ); \
192 cfg.int_pin = MIKROBUS( mikrobus, MIKROBUS_INT )
barometer9_return_value_t
Barometer 9 Click return value data.
Definition: barometer9.h:265
@ BAROMETER9_ERROR
Definition: barometer9.h:267
@ BAROMETER9_OK
Definition: barometer9.h:266
struct barometer9_s barometer9_t
Barometer 9 Click context object.
barometer9_drv_t
Barometer 9 Click driver selector.
Definition: barometer9.h:202
@ BAROMETER9_DRV_SEL_SPI
Definition: barometer9.h:203
@ BAROMETER9_DRV_SEL_I2C
Definition: barometer9.h:204
err_t(* barometer9_master_io_t)(struct barometer9_s *, uint8_t, uint8_t *, uint8_t)
Definition: barometer9.h:213
err_t barometer9_generic_read(barometer9_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len)
Barometer 9 data reading function.
void barometer9_cfg_setup(barometer9_cfg_t *cfg)
Barometer 9 configuration object setup function.
err_t barometer9_init(barometer9_t *ctx, barometer9_cfg_t *cfg)
Barometer 9 initialization function.
err_t barometer9_read_part_id(barometer9_t *ctx, uint16_t *part_id)
Barometer 9 Device ID reading function.
err_t barometer9_get_temperature(barometer9_t *ctx, float *temperature)
Barometer 9 temperature reading function.
err_t barometer9_get_pressure(barometer9_t *ctx, float *pressure)
Barometer 9 pressure reading function.
err_t barometer9_generic_write(barometer9_t *ctx, uint8_t reg, uint8_t *data_in, uint8_t len)
Barometer 9 data writing function.
err_t barometer9_default_cfg(barometer9_t *ctx)
Barometer 9 default configuration function.
err_t barometer9_sw_reset(barometer9_t *ctx)
Barometer 9 software reset function.
void barometer9_drv_interface_sel(barometer9_cfg_t *cfg, barometer9_drv_t drv_sel)
Barometer 9 driver interface setup function.
This file contains SPI specific macros, functions, etc.
Barometer 9 Click configuration object.
Definition: barometer9.h:240
uint32_t i2c_speed
Definition: barometer9.h:249
spi_master_chip_select_polarity_t cs_polarity
Definition: barometer9.h:254
barometer9_drv_t drv_sel
Definition: barometer9.h:256
pin_name_t sck
Definition: barometer9.h:245
spi_master_mode_t spi_mode
Definition: barometer9.h:253
pin_name_t mosi
Definition: barometer9.h:244
uint32_t spi_speed
Definition: barometer9.h:252
pin_name_t scl
Definition: barometer9.h:241
pin_name_t int_pin
Definition: barometer9.h:247
pin_name_t miso
Definition: barometer9.h:243
pin_name_t sda
Definition: barometer9.h:242
pin_name_t cs
Definition: barometer9.h:246
uint8_t i2c_address
Definition: barometer9.h:250
Barometer 9 Click context object.
Definition: barometer9.h:220
spi_master_t spi
Definition: barometer9.h:224
barometer9_master_io_t write_f
Definition: barometer9.h:230
barometer9_drv_t drv_sel
Definition: barometer9.h:228
digital_in_t int_pin
Definition: barometer9.h:221
i2c_master_t i2c
Definition: barometer9.h:223
uint8_t slave_address
Definition: barometer9.h:226
pin_name_t chip_select
Definition: barometer9.h:227
barometer9_master_io_t read_f
Definition: barometer9.h:231