Go to the documentation of this file.
35 #include "drv_digital_out.h"
36 #include "drv_digital_in.h"
37 #include "drv_i2c_master.h"
59 #define PRESSURE22_CMD_ADC_READ 0x00
60 #define PRESSURE22_CMD_RESET 0x1E
61 #define PRESSURE22_CMD_PROM_VERSION 0xA0
62 #define PRESSURE22_CMD_PROM_READ_C1 0xA2
63 #define PRESSURE22_CMD_PROM_READ_C2 0xA4
64 #define PRESSURE22_CMD_PROM_READ_C3 0xA6
65 #define PRESSURE22_CMD_PROM_READ_C4 0xA8
66 #define PRESSURE22_CMD_PROM_READ_C5 0xAA
67 #define PRESSURE22_CMD_PROM_READ_C6 0xAC
68 #define PRESSURE22_CMD_PROM_END 0xAE
86 #define PRESSURE22_CRC4_BIT_MASK 0x000Fu
87 #define PRESSURE22_VER_DEF_BIT_MASK 0x007Fu
88 #define PRESSURE22_FCT_DEF_BIT_MASK 0x001Fu
94 #define PRESSURE22_TEMPERATURE_20_C 40.0f
95 #define PRESSURE22_TEMPERATURE_10_C 10.0f
96 #define PRESSURE22_TEMP_TYPICAL 2000.0f
97 #define PRESSURE22_TEMP_DIV 100.0f
98 #define PRESSURE22_OFF_ACT_TEMP_MULTP 131072.0f
99 #define PRESSURE22_OFF_ACT_TEMP_DIV 64.0f
100 #define PRESSURE22_SENS_ACT_TEMP_MULTP 65536.0f
101 #define PRESSURE22_SENS_ACT_TEMP_DIV 128.0f
102 #define PRESSURE22_TEMP_COMP_PRESS_DIV 2097152.0f
103 #define PRESSURE22_COMP_PRESS_DIV 32768.0f
104 #define PRESSURE22_PRESS_CONVERT_PA_MBAR 100.0f
105 #define PRESSURE22_SEC_COMP_TI_DIV 34359738368.0f
106 #define PRESSURE22_SEC_COMP_TI_1_MULTP 14.0f
107 #define PRESSURE22_SEC_COMP_OFFI_1_MULTP 35.0f
108 #define PRESSURE22_SEC_COMP_SENS_MULTP 63.0f
109 #define PRESSURE22_SEC_COMP_OFFI_1_DIV 8.0f
110 #define PRESSURE22_SEC_COMP_TI_2_MULTP 12.0f
111 #define PRESSURE22_SEC_COMP_OFFI_2_MULTP 30.0f
112 #define PRESSURE22_SEC_COMP_OFFI_2_DIV 256.0f
113 #define PRESSURE22_SEC_COMP_SENSI_DIV 32.0f
120 #define PRESSURE22_DEVICE_ADDRESS 0x76
138 #define PRESSURE22_MAP_MIKROBUS( cfg, mikrobus ) \
139 cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \
140 cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA )
446 #endif // PRESSURE22_H
uint32_t i2c_speed
Definition: pressure22.h:214
err_t pressure22_set_command(pressure22_t *ctx, uint8_t cmd)
Pressure 22 set the command function.
err_t pressure22_get_prom_data(pressure22_t *ctx, uint8_t cmd_prom, uint16_t *prom)
Pressure 22 gets the PROM data function.
@ PRESSURE22_CMD_PRESS_OSR_4096
Definition: pressure22.h:155
uint8_t i2c_address
Definition: pressure22.h:215
uint8_t prom_fct
Definition: pressure22.h:191
uint8_t slave_address
Definition: pressure22.h:185
@ PRESSURE22_CMD_PRESS_OSR_2048
Definition: pressure22.h:154
@ PRESSURE22_CMD_TEMP_OSR_256
Definition: pressure22.h:166
uint16_t prom_c1
Definition: pressure22.h:192
uint16_t prom_c2
Definition: pressure22.h:193
uint8_t prom_ver
Definition: pressure22.h:190
err_t pressure22_init(pressure22_t *ctx, pressure22_cfg_t *cfg)
Pressure 22 initialization function.
uint8_t prom_crc
Definition: pressure22.h:189
Pressure 22 Click configuration object.
Definition: pressure22.h:210
Pressure 22 Click context object.
Definition: pressure22.h:180
err_t pressure22_get_calibration_data(pressure22_t *ctx)
Pressure 22 gets the calibration data function.
uint16_t prom_c3
Definition: pressure22.h:194
i2c_master_t i2c
Definition: pressure22.h:182
@ PRESSURE22_CMD_PRESS_OSR_256
Definition: pressure22.h:151
@ PRESSURE22_ERROR
Definition: pressure22.h:226
@ PRESSURE22_CMD_TEMP_OSR_8192
Definition: pressure22.h:171
err_t pressure22_get_adc_data(pressure22_t *ctx, uint32_t *adc)
Pressure 22 gets the ADC data function.
pressure22_return_value_t
Pressure 22 Click return value data.
Definition: pressure22.h:224
@ PRESSURE22_CMD_PRESS_OSR_1024
Definition: pressure22.h:153
err_t pressure22_generic_write(pressure22_t *ctx, uint8_t cmd, uint8_t *data_in, uint8_t len)
Pressure 22 I2C writing function.
@ PRESSURE22_CMD_PRESS_OSR_512
Definition: pressure22.h:152
@ PRESSURE22_CMD_TEMP_OSR_2048
Definition: pressure22.h:169
pin_name_t sda
Definition: pressure22.h:212
pressure22_temp_conv_t
Pressure 22 Click temperature conversion value data.
Definition: pressure22.h:165
@ PRESSURE22_CMD_TEMP_OSR_4096
Definition: pressure22.h:170
uint16_t prom_c4
Definition: pressure22.h:195
err_t pressure22_get_measurement_data(pressure22_t *ctx, float *temperature, float *pressure)
Pressure 22 get the measurement data function.
uint16_t prom_c6
Definition: pressure22.h:197
pin_name_t scl
Definition: pressure22.h:211
@ PRESSURE22_CMD_PRESS_OSR_8192
Definition: pressure22.h:156
@ PRESSURE22_CMD_TEMP_OSR_1024
Definition: pressure22.h:168
void pressure22_set_conversion(pressure22_t *ctx, pressure22_press_conv_t press_conv, pressure22_temp_conv_t temp_conv)
Pressure 22 set conversion function.
@ PRESSURE22_CMD_TEMP_OSR_512
Definition: pressure22.h:167
void pressure22_cfg_setup(pressure22_cfg_t *cfg)
Pressure 22 configuration object setup function.
uint16_t prom_pt
Definition: pressure22.h:188
err_t pressure22_generic_read(pressure22_t *ctx, uint8_t cmd, uint8_t *data_out, uint8_t len)
Pressure 22 I2C reading function.
pressure22_temp_conv_t temp_conv
Definition: pressure22.h:201
err_t pressure22_default_cfg(pressure22_t *ctx)
Pressure 22 default configuration function.
err_t pressure22_check_data_validity(pressure22_t *ctx)
Pressure 22 checks data validity function.
pressure22_press_conv_t
Pressure 22 Click pressure conversion value data.
Definition: pressure22.h:150
err_t pressure22_sw_reset(pressure22_t *ctx)
Pressure 22 sw reset function.
@ PRESSURE22_OK
Definition: pressure22.h:225
uint16_t prom_c5
Definition: pressure22.h:196
pressure22_press_conv_t press_conv
Definition: pressure22.h:200