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