20#ifndef INC_SENSORS_INC_BMP180_H_
21#define INC_SENSORS_INC_BMP180_H_
28 uint8_t *data, uint16_t len);
31 uint8_t *data, uint16_t len);
76#define BMP180_CALIB_DATA_SIZE 22
77#define BMP180_ADDRESS 0xEE
78#define BMP180_REG_CALIB_DATA_START 0xAA
79#define BMP180_REG_CALIB_DATA_END 0xBF
80#define BMP180_REG_OUT_XLSB 0xF8
81#define BMP180_REG_OUT_LSB 0xF7
82#define BMP180_REG_OUT_MSB 0xF6
83#define BMP180_REG_CTRL_MEAS 0xF4
84#define BMP180_REG_SOFT_RST 0xE0
85#define BMP180_REG_CHIP_ID 0xD0
86#define BMP180_MEASURE_TEMP 0x0E
87#define BMP180_MEASURE_PRESSURE 0x14
void(* BMP180_Delay_Func)(uint32_t ms)
Function pointer type for platform millisecond delay.
Definition bmp180.h:33
void BMP180_calc_pressure(BMP180_HandleTypeDef *dev, int32_t up)
Converts a raw pressure ADC value to Pascals.
Definition bmp180.c:171
int8_t BMP180_Read(BMP180_HandleTypeDef *dev)
Reads both temperature and pressure from the BMP180.
Definition bmp180.c:51
int8_t(* BMP180_I2C_Read_Func)(uint8_t dev_addr, uint8_t reg_addr, uint8_t *data, uint16_t len)
Function pointer type for platform I2C read.
Definition bmp180.h:27
int8_t BMP180_get_up(BMP180_HandleTypeDef *dev, int32_t *up_result)
Triggers and reads the raw (uncompensated) pressure ADC value.
Definition bmp180.c:119
void BMP180_calc_temperature(BMP180_HandleTypeDef *dev, int32_t ut)
Converts a raw temperature ADC value to degrees Celsius.
Definition bmp180.c:157
int8_t BMP180_Init(BMP180_HandleTypeDef *dev)
Initialises the BMP180 sensor and reads calibration data.
Definition bmp180.c:12
int8_t(* BMP180_I2C_Write_Func)(uint8_t dev_addr, uint8_t reg_addr, uint8_t *data, uint16_t len)
Function pointer type for platform I2C write.
Definition bmp180.h:30
int8_t BMP180_Read_Temperature(BMP180_HandleTypeDef *dev)
Reads only the temperature from the BMP180.
Definition bmp180.c:70
int8_t BMP180_get_ut(BMP180_HandleTypeDef *dev, int32_t *ut_result)
Triggers and reads the raw (uncompensated) temperature ADC value.
Definition bmp180.c:81
BMP180 factory calibration coefficients.
Definition bmp180.h:42
int16_t MD
Definition bmp180.h:53
int16_t AC1
Definition bmp180.h:43
int16_t B2
Definition bmp180.h:50
int16_t MB
Definition bmp180.h:51
int16_t MC
Definition bmp180.h:52
uint16_t AC4
Definition bmp180.h:46
int16_t AC2
Definition bmp180.h:44
uint16_t AC5
Definition bmp180.h:47
uint16_t AC6
Definition bmp180.h:48
int16_t AC3
Definition bmp180.h:45
int16_t B1
Definition bmp180.h:49
BMP180 driver handle.
Definition bmp180.h:64
int32_t b5
Definition bmp180.h:70
float temperature_C
Definition bmp180.h:71
BMP180_I2C_Write_Func i2c_write
Definition bmp180.h:66
BMP180_Delay_Func delay_ms
Definition bmp180.h:67
BMP180_CalibrationData_t calib
Definition bmp180.h:69
float pressure_Pa
Definition bmp180.h:72
BMP180_I2C_Read_Func i2c_read
Definition bmp180.h:65
uint8_t oss
Definition bmp180.h:68
Bit-field overlay for the BMP180 ctrl_meas register (0xF4).
Definition bmp180.h:93
uint8_t sco
Definition bmp180.h:97
uint8_t measure
Definition bmp180.h:96
uint8_t oss
Definition bmp180.h:98
uint8_t all
Definition bmp180.h:94