56 uint16_t reg_value = 0;
59 reg_value = this->
olat_;
69 this->
olat_ = reg_value;
void mark_failed()
Mark this component as failed.
void setup_interrupt_pin_()
void enable_polling_loop_()
Call from pin_mode() for an input pin: without an interrupt pin the loop polls instead.
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(uint8_t pin, gpio::Flags flags)
bool digital_read_cache(uint8_t pin) override
void digital_write_hw(uint8_t pin, bool value) override
bool digital_read_hw(uint8_t pin) override
void update_reg_(uint8_t pin, bool pin_value, uint8_t reg_a)
bool read_reg_(uint8_t reg, uint16_t *value)
bool write_reg_(uint8_t reg, uint16_t value)
ESPHOME_LOG_TAG(TAG, "mcp23016")
ESPHOME_ALWAYS_INLINE constexpr void assign_bits(T &value, std::type_identity_t< T > mask, bool on)
Set the bits of mask in value when on is true, clear them otherwise.