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