ESPHome
2026.6.0-dev
Loading...
Searching...
No Matches
esphome
components
mcp23x17_base
mcp23x17_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::mcp23x17_base
{
8
9
enum
MCP23X17GPIORegisters
{
10
// A side
11
MCP23X17_IODIRA
= 0x00,
12
MCP23X17_IPOLA
= 0x02,
13
MCP23X17_GPINTENA
= 0x04,
14
MCP23X17_DEFVALA
= 0x06,
15
MCP23X17_INTCONA
= 0x08,
16
MCP23X17_IOCONA
= 0x0A,
17
MCP23X17_GPPUA
= 0x0C,
18
MCP23X17_INTFA
= 0x0E,
19
MCP23X17_INTCAPA
= 0x10,
20
MCP23X17_GPIOA
= 0x12,
21
MCP23X17_OLATA
= 0x14,
22
// B side
23
MCP23X17_IODIRB
= 0x01,
24
MCP23X17_IPOLB
= 0x03,
25
MCP23X17_GPINTENB
= 0x05,
26
MCP23X17_DEFVALB
= 0x07,
27
MCP23X17_INTCONB
= 0x09,
28
MCP23X17_IOCONB
= 0x0B,
29
MCP23X17_GPPUB
= 0x0D,
30
MCP23X17_INTFB
= 0x0F,
31
MCP23X17_INTCAPB
= 0x11,
32
MCP23X17_GPIOB
= 0x13,
33
MCP23X17_OLATB
= 0x15,
34
};
35
36
class
MCP23X17Base
:
public
mcp23xxx_base::MCP23XXXBase
<16> {
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
esphome::mcp23x17_base::MCP23X17Base
Definition
mcp23x17_base.h:36
esphome::mcp23x17_base::MCP23X17Base::digital_read_cache
bool digital_read_cache(uint8_t pin) override
Definition
mcp23x17_base.cpp:32
esphome::mcp23x17_base::MCP23X17Base::pin_mode
void pin_mode(uint8_t pin, gpio::Flags flags) override
Definition
mcp23x17_base.cpp:34
esphome::mcp23x17_base::MCP23X17Base::digital_write_hw
void digital_write_hw(uint8_t pin, bool value) override
Definition
mcp23x17_base.cpp:27
esphome::mcp23x17_base::MCP23X17Base::digital_read_hw
bool digital_read_hw(uint8_t pin) override
Definition
mcp23x17_base.cpp:9
esphome::mcp23x17_base::MCP23X17Base::pin_interrupt_mode
void pin_interrupt_mode(uint8_t pin, mcp23xxx_base::MCP23XXXInterruptMode interrupt_mode) override
Definition
mcp23x17_base.cpp:58
esphome::mcp23x17_base::MCP23X17Base::input_mask_
uint16_t input_mask_
State read in digital_read_hw.
Definition
mcp23x17_base.h:52
esphome::mcp23x17_base::MCP23X17Base::olat_b_
uint8_t olat_b_
Definition
mcp23x17_base.h:49
esphome::mcp23x17_base::MCP23X17Base::update_reg
void update_reg(uint8_t pin, bool pin_value, uint8_t reg_a) override
Definition
mcp23x17_base.cpp:84
esphome::mcp23x17_base::MCP23X17Base::olat_a_
uint8_t olat_a_
Definition
mcp23x17_base.h:48
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::mcp23x17_base
Definition
mcp23x17_base.cpp:5
esphome::mcp23x17_base::MCP23X17GPIORegisters
MCP23X17GPIORegisters
Definition
mcp23x17_base.h:9
esphome::mcp23x17_base::MCP23X17_INTCAPB
@ MCP23X17_INTCAPB
Definition
mcp23x17_base.h:31
esphome::mcp23x17_base::MCP23X17_INTCAPA
@ MCP23X17_INTCAPA
Definition
mcp23x17_base.h:19
esphome::mcp23x17_base::MCP23X17_IPOLA
@ MCP23X17_IPOLA
Definition
mcp23x17_base.h:12
esphome::mcp23x17_base::MCP23X17_GPINTENB
@ MCP23X17_GPINTENB
Definition
mcp23x17_base.h:25
esphome::mcp23x17_base::MCP23X17_GPPUB
@ MCP23X17_GPPUB
Definition
mcp23x17_base.h:29
esphome::mcp23x17_base::MCP23X17_IOCONA
@ MCP23X17_IOCONA
Definition
mcp23x17_base.h:16
esphome::mcp23x17_base::MCP23X17_IPOLB
@ MCP23X17_IPOLB
Definition
mcp23x17_base.h:24
esphome::mcp23x17_base::MCP23X17_INTFB
@ MCP23X17_INTFB
Definition
mcp23x17_base.h:30
esphome::mcp23x17_base::MCP23X17_DEFVALA
@ MCP23X17_DEFVALA
Definition
mcp23x17_base.h:14
esphome::mcp23x17_base::MCP23X17_DEFVALB
@ MCP23X17_DEFVALB
Definition
mcp23x17_base.h:26
esphome::mcp23x17_base::MCP23X17_INTFA
@ MCP23X17_INTFA
Definition
mcp23x17_base.h:18
esphome::mcp23x17_base::MCP23X17_IODIRB
@ MCP23X17_IODIRB
Definition
mcp23x17_base.h:23
esphome::mcp23x17_base::MCP23X17_INTCONA
@ MCP23X17_INTCONA
Definition
mcp23x17_base.h:15
esphome::mcp23x17_base::MCP23X17_GPIOB
@ MCP23X17_GPIOB
Definition
mcp23x17_base.h:32
esphome::mcp23x17_base::MCP23X17_INTCONB
@ MCP23X17_INTCONB
Definition
mcp23x17_base.h:27
esphome::mcp23x17_base::MCP23X17_IODIRA
@ MCP23X17_IODIRA
Definition
mcp23x17_base.h:11
esphome::mcp23x17_base::MCP23X17_OLATB
@ MCP23X17_OLATB
Definition
mcp23x17_base.h:33
esphome::mcp23x17_base::MCP23X17_GPIOA
@ MCP23X17_GPIOA
Definition
mcp23x17_base.h:20
esphome::mcp23x17_base::MCP23X17_IOCONB
@ MCP23X17_IOCONB
Definition
mcp23x17_base.h:28
esphome::mcp23x17_base::MCP23X17_OLATA
@ MCP23X17_OLATA
Definition
mcp23x17_base.h:21
esphome::mcp23x17_base::MCP23X17_GPINTENA
@ MCP23X17_GPINTENA
Definition
mcp23x17_base.h:13
esphome::mcp23x17_base::MCP23X17_GPPUA
@ MCP23X17_GPPUA
Definition
mcp23x17_base.h:17
esphome::mcp23xxx_base::MCP23XXXInterruptMode
MCP23XXXInterruptMode
Definition
mcp23xxx_base.h:9
Generated by
1.12.0