ESPHome 2026.11.0-dev
Loading...
Searching...
No Matches
ch422g.h
Go to the documentation of this file.
1#pragma once
2
5#include "esphome/core/hal.h"
7
8namespace esphome::ch422g {
9
10class CH422GComponent final : public Component, public i2c::I2CDevice {
11 public:
12 CH422GComponent() = default;
13
15 void setup() override;
17 void loop() override;
19 bool digital_read(uint8_t pin);
21 void digital_write(uint8_t pin, bool value);
23 void pin_mode(uint8_t pin, gpio::Flags flags);
24
25 float get_setup_priority() const override;
26 void dump_config() override;
27
28 protected:
29 bool write_reg_(uint8_t reg, uint8_t value);
30 uint8_t read_reg_(uint8_t reg);
31 bool set_mode_(uint8_t mode);
32 bool read_inputs_();
33 bool write_outputs_();
34
36 uint16_t output_bits_{0x00};
38 uint8_t pin_read_flags_ = {0x00};
40 uint8_t input_bits_ = {0x00};
42 uint8_t mode_value_{};
43};
44
47
48} // namespace esphome::ch422g
49
BedjetMode mode
BedJet operating mode.
ESPHOME_EXPANDER_PIN_SUMMARY_DECL(esphome::ch422g::CH422GComponent)
uint16_t output_bits_
The mask to write as output state - 1 means HIGH, 0 means LOW.
Definition ch422g.h:36
void setup() override
Check i2c availability and setup masks.
Definition ch422g.cpp:16
float get_setup_priority() const override
Definition ch422g.cpp:118
bool set_mode_(uint8_t mode)
Definition ch422g.cpp:111
void pin_mode(uint8_t pin, gpio::Flags flags)
Helper function to set the pin mode of a pin.
Definition ch422g.cpp:40
uint8_t pin_read_flags_
Flags to check if read previously during this loop.
Definition ch422g.h:38
void loop() override
Poll for input changes periodically.
Definition ch422g.cpp:30
uint8_t read_reg_(uint8_t reg)
Definition ch422g.cpp:98
uint8_t mode_value_
Copy of the mode value.
Definition ch422g.h:42
bool write_reg_(uint8_t reg, uint8_t value)
Definition ch422g.cpp:86
uint8_t input_bits_
Copy of last read values.
Definition ch422g.h:40
bool digital_read(uint8_t pin)
Helper function to read the value of a pin.
Definition ch422g.cpp:52
void digital_write(uint8_t pin, bool value)
Helper function to write the value of a pin.
Definition ch422g.cpp:62
This Class provides the methods to read/write bytes from/to an i2c device.
Definition i2c.h:144
I2CRegister reg(uint8_t a_register)
calls the I2CRegister constructor
Definition i2c.h:164
uint16_t flags