ESPHome 2026.5.1
Loading...
Searching...
No Matches
sds011.h
Go to the documentation of this file.
1#pragma once
2
7
8namespace esphome::sds011 {
9
11 public:
12 SDS011Component() = default;
13
15 void set_rx_mode_only(bool rx_mode_only);
16
17 void set_pm_2_5_sensor(sensor::Sensor *pm_2_5_sensor) { pm_2_5_sensor_ = pm_2_5_sensor; }
18 void set_pm_10_0_sensor(sensor::Sensor *pm_10_0_sensor) { pm_10_0_sensor_ = pm_10_0_sensor; }
19 void setup() override;
20 void dump_config() override;
21 void loop() override;
22
23 void set_update_interval_min(uint8_t update_interval_min);
24 void set_working_state(bool working_state);
25
26 protected:
27 void sds011_write_command_(const uint8_t *command);
28 uint8_t sds011_checksum_(const uint8_t *command_data, uint8_t length) const;
29 optional<bool> check_byte_() const;
30 void parse_data_();
31 uint16_t get_16_bit_uint_(uint8_t start_index) const {
32 return encode_uint16(this->data_[start_index + 1], this->data_[start_index]);
33 }
34
37
38 uint8_t data_[10];
39 uint8_t data_index_{0};
42
44};
45
46} // namespace esphome::sds011
sensor::Sensor * pm_10_0_sensor_
Definition sds011.h:36
void set_update_interval_min(uint8_t update_interval_min)
Definition sds011.cpp:182
uint16_t get_16_bit_uint_(uint8_t start_index) const
Definition sds011.h:31
sensor::Sensor * pm_2_5_sensor_
Definition sds011.h:35
void sds011_write_command_(const uint8_t *command)
Definition sds011.cpp:112
void set_working_state(bool working_state)
Definition sds011.cpp:53
optional< bool > check_byte_() const
Definition sds011.cpp:128
void set_rx_mode_only(bool rx_mode_only)
Manually set the rx-only mode. Defaults to false.
Definition sds011.cpp:110
void set_pm_2_5_sensor(sensor::Sensor *pm_2_5_sensor)
Definition sds011.h:17
void set_pm_10_0_sensor(sensor::Sensor *pm_10_0_sensor)
Definition sds011.h:18
uint8_t sds011_checksum_(const uint8_t *command_data, uint8_t length) const
Definition sds011.cpp:120
Base-class for all sensors.
Definition sensor.h:47
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:859
static void uint32_t
uint16_t length
Definition tt21100.cpp:0