ESPHome
2026.5.0-dev
Loading...
Searching...
No Matches
esphome
components
mcp23xxx_base
mcp23xxx_base.cpp
Go to the documentation of this file.
1
#include "
mcp23xxx_base.h
"
2
#include "
esphome/core/helpers.h
"
3
#include "
esphome/core/log.h
"
4
5
namespace
esphome
{
6
namespace
mcp23xxx_base {
7
8
template
<u
int
8_t N>
void
MCP23XXXGPIOPin<N>::setup
() {
9
this->pin_mode(flags_);
10
// When interrupt_pin is configured, pin_mode() already auto-enables CHANGE
11
// interrupt for input pins, so skip the explicit call if the user didn't
12
// override the default (NO_INTERRUPT)
13
if
(this->interrupt_mode_ !=
MCP23XXX_NO_INTERRUPT
|| this->parent_->get_interrupt_pin() ==
nullptr
) {
14
this->parent_->pin_interrupt_mode(this->pin_, this->interrupt_mode_);
15
}
16
}
17
template
<u
int
8_t N>
void
MCP23XXXGPIOPin<N>::pin_mode
(
gpio::Flags
flags
) { this->parent_->pin_mode(this->pin_,
flags
); }
18
template
<u
int
8_t N>
bool
MCP23XXXGPIOPin<N>::digital_read
() {
19
return
this->parent_->digital_read(this->pin_) != this->inverted_;
20
}
21
template
<u
int
8_t N>
void
MCP23XXXGPIOPin<N>::digital_write
(
bool
value) {
22
this->parent_->digital_write(this->pin_, value != this->inverted_);
23
}
24
template
<u
int
8_t N>
size_t
MCP23XXXGPIOPin<N>::dump_summary
(
char
*buffer,
size_t
len
)
const
{
25
return
buf_append_printf(buffer,
len
, 0,
"%u via MCP23XXX"
, this->pin_);
26
}
27
28
template
class
MCP23XXXGPIOPin<8>
;
29
template
class
MCP23XXXGPIOPin<16>
;
30
31
}
// namespace mcp23xxx_base
32
}
// namespace esphome
esphome::mcp23xxx_base::MCP23XXXGPIOPin
Definition
mcp23xxx_base.h:57
esphome::mcp23xxx_base::MCP23XXXGPIOPin::digital_write
void digital_write(bool value) override
Definition
mcp23xxx_base.cpp:21
esphome::mcp23xxx_base::MCP23XXXGPIOPin::digital_read
bool digital_read() override
Definition
mcp23xxx_base.cpp:18
esphome::mcp23xxx_base::MCP23XXXGPIOPin::pin_mode
void pin_mode(gpio::Flags flags) override
Definition
mcp23xxx_base.cpp:17
esphome::mcp23xxx_base::MCP23XXXGPIOPin::dump_summary
size_t dump_summary(char *buffer, size_t len) const override
Definition
mcp23xxx_base.cpp:24
esphome::mcp23xxx_base::MCP23XXXGPIOPin::setup
void setup() override
Definition
mcp23xxx_base.cpp:8
flags
uint16_t flags
Definition
dns_server_esp32_idf.cpp:1
helpers.h
log.h
mcp23xxx_base.h
esphome::gpio::Flags
Flags
Definition
gpio.h:24
esphome::mcp23xxx_base::MCP23XXX_NO_INTERRUPT
@ MCP23XXX_NO_INTERRUPT
Definition
mcp23xxx_base.h:10
esphome
Providing packet encoding functions for exchanging data with a remote host.
Definition
a01nyub.cpp:7
esphome::len
std::string size_t len
Definition
helpers.h:1045
Generated by
1.12.0