8static const char *
const TAG =
"mcp23016";
72 uint16_t reg_value = 0;
75 reg_value = this->
olat_;
81 reg_value |= 1 << pin;
83 reg_value &= ~(1 << pin);
89 this->
olat_ = reg_value;
98 return buf_append_printf(buffer,
len, 0,
"%u via MCP23016", this->
pin_);
void mark_failed()
Mark this component as failed.
void enable_loop_soon_any_context()
Thread and ISR-safe version of enable_loop() that can be called from any context.
void enable_loop()
Enable this component's loop.
void disable_loop()
Disable this component's loop.
void attach_interrupt(void(*func)(T *), T *arg, gpio::InterruptType type) const
void digital_write(P pin, bool value)
void set_invalidate_on_read_(bool invalidate)
bool digital_read(P pin)
Read the state of the given pin.
bool read_byte_16(uint8_t a_register, uint16_t *data)
bool write_byte_16(uint8_t a_register, uint16_t data) const
void pin_mode(gpio::Flags flags) override
bool digital_read() override
size_t dump_summary(char *buffer, size_t len) const override
void digital_write(bool value) override
void pin_mode(uint8_t pin, gpio::Flags flags)
bool digital_read_cache(uint8_t pin) override
InternalGPIOPin * interrupt_pin_
void digital_write_hw(uint8_t pin, bool value) override
static void IRAM_ATTR gpio_intr(MCP23016 *arg)
bool digital_read_hw(uint8_t pin) override
void update_reg_(uint8_t pin, bool pin_value, uint8_t reg_a)
float get_setup_priority() const override
bool read_reg_(uint8_t reg, uint16_t *value)
bool write_reg_(uint8_t reg, uint16_t value)
constexpr float IO
For components that represent GPIO pins like PCF8573.
Providing packet encoding functions for exchanging data with a remote host.