ESPHome 2026.3.0-dev
Loading...
Searching...
No Matches
ms8607.h
Go to the documentation of this file.
1#pragma once
2
6
7namespace esphome {
8namespace ms8607 {
9
15 public:
16 uint8_t get_address() { return address_; }
17};
18
35 public:
36 virtual ~MS8607Component() = default;
37 void setup() override;
38 void update() override;
39 void dump_config() override;
40
41 void set_temperature_sensor(sensor::Sensor *temperature_sensor) { temperature_sensor_ = temperature_sensor; }
42 void set_pressure_sensor(sensor::Sensor *pressure_sensor) { pressure_sensor_ = pressure_sensor; }
43 void set_humidity_sensor(sensor::Sensor *humidity_sensor) { humidity_sensor_ = humidity_sensor; }
44 void set_humidity_device(MS8607HumidityDevice *humidity_device) { humidity_device_ = humidity_device; }
45
46 protected:
48 void try_reset_();
54
58 void read_temperature_();
60 void request_read_pressure_(uint32_t raw_temperature);
62 void read_pressure_(uint32_t raw_temperature);
64 void request_read_humidity_(float temperature_float);
66 void read_humidity_(float temperature_float);
68 void calculate_values_(uint32_t raw_temperature, uint32_t raw_pressure);
69
73
81
97
99 enum class ErrorCode;
102
104 enum class SetupStatus;
107 uint32_t reset_interval_{5};
109};
110
111} // namespace ms8607
112} // namespace esphome
This class simplifies creating components that periodically check a state.
Definition component.h:527
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:34
void read_humidity_(float temperature_float)
process async humidity read
Definition ms8607.cpp:333
void request_read_temperature_()
Start async temperature read.
Definition ms8607.cpp:277
void set_temperature_sensor(sensor::Sensor *temperature_sensor)
Definition ms8607.h:41
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:80
void set_pressure_sensor(sensor::Sensor *pressure_sensor)
Definition ms8607.h:42
void set_humidity_sensor(sensor::Sensor *humidity_sensor)
Definition ms8607.h:43
sensor::Sensor * temperature_sensor_
Definition ms8607.h:70
sensor::Sensor * humidity_sensor_
Definition ms8607.h:72
void set_humidity_device(MS8607HumidityDevice *humidity_device)
Definition ms8607.h:44
SetupStatus setup_status_
Current step in the multi-step & possibly delayed setup() process.
Definition ms8607.h:106
void calculate_values_(uint32_t raw_temperature, uint32_t raw_pressure)
use raw temperature & pressure to calculate & publish values
Definition ms8607.cpp:371
void read_pressure_(uint32_t raw_temperature)
process async pressure read
Definition ms8607.cpp:311
ErrorCode error_code_
Keep track of the reason why this component failed, to augment the dumped config.
Definition ms8607.h:101
virtual ~MS8607Component()=default
bool read_calibration_values_from_prom_()
Read and store the Pressure & Temperature calibration settings from the PROM.
Definition ms8607.cpp:173
void request_read_pressure_(uint32_t raw_temperature)
start async pressure read
Definition ms8607.cpp:300
sensor::Sensor * pressure_sensor_
Definition ms8607.h:71
void try_reset_()
Attempt to reset both I2C devices, retrying with backoff on failure.
Definition ms8607.cpp:81
void read_temperature_()
Process async temperature read.
Definition ms8607.cpp:289
void request_read_humidity_(float temperature_float)
start async humidity read
Definition ms8607.cpp:321
Class for I2CDevice used to communicate with the Humidity sensor on the chip.
Definition ms8607.h:14
Base-class for all sensors.
Definition sensor.h:47
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7
This device's pressure & temperature calibration values, read from PROM.
Definition ms8607.h:83
uint16_t pressure_offset_temperature_coefficient
Temperature coefficient of pressure offset | TCO. [C4].
Definition ms8607.h:91
uint16_t temperature_coefficient_of_temperature
Temperature coefficient of the temperature | TEMPSENS. [C6].
Definition ms8607.h:95
uint16_t pressure_sensitivity_temperature_coefficient
Temperature coefficient of pressure sensitivity | TCS. [C3].
Definition ms8607.h:87
uint16_t pressure_sensitivity
Pressure sensitivity | SENS-T1. [C1].
Definition ms8607.h:85
uint16_t pressure_offset
Pressure offset | OFF-T1. [C2].
Definition ms8607.h:89
uint16_t reference_temperature
Reference temperature | T-REF. [C5].
Definition ms8607.h:93