37#ifndef SBL_VALIDATION_UART_REQUIREMENTS_HPP_
38#define SBL_VALIDATION_UART_REQUIREMENTS_HPP_
51template<
typename UartDriver>
61 "SBL ERROR: UART driver missing init() method.\n"
62 "Required: static void/bool init(const sbl::UartHandle& handle)");
65 "SBL ERROR: UART driver missing init_rx() method.\n"
66 "Required: static void/bool init_rx(const sbl::UartHandle& handle)");
69 "SBL ERROR: UART driver missing write_byte() method.\n"
70 "Required: static void write_byte(uint8_t byte)");
73 "SBL ERROR: UART driver missing write() method.\n"
74 "Required: static void write(const uint8_t* data, size_t len)");
77 "SBL ERROR: UART driver missing write_string() method.\n"
78 "Required: static void write_string(const char* str)");
81 "SBL ERROR: UART driver missing available() method.\n"
82 "Required: static bool available()");
85 "SBL ERROR: UART driver missing read_byte() method.\n"
86 "Required: static uint8_t read_byte()");
91 "SBL ERROR: UART available() must return bool.");
94 "SBL ERROR: UART read_byte() must return uint8_t.");
101 "SBL ERROR: If UART provides try_write_byte(), it must return bool.");
116template<
typename UartDriver>
UART driver requirements validator.
static constexpr bool validate()
Validate all required UART methods.
Method and interface detection for driver validation.
constexpr bool uart_driver_valid
Helper to validate a UART driver implementation.
Root namespace for all Sound Byte Libs functionality.
UART Driver Method Detection.