Go to the documentation of this file.
35 #include "drv_digital_out.h"
36 #include "drv_digital_in.h"
37 #include "drv_analog_in.h"
38 #include "drv_i2c_master.h"
60 #define DIFFPRESS3_PMIN -100.0f // Measurement range minimum
61 #define DIFFPRESS3_PMAX 1000.0f // Measurement range maximum
62 #define DIFFPRESS3_ACCP_ABS_MIN -0.3f // Absolute accuracy minimum
63 #define DIFFPRESS3_ACCP_ABS_TYP 0.1f // Absolute accuracy typical
64 #define DIFFPRESS3_ACCP_ABS_MAX 0.3f // Absolute accuracy minimum
65 #define DIFFPRESS3_ACCP_TOT_MIN -0.5f // Total accuracy minimum
66 #define DIFFPRESS3_ACCP_TOT_TYP 0.25f // Total accuracy typical
67 #define DIFFPRESS3_ACCP_TOT_MAX 0.5f // Total accuracy minimum
68 #define DIFFPRESS3_SENP 0.04196f // Sensitivity (digital)
69 #define DIFFPRESS3_AN_SENP 275.0f // Sensitivity (analog)
70 #define DIFFPRESS3_ACCP_REP 0.01f // Repeatability
71 #define DIFFPRESS3_ACCP_DRIFT 0.05f // Long term drift
72 #define DIFFPRESS3_DIG_OUTOFF 5660.0f // Digital Zero pressure offset
73 #define DIFFPRESS3_DIG_FSS 26214.0f // DigitalFull scale span
74 #define DIFFPRESS3_DIG_OUTP_MIN 3207.0f // Digital Output at minimum pressure
75 #define DIFFPRESS3_DIG_OUTP_MAX 29491.0f // Digital Output at maximum pressure
76 #define DIFFPRESS3_AN_OUTOFF 0.87f // Analog Zero pressure offset
77 #define DIFFPRESS3_AN_FSS 4.0f // Analog Full scale span
78 #define DIFFPRESS3_AN_OUTP_MIN 0.5f // Analog Output at minimum pressure
79 #define DIFFPRESS3_AN_OUTP_MAX 4.5f // Analog Output at maximum pressure
80 #define DIFFPRESS3_PRES 0x7FFF // Resolution
86 #define DIFFPRESS3_TRANGE_MIN 0.0f // Measurement range minimum
87 #define DIFFPRESS3_TRANGE_MAX 70.0f // Measurement range maximum
88 #define DIFFPRESS3_TRES 0x7FFF // Resolution
89 #define DIFFPRESS3_SENT 0.004272 // Sensitivity
90 #define DIFFPRESS3_OUTT_MIN 8192.0 // Output at minimum temperature
91 #define DIFFPRESS3_OUTT_MAX 24576.0 // Output at maximum temperature
97 #define DIFFPRESS3_ADC_RESOLUTION 0x7FFF
98 #define DIFFPRESS3_VREF_3V3 3.3
99 #define DIFFPRESS3_VREF_5V 5.0
106 #define DIFFPRESS3_SET_DEV_ADDR 0x78
124 #define DIFFPRESS3_MAP_MIKROBUS( cfg, mikrobus ) \
125 cfg.an = MIKROBUS( mikrobus, MIKROBUS_AN ); \
126 cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \
127 cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA )
354 #endif // DIFFPRESS3_H
float vref
Definition: diffpress3.h:175
@ DIFFPRESS3_AN_SEL_5V
Definition: diffpress3.h:149
err_t diffpress3_read_voltage(diffpress3_t *ctx, float *voltage)
Diff Press 3 read voltage level function.
diffpress3_return_value_t
Diff Press 3 Click return value data.
Definition: diffpress3.h:210
pin_name_t an
Definition: diffpress3.h:189
diffpress3_an_sel_t
Diff Press 3 Click AN SEL selector value.
Definition: diffpress3.h:148
i2c_master_t i2c
Definition: diffpress3.h:172
Diff Press 3 Click context object.
Definition: diffpress3.h:170
@ DIFFPRESS3_ERROR
Definition: diffpress3.h:212
err_t diffpress3_get_pressure(diffpress3_t *ctx, float *pressure)
Diff Press 3 get pressure function.
Diff Press 3 Click configuration object.
Definition: diffpress3.h:188
void diffpress3_cfg_setup(diffpress3_cfg_t *cfg)
Diff Press 3 configuration object setup function.
@ DIFFPRESS3_RAW_DATA_TEMPERATURE
Definition: diffpress3.h:161
diffpress3_d_sel_t
Diff Press 3 Click digital output data selector.
Definition: diffpress3.h:159
err_t diffpress3_set_vref(diffpress3_t *ctx, float vref)
Diff Press 3 set vref function.
analog_in_resolution_t resolution
Definition: diffpress3.h:193
float vref
Definition: diffpress3.h:194
@ DIFFPRESS3_DRV_SEL_I2C
Definition: diffpress3.h:139
err_t diffpress3_read_raw_adc(diffpress3_t *ctx, uint16_t *raw_adc, diffpress3_d_sel_t data_sel)
Diff Press 3 read raw ADC value function.
diffpress3_drv_t
Diff Press 3 Click driver selector.
Definition: diffpress3.h:137
pin_name_t sda
Definition: diffpress3.h:191
uint32_t i2c_speed
Definition: diffpress3.h:196
void diffpress3_drv_interface_selection(diffpress3_cfg_t *cfg, diffpress3_drv_t drv_sel)
Diff Press 3 driver interface setup function.
uint8_t slave_address
Definition: diffpress3.h:174
err_t diffpress3_get_temperature(diffpress3_t *ctx, float *temperature)
Diff Press 3 get temperature function.
diffpress3_d_sel_t data_sel
Definition: diffpress3.h:201
diffpress3_an_sel_t an_sel
Definition: diffpress3.h:200
@ DIFFPRESS3_RAW_DATA_PRESSURE
Definition: diffpress3.h:160
@ DIFFPRESS3_OK
Definition: diffpress3.h:211
err_t diffpress3_get_digit_out_data(diffpress3_t *ctx, uint16_t *press_data, uint16_t *temp_data)
Diff Press 3 get digital output data function.
@ DIFFPRESS3_DRV_SEL_ADC
Definition: diffpress3.h:138
pin_name_t scl
Definition: diffpress3.h:190
diffpress3_drv_t drv_sel
Definition: diffpress3.h:176
@ DIFFPRESS3_AN_SEL_2V5
Definition: diffpress3.h:150
analog_in_t adc
Definition: diffpress3.h:171
diffpress3_drv_t drv_sel
Definition: diffpress3.h:199
diffpress3_d_sel_t data_sel
Definition: diffpress3.h:179
uint8_t i2c_address
Definition: diffpress3.h:197
err_t diffpress3_init(diffpress3_t *ctx, diffpress3_cfg_t *cfg)
Diff Press 3 initialization function.
diffpress3_an_sel_t an_sel
Definition: diffpress3.h:178