ESPHome 2026.6.0-dev
Loading...
Searching...
No Matches
mcp23s17.h
Go to the documentation of this file.
1#pragma once
2
5#include "esphome/core/hal.h"
7
8namespace esphome::mcp23s17 {
9
11 public spi::SPIDevice<spi::BIT_ORDER_MSB_FIRST, spi::CLOCK_POLARITY_LOW, spi::CLOCK_PHASE_LEADING,
12 spi::DATA_RATE_8MHZ> {
13 public:
14 MCP23S17() = default;
15
16 void setup() override;
17 void dump_config() override;
18 void set_device_address(uint8_t device_addr);
19
20 protected:
21 bool read_reg(uint8_t reg, uint8_t *value) override;
22 bool write_reg(uint8_t reg, uint8_t value) override;
23
24 uint8_t device_opcode_ = 0x40;
25};
26
27} // namespace esphome::mcp23s17
void dump_config() override
Definition mcp23s17.cpp:56
void set_device_address(uint8_t device_addr)
Definition mcp23s17.cpp:14
bool read_reg(uint8_t reg, uint8_t *value) override
Definition mcp23s17.cpp:62
bool write_reg(uint8_t reg, uint8_t value) override
Definition mcp23s17.cpp:71
The SPIDevice is what components using the SPI will create.
Definition spi.h:429