/** * @brief Implementation of UART using HAL. * * Define **STA_HAL_UART_ENABLE** in `` to enable module. * * To use a HAL UART instance (e.g. UART1) for `` define: * #define STA_HAL_UART_DEBUG_SERIAL huart1 */ #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); using UART::print; 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