/** * @file * @brief Printable UART interface definition. */ #ifndef STA_CORE_PRINTABLE_UART_HPP #define STA_CORE_PRINTABLE_UART_HPP #include #include #include #include namespace sta { /** * @brief Printable interface for UART. * * @ingroup sta_core */ class PrintableUART : public Printable { public: /** * @param intf UART instance */ PrintableUART(UART * intf); /** * @brief Print string. * * @param str String buffer * @param length String length * @param newline If true, send a \r\n to start a new line. */ void print(const char * str, size_t length, bool newline = false) override; /** * @brief Read string. * * @param str String buffer * @param length String length */ void read(char * str, size_t length) override; private: UART * intf_; }; } // namespace sta #endif // STA_CORE_PRINTABLE_UART_HPP