bmx280.h¶
Device driver interface for the BMX280 sensors (BMP280 and BME280).
There are three sensor values that can be read: temperature, pressure and humidity. The BME280 device usually measures them all at once. It is possible to skip measuring either of the values by changing the oversampling settings. The driver is written in such a way that a measurement is only started from the function that reads the temperature. In other words, you always have to call bmx280_read_temperature, and then optionally you can call the other two.
-
enum
bmx280_t_sb_t
¶ - BMX280_SB_0_5
= 0
- BMX280_SB_62_5
= 1
- BMX280_SB_125
= 2
- BMX280_SB_250
= 3
- BMX280_SB_500
= 4
- BMX280_SB_1000
= 5
- BMX280_SB_10
= 6
- BMX280_SB_20
= 7
- BMX280_SB_0_5
-
enum
bmx280_filter_t
¶ - BMX280_FILTER_OFF
= 0
- BMX280_FILTER_2
= 1
- BMX280_FILTER_4
= 2
- BMX280_FILTER_8
= 3
- BMX280_FILTER_16
= 4
- BMX280_FILTER_OFF
-
enum
bmx280_mode_t
¶ - BMX280_MODE_SLEEP
= 0
- BMX280_MODE_FORCED
= 1
- BMX280_MODE_FORCED2
= 2
- BMX280_MODE_NORMAL
= 3
- BMX280_MODE_SLEEP
-
enum
bmx280_osrs_t
¶ - BMX280_OSRS_SKIPPED
= 0
- BMX280_OSRS_X1
= 1
- BMX280_OSRS_X2
= 2
- BMX280_OSRS_X4
= 3
- BMX280_OSRS_X8
= 4
- BMX280_OSRS_X16
= 5
- BMX280_OSRS_SKIPPED
-
enum
@115
¶ - BMX280_OK
= 0
- everything was fine
- BMX280_ERR_NODEV
= -1
- did not detect BME280 or BMP280
- BMX280_ERR_NOCAL
= -2
- could not read calibration data
- BMX280_OK
-
int
bmx280_init
(bmx280_t * dev, const bmx280_params_t * params)¶ Initialize the given BMX280 device.
Parameters
dev: Initialized device descriptor of BMX280 device params: The parameters for the BMX280 device (sampling rate, etc) Return values
- BMX280_OK on success
- BMX280_ERR_I2C
- BMX280_ERR_NODEV
- BMX280_ERR_NOCAL
-
int16_t
bmx280_read_temperature
(const bmx280_t * dev)¶ Read temperature value from the given BMX280 device, returned in centi °C.
Parameters
dev: Device descriptor of BMX280 device to read from Return values
- The temperature in centi Celsius. In case of an error it returns INT16_MIN.
-
uint32_t
bmx280_read_pressure
(const bmx280_t * dev)¶ Read air pressure value from the given BMX280 device, returned in PA.
This function should only be called after doing bmx280_read_temperature first.
Parameters
dev: Device descriptor of BMX280 device to read from Return values
- The air pressure in Pa
-
uint16_t
bme280_read_humidity
(const bmx280_t * dev)¶ Read humidity value from the given BME280 device, returned in centi RH.
This function should only be called after doing bmx280_read_temperature first. It’s only available with BME280 sensor.
Parameters
dev: Device descriptor of BME280 device to read from Return values
- Humidity in centi RH (i.e. the percentage times 100)
-
struct
bmx280_calibration_t
¶ Calibration struct for the BMX280 sensor.
This must be read from the device at startup.
-
uint16_t
dig_T1
¶ T1 coefficient.
-
int16_t
dig_T2
¶ T2 coefficient.
-
int16_t
dig_T3
¶ T3 coefficient.
-
uint16_t
dig_P1
¶ P1 coefficient.
-
int16_t
dig_P2
¶ P2 coefficient.
-
int16_t
dig_P3
¶ P3 coefficient.
-
int16_t
dig_P4
¶ P4 coefficient.
-
int16_t
dig_P5
¶ P5 coefficient.
-
int16_t
dig_P6
¶ P6 coefficient.
-
int16_t
dig_P7
¶ P7 coefficient.
-
int16_t
dig_P8
¶ P8 coefficient.
-
int16_t
dig_P9
¶ P9 coefficient.
-
uint8_t
dig_H1
¶ H1 coefficient.
-
int16_t
dig_H2
¶ H2 coefficient.
-
uint8_t
dig_H3
¶ H3 coefficient.
-
int16_t
dig_H4
¶ H4 coefficient.
-
int16_t
dig_H5
¶ H5 coefficient.
-
int8_t
dig_H6
¶ H6 coefficient.
-
uint16_t
-
struct
bmx280_params_t
¶ Parameters for the BMX280 sensor.
These parameters are needed to configure the device at startup.
-
i2c.h::i2c_t
i2c_dev
¶ I2C device which is used.
-
uint8_t
i2c_addr
¶ I2C address.
-
bmx280.h::bmx280_t_sb_t
t_sb
¶ standby
-
bmx280.h::bmx280_filter_t
filter
¶ filter coefficient
-
uint8_t
spi3w_en
¶ Enables 3-wire SPI interface.
-
bmx280.h::bmx280_mode_t
run_mode
¶ ctrl_meas mode
-
bmx280.h::bmx280_osrs_t
temp_oversample
¶ ctrl_meas osrs_t
-
bmx280.h::bmx280_osrs_t
press_oversample
¶ ctrl_meas osrs_p
-
bmx280.h::bmx280_osrs_t
humid_oversample
¶ ctrl_hum osrs_h
-
-
struct
bmx280_t
¶ Device descriptor for the BMX280 sensor.
-
bmx280_params_t
params
¶ Device Parameters.
-
bmx280_calibration_t
calibration
¶ Calibration Data.
-
bmx280_params_t