ESPHome 2026.6.0-dev
Loading...
Searching...
No Matches
mcp23x17_base.h
Go to the documentation of this file.
1#pragma once
2
5#include "esphome/core/hal.h"
6
8
35
37 public:
38 bool digital_read_hw(uint8_t pin) override;
39 void digital_write_hw(uint8_t pin, bool value) override;
40 bool digital_read_cache(uint8_t pin) override;
41
42 void pin_mode(uint8_t pin, gpio::Flags flags) override;
43 void pin_interrupt_mode(uint8_t pin, mcp23xxx_base::MCP23XXXInterruptMode interrupt_mode) override;
44
45 protected:
46 void update_reg(uint8_t pin, bool pin_value, uint8_t reg_a) override;
47
48 uint8_t olat_a_{0x00};
49 uint8_t olat_b_{0x00};
50
52 uint16_t input_mask_{0x00};
53};
54
55} // namespace esphome::mcp23x17_base
bool digital_read_cache(uint8_t pin) override
void pin_mode(uint8_t pin, gpio::Flags flags) override
void digital_write_hw(uint8_t pin, bool value) override
bool digital_read_hw(uint8_t pin) override
void pin_interrupt_mode(uint8_t pin, mcp23xxx_base::MCP23XXXInterruptMode interrupt_mode) override
uint16_t input_mask_
State read in digital_read_hw.
void update_reg(uint8_t pin, bool pin_value, uint8_t reg_a) override
uint16_t flags