/** * @brief Implementation of UART using HAL. * * Configuration: * STA_HAL_UART_ENABLE: Enable module * STA_HAL_UART_DEBUG_SERIAL: Create global `sta::DebugSerial` object using this UART instance */ #ifndef STA_HAL_UART_HPP #define STA_HAL_UART_HPP #include #ifdef STA_HAL_UART_ENABLE #include #include namespace sta { /** * @brief Implementation of `UART` interface using HAL. */ class HalUART : public UART { public: /** * @param handle UART handle */ HalUART(UART_HandleTypeDef * handle); void write(const uint8_t * buffer, size_t size) override; private: UART_HandleTypeDef * handle_; /**< UART handle */ }; } // namespace sta #endif // STA_HAL_UART_ENABLE #endif // STA_HAL_UART_HPP