ESPHome 2026.2.1
Loading...
Searching...
No Matches
pm1006.h
Go to the documentation of this file.
1#pragma once
2
7
8namespace esphome {
9namespace pm1006 {
10
12 public:
13 PM1006Component() = default;
14
15 void set_pm_2_5_sensor(sensor::Sensor *pm_2_5_sensor) { this->pm_2_5_sensor_ = pm_2_5_sensor; }
16 void setup() override;
17 void dump_config() override;
18 void loop() override;
19 void update() override;
20
21 protected:
23 void parse_data_();
24 uint8_t pm1006_checksum_(const uint8_t *command_data, uint8_t length) const;
25 uint16_t get_16_bit_uint_(uint8_t start_index) const {
26 return encode_uint16(this->data_[start_index], this->data_[start_index + 1]);
27 }
28
30
31 uint8_t data_[20];
32 uint8_t data_index_{0};
33 uint32_t last_transmission_{0};
34};
35
36} // namespace pm1006
37} // namespace esphome
This class simplifies creating components that periodically check a state.
Definition component.h:512
uint8_t pm1006_checksum_(const uint8_t *command_data, uint8_t length) const
Definition pm1006.cpp:47
void set_pm_2_5_sensor(sensor::Sensor *pm_2_5_sensor)
Definition pm1006.h:15
uint16_t get_16_bit_uint_(uint8_t start_index) const
Definition pm1006.h:25
sensor::Sensor * pm_2_5_sensor_
Definition pm1006.h:29
optional< bool > check_byte_() const
Definition pm1006.cpp:55
Base-class for all sensors.
Definition sensor.h:43
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7
constexpr uint16_t encode_uint16(uint8_t msb, uint8_t lsb)
Encode a 16-bit value given the most and least significant byte.
Definition helpers.h:528
uint16_t length
Definition tt21100.cpp:0