ESPHome 2025.9.0-dev
Loading...
Searching...
No Matches
gcja5.h
Go to the documentation of this file.
1#pragma once
2
7
8namespace esphome {
9namespace gcja5 {
10
12 public:
13 void dump_config() override;
14 void loop() override;
15
19
25 void set_pmc_10_0_sensor(sensor::Sensor *pmc_10_0) { pmc_10_0_sensor_ = pmc_10_0; }
26
27 protected:
28 void parse_data_();
30
31 uint16_t get_16_bit_uint_(uint8_t start_index) const {
32 return encode_uint16(this->rx_message_[start_index + 1], this->rx_message_[start_index]);
33 }
34 uint32_t get_32_bit_uint_(uint8_t start_index) const {
35 return encode_uint32(this->rx_message_[start_index + 3], this->rx_message_[start_index + 2],
36 this->rx_message_[start_index + 1], this->rx_message_[start_index]);
37 }
38 uint32_t last_transmission_{0};
39 std::vector<uint8_t> rx_message_;
40
41 bool have_good_data_{false};
42 bool first_status_log_{false};
46
53};
54
55} // namespace gcja5
56} // namespace esphome
uint32_t get_32_bit_uint_(uint8_t start_index) const
Definition gcja5.h:34
sensor::Sensor * pm_2_5_sensor_
Definition gcja5.h:44
void set_pm_1_0_sensor(sensor::Sensor *pm_1_0)
Definition gcja5.h:16
uint16_t get_16_bit_uint_(uint8_t start_index) const
Definition gcja5.h:31
void set_pmc_10_0_sensor(sensor::Sensor *pmc_10_0)
Definition gcja5.h:25
void set_pmc_0_5_sensor(sensor::Sensor *pmc_0_5)
Definition gcja5.h:21
sensor::Sensor * pm_1_0_sensor_
Definition gcja5.h:43
sensor::Sensor * pmc_1_0_sensor_
Definition gcja5.h:49
sensor::Sensor * pmc_5_0_sensor_
Definition gcja5.h:51
sensor::Sensor * pmc_0_3_sensor_
Definition gcja5.h:47
sensor::Sensor * pmc_2_5_sensor_
Definition gcja5.h:50
void set_pm_10_0_sensor(sensor::Sensor *pm_10_0)
Definition gcja5.h:18
sensor::Sensor * pmc_0_5_sensor_
Definition gcja5.h:48
void set_pm_2_5_sensor(sensor::Sensor *pm_2_5)
Definition gcja5.h:17
void set_pmc_0_3_sensor(sensor::Sensor *pmc_0_3)
Definition gcja5.h:20
sensor::Sensor * pmc_10_0_sensor_
Definition gcja5.h:52
void set_pmc_2_5_sensor(sensor::Sensor *pmc_2_5)
Definition gcja5.h:23
sensor::Sensor * pm_10_0_sensor_
Definition gcja5.h:45
void dump_config() override
Definition gcja5.cpp:106
void set_pmc_5_0_sensor(sensor::Sensor *pmc_5_0)
Definition gcja5.h:24
std::vector< uint8_t > rx_message_
Definition gcja5.h:39
void set_pmc_1_0_sensor(sensor::Sensor *pmc_1_0)
Definition gcja5.h:22
Base-class for all sensors.
Definition sensor.h:59
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7
constexpr uint32_t encode_uint32(uint8_t byte1, uint8_t byte2, uint8_t byte3, uint8_t byte4)
Encode a 32-bit value given four bytes in most to least significant byte order.
Definition helpers.h:181
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:173