ESPHome 2026.6.0-dev
Loading...
Searching...
No Matches
ms8607.h
Go to the documentation of this file.
1#pragma once
2
6
7namespace esphome::ms8607 {
8
14 public:
15 uint8_t get_address() { return address_; }
16};
17
34 public:
35 virtual ~MS8607Component() = default;
36 void setup() override;
37 void update() override;
38 void dump_config() override;
39
40 void set_temperature_sensor(sensor::Sensor *temperature_sensor) { temperature_sensor_ = temperature_sensor; }
41 void set_pressure_sensor(sensor::Sensor *pressure_sensor) { pressure_sensor_ = pressure_sensor; }
42 void set_humidity_sensor(sensor::Sensor *humidity_sensor) { humidity_sensor_ = humidity_sensor; }
43 void set_humidity_device(MS8607HumidityDevice *humidity_device) { humidity_device_ = humidity_device; }
44
45 protected:
47 void try_reset_();
53
57 void read_temperature_();
59 void request_read_pressure_(uint32_t raw_temperature);
61 void read_pressure_(uint32_t raw_temperature);
63 void request_read_humidity_(float temperature_float);
65 void read_humidity_(float temperature_float);
67 void calculate_values_(uint32_t raw_temperature, uint32_t raw_pressure);
68
72
80
96
98 enum class ErrorCode;
101
103 enum class SetupStatus;
108};
109
110} // namespace esphome::ms8607
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
uint8_t address_
store the address of the device on the bus
Definition i2c.h:270
Temperature, pressure, and humidity sensor.
Definition ms8607.h:33
void read_humidity_(float temperature_float)
process async humidity read
Definition ms8607.cpp:299
void request_read_temperature_()
Start async temperature read.
Definition ms8607.cpp:246
void set_temperature_sensor(sensor::Sensor *temperature_sensor)
Definition ms8607.h:40
struct esphome::ms8607::MS8607Component::CalibrationValues calibration_values_
MS8607HumidityDevice * humidity_device_
I2CDevice object to communicate with secondary I2C address for the humidity sensor.
Definition ms8607.h:79
void set_pressure_sensor(sensor::Sensor *pressure_sensor)
Definition ms8607.h:41
void set_humidity_sensor(sensor::Sensor *humidity_sensor)
Definition ms8607.h:42
sensor::Sensor * temperature_sensor_
Definition ms8607.h:69
sensor::Sensor * humidity_sensor_
Definition ms8607.h:71
void set_humidity_device(MS8607HumidityDevice *humidity_device)
Definition ms8607.h:43
SetupStatus setup_status_
Current step in the multi-step & possibly delayed setup() process.
Definition ms8607.h:105
void calculate_values_(uint32_t raw_temperature, uint32_t raw_pressure)
use raw temperature & pressure to calculate & publish values
Definition ms8607.cpp:337
void read_pressure_(uint32_t raw_temperature)
process async pressure read
Definition ms8607.cpp:278
ErrorCode error_code_
Keep track of the reason why this component failed, to augment the dumped config.
Definition ms8607.h:100
virtual ~MS8607Component()=default
bool read_calibration_values_from_prom_()
Read and store the Pressure & Temperature calibration settings from the PROM.
Definition ms8607.cpp:171
void request_read_pressure_(uint32_t raw_temperature)
start async pressure read
Definition ms8607.cpp:268
sensor::Sensor * pressure_sensor_
Definition ms8607.h:70
void try_reset_()
Attempt to reset both I2C devices, retrying with backoff on failure.
Definition ms8607.cpp:79
void read_temperature_()
Process async temperature read.
Definition ms8607.cpp:257
void request_read_humidity_(float temperature_float)
start async humidity read
Definition ms8607.cpp:288
Class for I2CDevice used to communicate with the Humidity sensor on the chip.
Definition ms8607.h:13
Base-class for all sensors.
Definition sensor.h:47
static void uint32_t
This device's pressure & temperature calibration values, read from PROM.
Definition ms8607.h:82
uint16_t pressure_offset_temperature_coefficient
Temperature coefficient of pressure offset | TCO. [C4].
Definition ms8607.h:90
uint16_t temperature_coefficient_of_temperature
Temperature coefficient of the temperature | TEMPSENS. [C6].
Definition ms8607.h:94
uint16_t pressure_sensitivity_temperature_coefficient
Temperature coefficient of pressure sensitivity | TCS. [C3].
Definition ms8607.h:86
uint16_t pressure_sensitivity
Pressure sensitivity | SENS-T1. [C1].
Definition ms8607.h:84
uint16_t pressure_offset
Pressure offset | OFF-T1. [C2].
Definition ms8607.h:88
uint16_t reference_temperature
Reference temperature | T-REF. [C5].
Definition ms8607.h:92