ESPHome
2026.6.0-dev
Loading...
Searching...
No Matches
esphome
components
mcp23x08_base
mcp23x08_base.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
esphome/components/mcp23xxx_base/mcp23xxx_base.h
"
4
#include "
esphome/core/component.h
"
5
#include "
esphome/core/hal.h
"
6
7
namespace
esphome::mcp23x08_base
{
8
9
enum
MCP23S08GPIORegisters
{
10
// A side
11
MCP23X08_IODIR
= 0x00,
12
MCP23X08_IPOL
= 0x01,
13
MCP23X08_GPINTEN
= 0x02,
14
MCP23X08_DEFVAL
= 0x03,
15
MCP23X08_INTCON
= 0x04,
16
MCP23X08_IOCON
= 0x05,
17
MCP23X08_GPPU
= 0x06,
18
MCP23X08_INTF
= 0x07,
19
MCP23X08_INTCAP
= 0x08,
20
MCP23X08_GPIO
= 0x09,
21
MCP23X08_OLAT
= 0x0A,
22
};
23
24
class
MCP23X08Base
:
public
mcp23xxx_base::MCP23XXXBase
<8> {
25
public
:
26
bool
digital_read_hw
(uint8_t pin)
override
;
27
void
digital_write_hw
(uint8_t pin,
bool
value)
override
;
28
bool
digital_read_cache
(uint8_t pin)
override
;
29
30
void
pin_mode
(uint8_t pin,
gpio::Flags
flags
)
override
;
31
void
pin_interrupt_mode
(uint8_t pin,
mcp23xxx_base::MCP23XXXInterruptMode
interrupt_mode)
override
;
32
33
protected
:
34
void
update_reg
(uint8_t pin,
bool
pin_value, uint8_t reg_a)
override
;
35
36
uint8_t
olat_
{0x00};
37
39
uint8_t
input_mask_
{0x00};
40
};
41
42
}
// namespace esphome::mcp23x08_base
esphome::mcp23x08_base::MCP23X08Base
Definition
mcp23x08_base.h:24
esphome::mcp23x08_base::MCP23X08Base::update_reg
void update_reg(uint8_t pin, bool pin_value, uint8_t reg_a) override
Definition
mcp23x08_base.cpp:72
esphome::mcp23x08_base::MCP23X08Base::digital_read_cache
bool digital_read_cache(uint8_t pin) override
Definition
mcp23x08_base.cpp:21
esphome::mcp23x08_base::MCP23X08Base::pin_mode
void pin_mode(uint8_t pin, gpio::Flags flags) override
Definition
mcp23x08_base.cpp:23
esphome::mcp23x08_base::MCP23X08Base::digital_read_hw
bool digital_read_hw(uint8_t pin) override
Definition
mcp23x08_base.cpp:8
esphome::mcp23x08_base::MCP23X08Base::digital_write_hw
void digital_write_hw(uint8_t pin, bool value) override
Definition
mcp23x08_base.cpp:16
esphome::mcp23x08_base::MCP23X08Base::olat_
uint8_t olat_
Definition
mcp23x08_base.h:36
esphome::mcp23x08_base::MCP23X08Base::input_mask_
uint8_t input_mask_
State read in digital_read_hw.
Definition
mcp23x08_base.h:39
esphome::mcp23x08_base::MCP23X08Base::pin_interrupt_mode
void pin_interrupt_mode(uint8_t pin, mcp23xxx_base::MCP23XXXInterruptMode interrupt_mode) override
Definition
mcp23x08_base.cpp:46
esphome::mcp23xxx_base::MCP23XXXBase
Definition
mcp23xxx_base.h:11
component.h
hal.h
flags
uint16_t flags
Definition
dns_server_esp32_idf.cpp:1
mcp23xxx_base.h
esphome::gpio::Flags
Flags
Definition
gpio.h:24
esphome::mcp23x08_base
Definition
mcp23x08_base.cpp:4
esphome::mcp23x08_base::MCP23S08GPIORegisters
MCP23S08GPIORegisters
Definition
mcp23x08_base.h:9
esphome::mcp23x08_base::MCP23X08_INTF
@ MCP23X08_INTF
Definition
mcp23x08_base.h:18
esphome::mcp23x08_base::MCP23X08_GPPU
@ MCP23X08_GPPU
Definition
mcp23x08_base.h:17
esphome::mcp23x08_base::MCP23X08_OLAT
@ MCP23X08_OLAT
Definition
mcp23x08_base.h:21
esphome::mcp23x08_base::MCP23X08_GPINTEN
@ MCP23X08_GPINTEN
Definition
mcp23x08_base.h:13
esphome::mcp23x08_base::MCP23X08_DEFVAL
@ MCP23X08_DEFVAL
Definition
mcp23x08_base.h:14
esphome::mcp23x08_base::MCP23X08_GPIO
@ MCP23X08_GPIO
Definition
mcp23x08_base.h:20
esphome::mcp23x08_base::MCP23X08_IOCON
@ MCP23X08_IOCON
Definition
mcp23x08_base.h:16
esphome::mcp23x08_base::MCP23X08_IODIR
@ MCP23X08_IODIR
Definition
mcp23x08_base.h:11
esphome::mcp23x08_base::MCP23X08_INTCON
@ MCP23X08_INTCON
Definition
mcp23x08_base.h:15
esphome::mcp23x08_base::MCP23X08_IPOL
@ MCP23X08_IPOL
Definition
mcp23x08_base.h:12
esphome::mcp23x08_base::MCP23X08_INTCAP
@ MCP23X08_INTCAP
Definition
mcp23x08_base.h:19
esphome::mcp23xxx_base::MCP23XXXInterruptMode
MCP23XXXInterruptMode
Definition
mcp23xxx_base.h:9
Generated by
1.12.0