ESPHome 2025.6.3
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 float get_setup_priority() const override { return setup_priority::DATA; }
16
20
26 void set_pmc_10_0_sensor(sensor::Sensor *pmc_10_0) { pmc_10_0_sensor_ = pmc_10_0; }
27
28 protected:
29 void parse_data_();
31
32 uint16_t get_16_bit_uint_(uint8_t start_index) const {
33 return encode_uint16(this->rx_message_[start_index + 1], this->rx_message_[start_index]);
34 }
35 uint32_t get_32_bit_uint_(uint8_t start_index) const {
36 return encode_uint32(this->rx_message_[start_index + 3], this->rx_message_[start_index + 2],
37 this->rx_message_[start_index + 1], this->rx_message_[start_index]);
38 }
39 uint32_t last_transmission_{0};
40 std::vector<uint8_t> rx_message_;
41
42 bool have_good_data_{false};
43 bool first_status_log_{false};
47
54};
55
56} // namespace gcja5
57} // namespace esphome
uint32_t get_32_bit_uint_(uint8_t start_index) const
Definition gcja5.h:35
sensor::Sensor * pm_2_5_sensor_
Definition gcja5.h:45
void set_pm_1_0_sensor(sensor::Sensor *pm_1_0)
Definition gcja5.h:17
uint16_t get_16_bit_uint_(uint8_t start_index) const
Definition gcja5.h:32
void set_pmc_10_0_sensor(sensor::Sensor *pmc_10_0)
Definition gcja5.h:26
void set_pmc_0_5_sensor(sensor::Sensor *pmc_0_5)
Definition gcja5.h:22
sensor::Sensor * pm_1_0_sensor_
Definition gcja5.h:44
sensor::Sensor * pmc_1_0_sensor_
Definition gcja5.h:50
sensor::Sensor * pmc_5_0_sensor_
Definition gcja5.h:52
sensor::Sensor * pmc_0_3_sensor_
Definition gcja5.h:48
sensor::Sensor * pmc_2_5_sensor_
Definition gcja5.h:51
void set_pm_10_0_sensor(sensor::Sensor *pm_10_0)
Definition gcja5.h:19
sensor::Sensor * pmc_0_5_sensor_
Definition gcja5.h:49
void set_pm_2_5_sensor(sensor::Sensor *pm_2_5)
Definition gcja5.h:18
void set_pmc_0_3_sensor(sensor::Sensor *pmc_0_3)
Definition gcja5.h:21
sensor::Sensor * pmc_10_0_sensor_
Definition gcja5.h:53
void set_pmc_2_5_sensor(sensor::Sensor *pmc_2_5)
Definition gcja5.h:24
sensor::Sensor * pm_10_0_sensor_
Definition gcja5.h:46
void dump_config() override
Definition gcja5.cpp:106
void set_pmc_5_0_sensor(sensor::Sensor *pmc_5_0)
Definition gcja5.h:25
std::vector< uint8_t > rx_message_
Definition gcja5.h:40
void set_pmc_1_0_sensor(sensor::Sensor *pmc_1_0)
Definition gcja5.h:23
float get_setup_priority() const override
Definition gcja5.h:15
Base-class for all sensors.
Definition sensor.h:62
const float DATA
For components that import data from directly connected sensors like DHT.
Definition component.cpp:20
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:200
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