ESPHome 2026.6.0-dev
Loading...
Searching...
No Matches
gcja5.h
Go to the documentation of this file.
1#pragma once
2
7
8namespace esphome::gcja5 {
9
11 public:
12 void dump_config() override;
13 void loop() override;
14
18
24 void set_pmc_10_0_sensor(sensor::Sensor *pmc_10_0) { pmc_10_0_sensor_ = pmc_10_0; }
25
26 protected:
27 void parse_data_();
29
30 uint16_t get_16_bit_uint_(uint8_t start_index) const {
31 return encode_uint16(this->rx_message_[start_index + 1], this->rx_message_[start_index]);
32 }
33 uint32_t get_32_bit_uint_(uint8_t start_index) const {
34 return encode_uint32(this->rx_message_[start_index + 3], this->rx_message_[start_index + 2],
35 this->rx_message_[start_index + 1], this->rx_message_[start_index]);
36 }
38 std::vector<uint8_t> rx_message_;
39
40 bool have_good_data_{false};
41 bool first_status_log_{false};
45
52};
53
54} // namespace esphome::gcja5
uint32_t get_32_bit_uint_(uint8_t start_index) const
Definition gcja5.h:33
sensor::Sensor * pm_2_5_sensor_
Definition gcja5.h:43
void set_pm_1_0_sensor(sensor::Sensor *pm_1_0)
Definition gcja5.h:15
uint16_t get_16_bit_uint_(uint8_t start_index) const
Definition gcja5.h:30
void set_pmc_10_0_sensor(sensor::Sensor *pmc_10_0)
Definition gcja5.h:24
void set_pmc_0_5_sensor(sensor::Sensor *pmc_0_5)
Definition gcja5.h:20
sensor::Sensor * pm_1_0_sensor_
Definition gcja5.h:42
sensor::Sensor * pmc_1_0_sensor_
Definition gcja5.h:48
sensor::Sensor * pmc_5_0_sensor_
Definition gcja5.h:50
sensor::Sensor * pmc_0_3_sensor_
Definition gcja5.h:46
sensor::Sensor * pmc_2_5_sensor_
Definition gcja5.h:49
void set_pm_10_0_sensor(sensor::Sensor *pm_10_0)
Definition gcja5.h:17
sensor::Sensor * pmc_0_5_sensor_
Definition gcja5.h:47
void set_pm_2_5_sensor(sensor::Sensor *pm_2_5)
Definition gcja5.h:16
void set_pmc_0_3_sensor(sensor::Sensor *pmc_0_3)
Definition gcja5.h:19
sensor::Sensor * pmc_10_0_sensor_
Definition gcja5.h:51
void set_pmc_2_5_sensor(sensor::Sensor *pmc_2_5)
Definition gcja5.h:22
sensor::Sensor * pm_10_0_sensor_
Definition gcja5.h:44
void dump_config() override
Definition gcja5.cpp:107
void set_pmc_5_0_sensor(sensor::Sensor *pmc_5_0)
Definition gcja5.h:23
std::vector< uint8_t > rx_message_
Definition gcja5.h:38
void set_pmc_1_0_sensor(sensor::Sensor *pmc_1_0)
Definition gcja5.h:21
Base-class for all sensors.
Definition sensor.h:47
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:867
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