|
libepaper 2.0.0
A C++23 library for controlling Waveshare e-paper displays on Raspberry Pi, featuring transparent sleep/wake management and a fluent builder API.
|
SPI bus concept for hardware abstraction. More...
#include <concepts>#include <cstdint>#include <span>

Go to the source code of this file.
Namespaces | |
| namespace | epaper |
| namespace | epaper::hal |
Concepts | |
| concept | epaper::hal::SpiBus |
| Concept for a raw SPI data transfer bus. | |
SPI bus concept for hardware abstraction.
Defines C++20 concept for SPI data transfer operations, enabling generic driver code that works with any SPI backend.
Design Philosophy:
SPI Responsibilities:
NOT Handled by SpiBus:
Rationale for Minimal Interface: E-paper displays require precise CS/DC control for command vs data writes. Decoupling CS/DC from SPI allows drivers to implement hardware-specific timing requirements (e.g., CS must go low 10ns before SCLK starts).
Typical Implementations:
Thread Safety: