ESPHome 2026.5.0
Loading...
Searching...
No Matches
xl9535.h
Go to the documentation of this file.
1#pragma once
2
5#include "esphome/core/hal.h"
6
7namespace esphome::xl9535 {
8
9enum {
18};
19
21 public:
22 bool digital_read(uint8_t pin);
23 void digital_write(uint8_t pin, bool value);
24 void pin_mode(uint8_t pin, gpio::Flags mode);
25
26 void setup() override;
27 void dump_config() override;
28 float get_setup_priority() const override { return setup_priority::IO; }
29};
30
31class XL9535GPIOPin : public GPIOPin {
32 public:
33 void set_parent(XL9535Component *parent) { this->parent_ = parent; }
34 void set_pin(uint8_t pin) { this->pin_ = pin; }
35 void set_inverted(bool inverted) { this->inverted_ = inverted; }
37
38 gpio::Flags get_flags() const override { return this->flags_; }
39
40 void setup() override;
41 size_t dump_summary(char *buffer, size_t len) const override;
42 void pin_mode(gpio::Flags flags) override;
43 bool digital_read() override;
44 void digital_write(bool value) override;
45
46 protected:
48
49 uint8_t pin_;
52};
53
54} // namespace esphome::xl9535
BedjetMode mode
BedJet operating mode.
This Class provides the methods to read/write bytes from/to an i2c device.
Definition i2c.h:132
bool digital_read(uint8_t pin)
Definition xl9535.cpp:26
float get_setup_priority() const override
Definition xl9535.h:28
void digital_write(uint8_t pin, bool value)
Definition xl9535.cpp:50
void pin_mode(uint8_t pin, gpio::Flags mode)
Definition xl9535.cpp:84
void set_parent(XL9535Component *parent)
Definition xl9535.h:33
bool digital_read() override
Definition xl9535.cpp:117
void set_pin(uint8_t pin)
Definition xl9535.h:34
gpio::Flags get_flags() const override
Definition xl9535.h:38
void set_flags(gpio::Flags flags)
Definition xl9535.h:36
XL9535Component * parent_
Definition xl9535.h:47
void set_inverted(bool inverted)
Definition xl9535.h:35
size_t dump_summary(char *buffer, size_t len) const override
Definition xl9535.cpp:112
void pin_mode(gpio::Flags flags) override
Definition xl9535.cpp:116
void digital_write(bool value) override
Definition xl9535.cpp:118
uint16_t flags
constexpr float IO
For components that represent GPIO pins like PCF8573.
Definition component.h:39
@ XL9535_INPUT_PORT_0_REGISTER
Definition xl9535.h:10
@ XL9535_INPUT_PORT_1_REGISTER
Definition xl9535.h:11
@ XL9535_OUTPUT_PORT_0_REGISTER
Definition xl9535.h:12
@ XL9535_INVERSION_PORT_1_REGISTER
Definition xl9535.h:15
@ XL9535_CONFIG_PORT_1_REGISTER
Definition xl9535.h:17
@ XL9535_CONFIG_PORT_0_REGISTER
Definition xl9535.h:16
@ XL9535_INVERSION_PORT_0_REGISTER
Definition xl9535.h:14
@ XL9535_OUTPUT_PORT_1_REGISTER
Definition xl9535.h:13
std::string size_t len