17 static const uint8_t BMP388_ID = 0x50;
18 static const uint8_t BMP390_ID = 0x60;
19 static const uint8_t RESET_CODE = 0xB6;
75 void setup()
override;
union esphome::bmp3xx::BMP3XXComponent::@27 pwr_ctrl_
bool set_iir_filter(IIRFilter iir_filter)
Set the IIR filter setting: OFF, 2, 3, 8, 16, 32.
OperationMode
Device mode bitfield in the control and measurement register.
Oversampling temperature_oversampling_
struct esphome::bmp3xx::BMP3XXComponent::@24::@31 bit
float bmp388_compensate_temperature_(float uncomp_temp)
bool set_mode(OperationMode mode)
Set the barometer mode.
union esphome::bmp3xx::BMP3XXComponent::@26 int_status_
enum esphome::bmp3xx::BMP3XXComponent::ErrorCode NONE
union esphome::bmp3xx::BMP3XXComponent::@24 chip_id_
bool set_oversampling_register(Oversampling pressure_oversampling, Oversampling temperature_oversampling)
Set the BMP388 oversampling register.
union esphome::bmp3xx::BMP3XXComponent::@30 config_
uint8_t reset()
Soft reset the sensor.
OperationMode operation_mode_
float get_setup_priority() const override
struct esphome::bmp3xx::BMP3XXComponent::@23 __attribute__((packed)) compensation_params_
This class simplifies creating components that periodically check a state.
void set_temperature_oversampling_config(Oversampling temperature_oversampling)
Set the oversampling value for the temperature sensor. Default is 16x.
void set_pressure_sensor(sensor::Sensor *pressure_sensor)
This class implements support for the BMP3XX Temperature+Pressure i2c sensor.
bool get_measurements(float &temperature, float &pressure)
Get a temperature and pressure measurement.
bool get_temperature(float &temperature)
Get a temperature measurement.
bool get_pressure(float &pressure)
Get a pressure measurement.
void set_iir_filter_config(IIRFilter iir_filter)
Set the IIR Filter used to increase accuracy, defaults to no IIR Filter.
union esphome::bmp3xx::BMP3XXComponent::@29 odr_
sensor::Sensor * pressure_sensor_
bool get_measurement()
Get a temperature and pressure measurement.
float bmp388_compensate_pressure_(float uncomp_press, float t_lin)
bool data_ready()
Checks if a measurement is ready.
bool set_pressure_oversampling(Oversampling pressure_oversampling)
Set the pressure oversampling: OFF, X1, X2, X4, X8, X16, X32.
bool set_temperature_oversampling(Oversampling temperature_oversampling)
Set the temperature oversampling: OFF, X1, X2, X4, X8, X16, X32.
sensor::Sensor * temperature_sensor_
union esphome::bmp3xx::BMP3XXComponent::@28 osr_
bool stop_conversion()
Stop the conversion and return to SLEEP_MODE.
void dump_config() override
bool start_forced_conversion()
Start a one shot measurement in FORCED_MODE.
struct esphome::bmp3xx::BMP3XXComponent::FloatParams compensation_float_params_
Implementation of SPI Controller mode.
bool start_normal_conversion()
Start continuous measurement in NORMAL_MODE.
union esphome::bmp3xx::BMP3XXComponent::@25 event_
Base-class for all sensors.
Oversampling pressure_oversampling_
void set_pressure_oversampling_config(Oversampling pressure_oversampling)
Set the oversampling value for the pressure sensor. Default is 16x.
void set_temperature_sensor(sensor::Sensor *temperature_sensor)
Oversampling
Oversampling bit fields in the control and measurement register.
IIRFilter
Infinite Impulse Response (IIR) filter bit field in the configuration register.