ESPHome 2025.6.3
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 float get_setup_priority() const override;
22
23 protected:
25 void parse_data_();
26 uint8_t pm1006_checksum_(const uint8_t *command_data, uint8_t length) const;
27 uint16_t get_16_bit_uint_(uint8_t start_index) const {
28 return encode_uint16(this->data_[start_index], this->data_[start_index + 1]);
29 }
30
32
33 uint8_t data_[20];
34 uint8_t data_index_{0};
35 uint32_t last_transmission_{0};
36};
37
38} // namespace pm1006
39} // namespace esphome
This class simplifies creating components that periodically check a state.
Definition component.h:331
uint8_t pm1006_checksum_(const uint8_t *command_data, uint8_t length) const
Definition pm1006.cpp:49
void set_pm_2_5_sensor(sensor::Sensor *pm_2_5_sensor)
Definition pm1006.h:15
float get_setup_priority() const override
Definition pm1006.cpp:47
uint16_t get_16_bit_uint_(uint8_t start_index) const
Definition pm1006.h:27
sensor::Sensor * pm_2_5_sensor_
Definition pm1006.h:31
optional< bool > check_byte_() const
Definition pm1006.cpp:57
Base-class for all sensors.
Definition sensor.h:62
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:192
uint16_t length
Definition tt21100.cpp:0