ESPHome 2026.6.0-dev
Loading...
Searching...
No Matches
sx1509_gpio_pin.h
Go to the documentation of this file.
1#pragma once
2
3#include "esphome/core/gpio.h"
4
5namespace esphome::sx1509 {
6
7class SX1509Component;
8
9class SX1509GPIOPin : public GPIOPin {
10 public:
11 void setup() override;
12 void pin_mode(gpio::Flags flags) override;
13 bool digital_read() override;
14 void digital_write(bool value) override;
15 size_t dump_summary(char *buffer, size_t len) const override;
16
17 void set_parent(SX1509Component *parent) { this->parent_ = parent; }
18 void set_pin(uint8_t pin) { this->pin_ = pin; }
19 void set_inverted(bool inverted) { this->inverted_ = inverted; }
21
22 gpio::Flags get_flags() const override { return this->flags_; }
23
24 protected:
26 uint8_t pin_;
29};
30
31} // namespace esphome::sx1509
void set_parent(SX1509Component *parent)
void set_flags(gpio::Flags flags)
size_t dump_summary(char *buffer, size_t len) const override
void pin_mode(gpio::Flags flags) override
void set_inverted(bool inverted)
gpio::Flags get_flags() const override
void digital_write(bool value) override
uint16_t flags
Here you'll find the Arduino code used to interface with the SX1509 I2C 16 I/O expander.
const void size_t len
Definition hal.h:64