ESPHome 2026.2.1
Loading...
Searching...
No Matches
sds011.h
Go to the documentation of this file.
1#pragma once
2
7
8namespace esphome {
9namespace sds011 {
10
12 public:
13 SDS011Component() = default;
14
16 void set_rx_mode_only(bool rx_mode_only);
17
18 void set_pm_2_5_sensor(sensor::Sensor *pm_2_5_sensor) { pm_2_5_sensor_ = pm_2_5_sensor; }
19 void set_pm_10_0_sensor(sensor::Sensor *pm_10_0_sensor) { pm_10_0_sensor_ = pm_10_0_sensor; }
20 void setup() override;
21 void dump_config() override;
22 void loop() override;
23
24 void set_update_interval(uint32_t val) { /* ignore */
25 }
26 void set_update_interval_min(uint8_t update_interval_min);
27 void set_working_state(bool working_state);
28
29 protected:
30 void sds011_write_command_(const uint8_t *command);
31 uint8_t sds011_checksum_(const uint8_t *command_data, uint8_t length) const;
33 void parse_data_();
34 uint16_t get_16_bit_uint_(uint8_t start_index) const {
35 return encode_uint16(this->data_[start_index + 1], this->data_[start_index]);
36 }
37
40
41 uint8_t data_[10];
42 uint8_t data_index_{0};
43 uint32_t last_transmission_{0};
45
47};
48
49} // namespace sds011
50} // namespace esphome
sensor::Sensor * pm_10_0_sensor_
Definition sds011.h:39
void set_update_interval_min(uint8_t update_interval_min)
Definition sds011.cpp:183
uint16_t get_16_bit_uint_(uint8_t start_index) const
Definition sds011.h:34
sensor::Sensor * pm_2_5_sensor_
Definition sds011.h:38
void sds011_write_command_(const uint8_t *command)
Definition sds011.cpp:113
void set_working_state(bool working_state)
Definition sds011.cpp:54
optional< bool > check_byte_() const
Definition sds011.cpp:129
void set_update_interval(uint32_t val)
Definition sds011.h:24
void set_rx_mode_only(bool rx_mode_only)
Manually set the rx-only mode. Defaults to false.
Definition sds011.cpp:111
void set_pm_2_5_sensor(sensor::Sensor *pm_2_5_sensor)
Definition sds011.h:18
void set_pm_10_0_sensor(sensor::Sensor *pm_10_0_sensor)
Definition sds011.h:19
uint8_t sds011_checksum_(const uint8_t *command_data, uint8_t length) const
Definition sds011.cpp:121
Base-class for all sensors.
Definition sensor.h:43
mopeka_std_values val[4]
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