ESPHome 2026.6.2
Loading...
Searching...
No Matches
xdb401.h
Go to the documentation of this file.
1#pragma once
2
6
7namespace esphome::xdb401 {
8
10 public:
11 void set_temperature_sensor(sensor::Sensor *temperature_sensor) { this->temperature_sensor_ = temperature_sensor; }
12 void set_pressure_sensor(sensor::Sensor *pressure_sensor) { this->pressure_sensor_ = pressure_sensor; }
13 void set_pressure_range_bar(uint8_t pressure_range_bar) { this->pressure_range_bar_ = pressure_range_bar; }
14
15 void setup() override;
16 void dump_config() override;
17 void update() override;
18
19 protected:
20 void handle_comm_failure_(const char *message);
22 void check_measurement_ready_(uint8_t attempt);
23 void read_measurement_();
26
27 static constexpr float full_scale_pressure_pa(uint8_t pressure_range_bar) { return pressure_range_bar * 100000.0f; }
28
32
35};
36
37} // namespace esphome::xdb401
This class simplifies creating components that periodically check a state.
Definition component.h:585
This Class provides the methods to read/write bytes from/to an i2c device.
Definition i2c.h:132
Base-class for all sensors.
Definition sensor.h:47
void handle_comm_failure_(const char *message)
Definition xdb401.cpp:42
sensor::Sensor * temperature_sensor_
Definition xdb401.h:33
void set_pressure_sensor(sensor::Sensor *pressure_sensor)
Definition xdb401.h:12
i2c::ErrorCode start_measurement_()
Definition xdb401.cpp:54
i2c::ErrorCode read_temperature_(float &temperature)
Definition xdb401.cpp:140
static constexpr float full_scale_pressure_pa(uint8_t pressure_range_bar)
Definition xdb401.h:27
void check_measurement_ready_(uint8_t attempt)
Definition xdb401.cpp:64
void set_temperature_sensor(sensor::Sensor *temperature_sensor)
Definition xdb401.h:11
sensor::Sensor * pressure_sensor_
Definition xdb401.h:34
void set_pressure_range_bar(uint8_t pressure_range_bar)
Definition xdb401.h:13
i2c::ErrorCode read_pressure_(float &pressure)
Definition xdb401.cpp:119
const LogString * message
Definition component.cpp:35
ErrorCode
Error codes returned by I2CBus and I2CDevice methods.
Definition i2c_bus.h:12
uint16_t temperature
Definition sun_gtil2.cpp:12
uint8_t pressure
Definition tt21100.cpp:7