Go to the documentation of this file.
48 #define EX_BMP085_VERSION "1.0.1"
53 #define EX_BMP085_MAJOR 1
58 #define EX_BMP085_MINOR 0
63 #define EX_BMP085_PATCH 1
70 #define BMP085_BARO_NUMBER_OF_AXES 1U
72 #define BMP085_P_RES 0.01
79 #define BMP085_THERMO_NUMBER_OF_AXES 1U
81 #define BMP085_T_RES 0.1
88 #define BMP085_AD_CR 0xF4
89 #define BMP085_AD_T_DR_MSB 0xF6
90 #define BMP085_AD_T_DR_LSB 0xF7
91 #define BMP085_AD_P_DR_MSB 0xF6
92 #define BMP085_AD_P_DR_LSB 0xF7
93 #define BMP085_AD_P_DR_XLSB 0xF8
94 #define BMP085_AD_CC_AC1_MSB 0xAA
95 #define BMP085_AD_CC_AC1_LSB 0xAB
96 #define BMP085_AD_CC_AC2_MSB 0xAC
97 #define BMP085_AD_CC_AC2_LSB 0xAD
98 #define BMP085_AD_CC_AC3_MSB 0xAE
99 #define BMP085_AD_CC_AC3_LSB 0xAF
100 #define BMP085_AD_CC_AC4_MSB 0xB0
101 #define BMP085_AD_CC_AC4_LSB 0xB1
102 #define BMP085_AD_CC_AC5_MSB 0xB2
103 #define BMP085_AD_CC_AC5_LSB 0xB3
104 #define BMP085_AD_CC_AC6_MSB 0xB4
105 #define BMP085_AD_CC_AC6_LSB 0xB5
106 #define BMP085_AD_CC_B1_MSB 0xB6
107 #define BMP085_AD_CC_B1_LSB 0xB7
108 #define BMP085_AD_CC_B2_MSB 0xB8
109 #define BMP085_AD_CC_B2_LSB 0xB9
110 #define BMP085_AD_CC_MB_MSB 0xBA
111 #define BMP085_AD_CC_MB_LSB 0xBB
112 #define BMP085_AD_CC_MC_MSB 0xBC
113 #define BMP085_AD_CC_MC_LSB 0xBD
114 #define BMP085_AD_CC_MD_MSB 0xBE
115 #define BMP085_AD_CC_MD_LSB 0xBF
132 #if !defined(BMP085_USE_I2C) || defined(__DOXYGEN__)
133 #define BMP085_USE_I2C TRUE
141 #if !defined(BMP085_USE_ADVANCED) || defined(__DOXYGEN__)
142 #define BMP085_USE_ADVANCED TRUE
151 #if !defined(BMP085_SHARED_I2C) || defined(__DOXYGEN__)
152 #define BMP085_SHARED_I2C FALSE
161 #error "BMP085_USE_I2C requires HAL_USE_I2C"
164 #if BMP085_SHARED_I2C && !I2C_USE_MUTUAL_EXCLUSION
165 #error "BMP085_SHARED_I2C requires I2C_USE_MUTUAL_EXCLUSION"
262 #if BMP085_USE_I2C || defined(__DOXYGEN__)
289 #if BMP085_USE_ADVANCED || defined(__DOXYGEN__)
320 #define _bmp085_baro_methods \
321 _base_barometer_methods
326 #define _bmp085_thermo_methods \
327 _base_thermometer_methods
350 #define _bmp085_data \
351 _base_barometer_data \
352 _base_thermometer_data \
354 bmp085_state_t state; \
356 const BMP085Config *config; \
358 float barosensitivity[BMP085_BARO_NUMBER_OF_AXES]; \
360 int32_t barobias[BMP085_BARO_NUMBER_OF_AXES]; \
362 float thermosensitivity[BMP085_THERMO_NUMBER_OF_AXES]; \
364 int32_t thermobias[BMP085_THERMO_NUMBER_OF_AXES]; \
366 bmp085_cd_t calibrationdata;
Structure representing an I2C driver.
Generic barometer interface header.
const I2CConfig * i2ccfg
I2C configuration associated to this BMP085 subsystem.
bmp085_baro_mode_t
BMP085 barometer subsystem mode.
#define _bmp085_data
BMP085Driver specific data.
BMP085 barometer subsystem calibration data.
bmp085_baro_mode_t mode
BMP085 barometer subsystem mode.
float * bias
HTS221 initial bias.
bmp085_thermo_ct_t
BMP085 thermometer subsystem temperature conversion time.
void bmp085Start(BMP085Driver *devp, const BMP085Config *config)
Configures and activates BMP085 Complex Driver peripheral.
BaseBarometer virtual methods table.
#define _bmp085_thermo_methods
BMP085 thermometer subsystem specific methods.
const struct BaseBarometerVMT * vmt_basebarometer
BaseBarometer Virtual Methods Table.
bmp085_thermo_ct_t tct
BMP085 thermometer subsystem temperature conversion time.
BMP085 barometer virtual methods table.
#define _bmp085_baro_methods
BMP085 barometer subsystem specific methods.
void bmp085Stop(BMP085Driver *devp)
Deactivates the BMP085 Complex Driver peripheral.
I2CDriver * i2cp
I2C driver associated to this BMP085.
BaseThermometer virtual methods table.
const struct BaseThermometerVMT * vmt_basethermometer
BaseThermometer Virtual Methods Table.
bmp085_baro_ct_t bct
BMP085 barometer subsystem pressure conversion time.
bmp085_baro_ct_t
BMP085 barometer subsystem pressure conversion time.
bmp085_state_t
Driver state machine possible states.
bmp085_baro_oss_t oss
BMP085 barometer subsystem oversampling setting.
BMP085 configuration structure.
BaseSensor virtual methods table.
BMP085 thermometer virtual methods table.
Generic thermometer interface header.
void bmp085ObjectInit(BMP085Driver *devp)
Initializes an instance.
bmp085_baro_oss_t
BMP085 barometer oversampling setting.
float * sensitivity
HTS221 initial sensitivity.
float * outputdatarate
HTS221 output data rate selection.
const struct BaseSensorVMT * vmt_basesensor
BaseSensor Virtual Methods Table.
Type of I2C driver configuration structure.