Go to the documentation of this file.
28 #ifndef PRESSURE2330BA_H
29 #define PRESSURE2330BA_H
39 #ifdef PREINIT_SUPPORTED
43 #ifdef MikroCCoreVersion
44 #if MikroCCoreVersion >= 1
49 #include "drv_digital_out.h"
50 #include "drv_digital_in.h"
51 #include "drv_i2c_master.h"
52 #include "drv_spi_master.h"
75 #define PRESSURE2330BA_REG_SERIAL_NUMBER_MSB 0x02
76 #define PRESSURE2330BA_REG_SERIAL_NUMBER_LSB 0x03
77 #define PRESSURE2330BA_REG_COEF_C1 0x04
78 #define PRESSURE2330BA_REG_COEF_C2 0x05
79 #define PRESSURE2330BA_REG_COEF_C3 0x06
80 #define PRESSURE2330BA_REG_COEF_C4 0x07
81 #define PRESSURE2330BA_REG_COEF_C5 0x08
82 #define PRESSURE2330BA_REG_COEF_C6 0x09
83 #define PRESSURE2330BA_REG_COEF_C7 0x0A
84 #define PRESSURE2330BA_REG_COEF_C8 0x0B
85 #define PRESSURE2330BA_REG_COEF_C9 0x0C
86 #define PRESSURE2330BA_REG_COEF_C10 0x0D
87 #define PRESSURE2330BA_REG_PROM_ID_CRC 0x0F
105 #define PRESSURE2330BA_CMD_RESET 0x10
106 #define PRESSURE2330BA_CMD_WRITE_CONFIG_PRESS 0x20
107 #define PRESSURE2330BA_CMD_WRITE_CONFIG_TEMP 0x22
108 #define PRESSURE2330BA_CMD_READ_CONFIG_PRESS 0x28
109 #define PRESSURE2330BA_CMD_READ_CONFIG_TEMP 0x2A
110 #define PRESSURE2330BA_CMD_READ_MEMORY 0xE0
111 #define PRESSURE2330BA_CMD_START_CONVERSION 0x40
112 #define PRESSURE2330BA_CMD_START_CONVERSION_PRESS 0x44
113 #define PRESSURE2330BA_CMD_START_CONVERSION_TEMP 0x48
114 #define PRESSURE2330BA_CMD_READ_ADC_REG 0x50
115 #define PRESSURE2330BA_CMD_READ_ADC_REG_PRESS 0x54
116 #define PRESSURE2330BA_CMD_READ_ADC_REG_TEMP 0x58
117 #define PRESSURE2330BA_CMD_WRITE_OPERATION_REG 0x14
118 #define PRESSURE2330BA_CMD_READ_OPERATION_REG 0x16
119 #define PRESSURE2330BA_CMD_WRITE_INTERRUPT_MASK 0x18
120 #define PRESSURE2330BA_CMD_READ_INTERRUPT_MASK 0x1A
121 #define PRESSURE2330BA_CMD_WRITE_INTERRUPT_REG 0x1C
122 #define PRESSURE2330BA_CMD_READ_INTERRUPT_REG 0x1E
123 #define PRESSURE2330BA_CMD_WRITE_LIMIT_REG_TEMP_L 0x30
124 #define PRESSURE2330BA_CMD_WRITE_LIMIT_REG_TEMP_H 0x32
125 #define PRESSURE2330BA_CMD_WRITE_LIMIT_REG_PRESS_L 0x34
126 #define PRESSURE2330BA_CMD_WRITE_LIMIT_REG_PRESS_H 0x36
127 #define PRESSURE2330BA_CMD_READ_LIMIT_REG_TEMP_L 0x38
128 #define PRESSURE2330BA_CMD_READ_LIMIT_REG_TEMP_H 0x3A
129 #define PRESSURE2330BA_CMD_READ_LIMIT_REG_PRESS_L 0x3C
130 #define PRESSURE2330BA_CMD_READ_LIMIT_REG_PRESS_H 0x3E
148 #define PRESSURE2330BA_SNSR_CFG_SEL_PRESS 0x00
149 #define PRESSURE2330BA_SNSR_CFG_SEL_TEMP 0x01
150 #define PRESSURE2330BA_SNSR_CFG_SEL_BIT_MASK 0x01
151 #define PRESSURE2330BA_SNSR_CFG_RATIO_OFF 0x00
152 #define PRESSURE2330BA_SNSR_CFG_RATIO_1 0x01
153 #define PRESSURE2330BA_SNSR_CFG_RATIO_2 0x02
154 #define PRESSURE2330BA_SNSR_CFG_RATIO_4 0x03
155 #define PRESSURE2330BA_SNSR_CFG_RATIO_8 0x04
156 #define PRESSURE2330BA_SNSR_CFG_RATIO_16 0x05
157 #define PRESSURE2330BA_SNSR_CFG_RATIO_32 0x06
158 #define PRESSURE2330BA_SNSR_CFG_RATIO_BIT_MASK 0x07
159 #define PRESSURE2330BA_SNSR_CFG_FILTER_OFF 0x00
160 #define PRESSURE2330BA_SNSR_CFG_FILTER_2 0x01
161 #define PRESSURE2330BA_SNSR_CFG_FILTER_4 0x02
162 #define PRESSURE2330BA_SNSR_CFG_FILTER_8 0x03
163 #define PRESSURE2330BA_SNSR_CFG_FILTER_16 0x04
164 #define PRESSURE2330BA_SNSR_CFG_FILTER_32 0x05
165 #define PRESSURE2330BA_SNSR_CFG_FILTER_BIT_MASK 0x07
166 #define PRESSURE2330BA_SNSR_CFG_RES_24_BIT 0x00
167 #define PRESSURE2330BA_SNSR_CFG_RES_16_BIT 0x01
168 #define PRESSURE2330BA_SNSR_CFG_RES_8_BIT 0x02
169 #define PRESSURE2330BA_SNSR_CFG_RES_BIT_MASK 0x03
170 #define PRESSURE2330BA_SNSR_CFG_OSR_0 0x00
171 #define PRESSURE2330BA_SNSR_CFG_OSR_1 0x01
172 #define PRESSURE2330BA_SNSR_CFG_OSR_2 0x02
173 #define PRESSURE2330BA_SNSR_CFG_OSR_3 0x03
174 #define PRESSURE2330BA_SNSR_CFG_OSR_4 0x04
175 #define PRESSURE2330BA_SNSR_CFG_OSR_5 0x05
176 #define PRESSURE2330BA_SNSR_CFG_OSR_6 0x06
177 #define PRESSURE2330BA_SNSR_CFG_OSR_BIT_MASK 0x07
183 #define PRESSURE2330BA_CNV_ADC_SEL_PRESS 0x00
184 #define PRESSURE2330BA_CNV_ADC_SEL_TEMP 0x01
185 #define PRESSURE2330BA_CNV_ADC_BIT_MASK 0x01
186 #define PRESSURE2330BA_CNV_ADC_REG_BIT_MASK 0x04
192 #define PRESSURE2330BA_OP_REG_FIFO_INT_TH_OFF 0x00
193 #define PRESSURE2330BA_OP_REG_FIFO_INT_TH_BIT_MASK 0x1F
194 #define PRESSURE2330BA_OP_REG_FIFO_MODE_OFF 0x00
195 #define PRESSURE2330BA_OP_REG_FIFO_MODE_BIT_MASK 0x03
196 #define PRESSURE2330BA_OP_REG_DELAY_OFF 0x00
197 #define PRESSURE2330BA_OP_REG_DELAY_5_MS 0x01
198 #define PRESSURE2330BA_OP_REG_DELAY_10_MS 0x02
199 #define PRESSURE2330BA_OP_REG_DELAY_20_MS 0x03
200 #define PRESSURE2330BA_OP_REG_DELAY_50_MS 0x04
201 #define PRESSURE2330BA_OP_REG_DELAY_100_MS 0x05
202 #define PRESSURE2330BA_OP_REG_DELAY_200_MS 0x06
203 #define PRESSURE2330BA_OP_REG_DELAY_500_MS 0x07
204 #define PRESSURE2330BA_OP_REG_DELAY_1_SEC 0x08
205 #define PRESSURE2330BA_OP_REG_DELAY_2_SEC 0x09
206 #define PRESSURE2330BA_OP_REG_DELAY_5_SEC 0x0A
207 #define PRESSURE2330BA_OP_REG_DELAY_10_SEC 0x0B
208 #define PRESSURE2330BA_OP_REG_DELAY_20_SEC 0x0C
209 #define PRESSURE2330BA_OP_REG_DELAY_60_SEC 0x0D
210 #define PRESSURE2330BA_OP_REG_DELAY_BIT_MASK 0x0F
216 #define PRESSURE2330BA_LIM_REG_SEL_TEMP 0x00
217 #define PRESSURE2330BA_LIM_REG_SEL_PRESS 0x01
218 #define PRESSURE2330BA_LIM_REG_SEL_BIT_MASK 0x01
219 #define PRESSURE2330BA_LIM_REG_LIM_LOW 0x00
220 #define PRESSURE2330BA_LIM_REG_LIM_HIGH 0x01
221 #define PRESSURE2330BA_LIM_REG_LIM_BIT_MASK 0x01
227 #define PRESSURE2330BA_COEF_TEMP_D2_DIV 536870912.0f
228 #define PRESSURE2330BA_COEF_TEMP_D1_DIV 34359738368.0f
229 #define PRESSURE2330BA_COEF_TEMP_C2_DIV 64.0f
230 #define PRESSURE2330BA_COEF_OFF_SENS_DIV 512.0f
231 #define PRESSURE2330BA_COEF_PRESS_DIV 4194304.0f
238 #define PRESSURE2330BA_DEVICE_ADDRESS_GND 0x77
239 #define PRESSURE2330BA_DEVICE_ADDRESS_VCC 0x76
249 #define PRESSURE2330BA_SET_DATA_SAMPLE_EDGE SET_SPI_DATA_SAMPLE_EDGE
250 #define PRESSURE2330BA_SET_DATA_SAMPLE_MIDDLE SET_SPI_DATA_SAMPLE_MIDDLE
268 #define PRESSURE2330BA_MAP_MIKROBUS( cfg, mikrobus ) \
269 cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \
270 cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ); \
271 cfg.miso = MIKROBUS( mikrobus, MIKROBUS_MISO ); \
272 cfg.mosi = MIKROBUS( mikrobus, MIKROBUS_MOSI ); \
273 cfg.sck = MIKROBUS( mikrobus, MIKROBUS_SCK ); \
274 cfg.cs = MIKROBUS( mikrobus, MIKROBUS_CS ); \
275 cfg.int_pin = MIKROBUS( mikrobus, MIKROBUS_INT )
813 #endif // PRESSURE2330BA_H
err_t pressure2330ba_generic_write(pressure2330ba_t *ctx, uint8_t reg, uint8_t *data_in, uint8_t len)
Pressure 23 30BA data writing function.
pressure2330ba_return_value_t
Pressure 23 30BA Click return value data.
Definition: pressure2330ba.h:380
void pressure2330ba_drv_interface_selection(pressure2330ba_cfg_t *cfg, pressure2330ba_drv_t drv_sel)
Pressure 23 30BA driver interface setup function.
err_t pressure2330ba_generic_read(pressure2330ba_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len)
Pressure 23 30BA data reading function.
err_t pressure2330ba_read_op_reg(pressure2330ba_t *ctx, uint8_t *fifo_int_th, uint8_t *fifo_mode, uint8_t *delay)
Pressure 23 30BA operation register data reading function.
pressure2330ba_drv_t
Pressure 23 30BA Click driver selector.
Definition: pressure2330ba.h:285
Pressure 23 30BA Click context object.
Definition: pressure2330ba.h:302
err_t pressure2330ba_start_conversion(pressure2330ba_t *ctx, uint8_t sel_cnv)
Pressure 23 30BA start the conversion function.
err_t pressure2330ba_default_cfg(pressure2330ba_t *ctx)
Pressure 23 30BA default configuration function.
This file contains SPI specific macros, functions, etc.
digital_in_t int_pin
Definition: pressure2330ba.h:303
uint32_t spi_speed
Definition: pressure2330ba.h:353
spi_master_t spi
Definition: pressure2330ba.h:306
uint8_t resolution
Definition: pressure2330ba.h:370
err_t pressure2330ba_read_config(pressure2330ba_t *ctx, uint8_t sel_cfg, pressure2330ba_sensor_cfg_t *config)
Pressure 23 30BA configuration data reading function.
err_t(* pressure2330ba_master_io_t)(struct pressure2330ba_s *, uint8_t, uint8_t *, uint8_t)
Pressure 23 30BA Click driver interface.
Definition: pressure2330ba.h:295
err_t pressure2330ba_get_adc_data_press(pressure2330ba_t *ctx, uint32_t *pressure)
Pressure 23 30BA get the ADC pressure data function.
pressure2330ba_master_io_t write_f
Definition: pressure2330ba.h:331
uint16_t prom_c6
Definition: pressure2330ba.h:322
err_t pressure2330ba_write_int_reg(pressure2330ba_t *ctx, uint16_t int_reg_data)
Pressure 23 30BA interrupt register data writing function.
err_t pressure2330ba_read_memory(pressure2330ba_t *ctx, uint8_t reg, uint16_t *prom)
Pressure 23 30BA read memory function.
err_t pressure2330ba_get_calibration_data(pressure2330ba_t *ctx)
Pressure 23 30BA gets the calibration data function.
pin_name_t sda
Definition: pressure2330ba.h:343
pin_name_t mosi
Definition: pressure2330ba.h:345
@ PRESSURE2330BA_OK
Definition: pressure2330ba.h:381
uint8_t i2c_address
Definition: pressure2330ba.h:351
pin_name_t chip_select
Definition: pressure2330ba.h:309
uint8_t prom_product_id
Definition: pressure2330ba.h:314
err_t pressure2330ba_read_lim_reg(pressure2330ba_t *ctx, uint8_t sel_adr, uint8_t sel_lim, uint16_t *lim_reg_data)
Pressure 23 30BA limit register data reading function.
pressure2330ba_drv_t drv_sel
Definition: pressure2330ba.h:357
err_t pressure2330ba_get_measurement_data(pressure2330ba_t *ctx, float *pressure, float *temperature)
Pressure 23 30BA gets the measurement data function.
pin_name_t scl
Definition: pressure2330ba.h:342
uint8_t pressure2330ba_get_interrupt(pressure2330ba_t *ctx)
Pressure 23 30BA gets the interrupt function.
uint8_t filter
Definition: pressure2330ba.h:369
pin_name_t sck
Definition: pressure2330ba.h:346
Pressure 23 30BA Click sensor configuration object.
Definition: pressure2330ba.h:366
pressure2330ba_master_io_t read_f
Definition: pressure2330ba.h:332
err_t pressure2330ba_sw_reset(pressure2330ba_t *ctx)
Pressure 23 30BA software reset function.
uint16_t prom_c5
Definition: pressure2330ba.h:321
uint16_t prom_c4
Definition: pressure2330ba.h:320
err_t pressure2330ba_get_adc_data_temp(pressure2330ba_t *ctx, uint32_t *temperature)
Pressure 23 30BA get the ADC temperature data function.
err_t pressure2330ba_write_lim_reg(pressure2330ba_t *ctx, uint8_t sel_adr, uint8_t sel_lim, uint16_t lim_reg_data)
Pressure 23 30BA limit register data writing function.
err_t pressure2330ba_write_config(pressure2330ba_t *ctx, pressure2330ba_sensor_cfg_t config)
Pressure 23 30BA configuration data writing function.
uint8_t slave_address
Definition: pressure2330ba.h:308
spi_master_chip_select_polarity_t cs_polarity
Definition: pressure2330ba.h:355
err_t pressure2330ba_write_op_reg(pressure2330ba_t *ctx, uint8_t fifo_int_th, uint8_t fifo_mode, uint8_t delay)
Pressure 23 30BA operation register data writing function.
uint16_t prom_c7
Definition: pressure2330ba.h:323
uint8_t osr_press
Definition: pressure2330ba.h:328
uint16_t prom_c1
Definition: pressure2330ba.h:317
uint16_t prom_c3
Definition: pressure2330ba.h:319
pressure2330ba_drv_t drv_sel
Definition: pressure2330ba.h:310
@ PRESSURE2330BA_DRV_SEL_SPI
Definition: pressure2330ba.h:286
uint32_t prom_serial_num
Definition: pressure2330ba.h:313
uint8_t ratio
Definition: pressure2330ba.h:368
uint8_t osr
Definition: pressure2330ba.h:371
i2c_master_t i2c
Definition: pressure2330ba.h:305
pin_name_t cs
Definition: pressure2330ba.h:347
uint16_t prom_c2
Definition: pressure2330ba.h:318
pin_name_t miso
Definition: pressure2330ba.h:344
err_t pressure2330ba_read_int_reg(pressure2330ba_t *ctx, uint16_t *int_reg_data)
Pressure 23 30BA interrupt register data reading function.
pin_name_t int_pin
Definition: pressure2330ba.h:348
err_t pressure2330ba_read_int_mask(pressure2330ba_t *ctx, uint16_t *int_mask_data)
Pressure 23 30BA interrupt mask data reading function.
uint16_t prom_c9
Definition: pressure2330ba.h:325
err_t pressure2330ba_set_command(pressure2330ba_t *ctx, uint8_t cmd)
Pressure 23 30BA set the command function.
@ PRESSURE2330BA_DRV_SEL_I2C
Definition: pressure2330ba.h:287
void pressure2330ba_cfg_setup(pressure2330ba_cfg_t *cfg)
Pressure 23 30BA configuration object setup function.
spi_master_mode_t spi_mode
Definition: pressure2330ba.h:354
uint8_t sel
Definition: pressure2330ba.h:367
err_t pressure2330ba_init(pressure2330ba_t *ctx, pressure2330ba_cfg_t *cfg)
Pressure 23 30BA initialization function.
uint8_t osr_temp
Definition: pressure2330ba.h:329
uint16_t prom_c10
Definition: pressure2330ba.h:326
uint32_t i2c_speed
Definition: pressure2330ba.h:350
err_t pressure2330ba_write_int_mask(pressure2330ba_t *ctx, uint16_t int_mask_data)
Pressure 23 30BA interrupt mask data writing function.
@ PRESSURE2330BA_ERROR
Definition: pressure2330ba.h:382
struct pressure2330ba_s pressure2330ba_t
Pressure 23 30BA Click context object.
err_t pressure2330ba_read_adc(pressure2330ba_t *ctx, uint8_t sel_data, uint32_t *adc_data)
Pressure 23 30BA ADC data reading function.
Pressure 23 30BA Click configuration object.
Definition: pressure2330ba.h:341
uint8_t prom_crc
Definition: pressure2330ba.h:315
uint16_t prom_c8
Definition: pressure2330ba.h:324