17 #define DRIVER_BME280_RESERVED_SIZE 96 205 float *pressure,
float *humidity);
254 #define DRIVER_BME280_SEA_LEVEL_PRESSURE_PA \ static bool hw_i2c_valid(hw_i2c_t *i2c)
Get true if the I2C interface is valid.
#define DRIVER_BME280_RESERVED_SIZE
Reserved size for internal use.
float driver_bme280_read_temperature(driver_bme280_t *bme280)
Read only temperature from the BME280 sensor.
bool driver_bme280_set_mode(driver_bme280_t *bme280, driver_bme280_mode_t mode)
Set the operating mode of the BME280 sensor.
uint8_t timeout_ms
Read/write timeout in milliseconds.
static bool driver_bme280_valid(driver_bme280_t *bme280)
Get true if the BME280 interface is valid.
float driver_bme280_read_pressure(driver_bme280_t *bme280)
Read only pressure from the BME280 sensor.
uint8_t _padding[6]
Padding to ensure proper alignment.
float driver_bme280_calculate_sea_level_pressure(float pressure_pa, float altitude_m)
Calculate sea level pressure from current pressure and altitude.
struct driver_bme280_t driver_bme280_t
BME280 sensor driver structure.
Hardware interface abstraction layer.
hw_i2c_t * i2c
Pointer to the I2C interface used for communication.
BME280 sensor driver structure.
driver_bme280_mode_t
BME280 sensor modes.
float driver_bme280_calculate_altitude(float pressure_pa, float sea_level_pa)
Calculate altitude from pressure measurement.
uint8_t reserved [DRIVER_BME280_RESERVED_SIZE] __attribute__((aligned(8)))
Reserved for internal use.
float driver_bme280_read_humidity(driver_bme280_t *bme280)
Read only humidity from the BME280 sensor.
driver_bme280_mode_t driver_bme280_get_mode(driver_bme280_t *bme280)
Get the current operating mode of the BME280 sensor.
bool driver_bme280_reset(driver_bme280_t *bme280)
Reset the BME280 sensor to its default state.
driver_bme280_t driver_bme280_i2c_init(hw_i2c_t *i2c, uint8_t address)
Initialize a BME280 sensor driver using the I2C interface.
void driver_bme280_finalize(driver_bme280_t *bme280)
Finalize and release a BME280 sensor driver.
bool driver_bme280_read_data(driver_bme280_t *bme280, float *temperature, float *pressure, float *humidity)
Read temperature, pressure, and humidity data from the BME280 sensor.
uint8_t address
I2C address of the BME280 sensor.