#include "serialstream.h" SerialStream::SerialStream(ComPort port, BaudRate baud_rate, DataBits data_bits, StopBits stop_bits, Parity parity) : Serial(port, baud_rate, data_bits, stop_bits, parity) {} void SerialStream::flush() { print(buffer, pos); pos = 0; } void SerialStream::setForeground(Color c) { *this << "\e[" << (30 + static_cast(c)) << 'm'; } void SerialStream::setBackground(Color c) { *this << "\e[" << (40 + static_cast(c)) << 'm'; } void SerialStream::setAttribute(Attrib a) { *this << "\e[" << static_cast(a) << 'm'; } void SerialStream::reset() { *this << "\ec" << ::flush; } void SerialStream::setPos(int x, int y) { *this << "\e[" << (y + 1) << ';' << (x + 1) << 'H' << ::flush; } void SerialStream::print(char* str, int length) { for (int p = 0; p < length; p++) { if (str[p] == '\n' && (p == 0 || str[p - 1] != '\r')) { write('\r'); } write(str[p]); } }