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.
Loading...
Searching...
No Matches
spi.hpp
Go to the documentation of this file.
1#pragma once
2
60#include <concepts>
61#include <cstdint>
62#include <span>
63
64namespace epaper::hal {
65
123template <typename T>
124concept SpiBus = requires(T bus, std::uint8_t byte, std::span<const std::byte> data) {
125 { bus.transfer(byte) } -> std::same_as<std::uint8_t>;
126 { bus.write(data) } -> std::same_as<void>;
127};
128
129} // namespace epaper::hal
Concept for a raw SPI data transfer bus.
Definition spi.hpp:124
Definition gpio.hpp:62