10static const uint8_t ZA_MAX_MS = 2;
11static const uint8_t ZA_MSG_LEN = 5;
12static const uint8_t ZA_FRAME_SIZE = 40;
13static const uint8_t ZA_MSG_DELIMETER = 0x0D;
15static const uint8_t ZA_BYTE_TYPE = 0;
16static const uint8_t ZA_BYTE_HIGH = 1;
17static const uint8_t ZA_BYTE_LOW = 2;
18static const uint8_t ZA_BYTE_SUM = 3;
19static const uint8_t ZA_BYTE_END = 4;
34 bool decode(uint32_t ms,
bool data);
Copy of GPIOPin that is safe to use from ISRs (with no virtual functions)
This class simplifies creating components that periodically check a state.
Base-class for all sensors.
uint8_t buffer_[ZA_MSG_LEN]
bool decode(uint32_t ms, bool data)
void set_data_(ZaMessage *message)
ZaDataProcessor processor_
ISRInternalGPIOPin pin_data_
void setup(InternalGPIOPin *pin_clock, InternalGPIOPin *pin_data)
static void interrupt(ZaSensorStore *arg)
ISRInternalGPIOPin pin_clock_
Component for reading temperature/co2/humidity measurements from ZyAura sensors.
void set_pin_clock(InternalGPIOPin *pin)
sensor::Sensor * temperature_sensor_
InternalGPIOPin * pin_clock_
void set_pin_data(InternalGPIOPin *pin)
sensor::Sensor * humidity_sensor_
void set_co2_sensor(sensor::Sensor *co2_sensor)
float get_setup_priority() const override
InternalGPIOPin * pin_data_
void set_temperature_sensor(sensor::Sensor *temperature_sensor)
void dump_config() override
bool publish_state_(ZaDataType data_type, sensor::Sensor *sensor, uint16_t *data_value)
sensor::Sensor * co2_sensor_
void set_humidity_sensor(sensor::Sensor *humidity_sensor)
const float DATA
For components that import data from directly connected sensors like DHT.
Providing packet encoding functions for exchanging data with a remote host.