#include "serial.hpp" #include "std/conversion.hpp" SerialStream::SerialStream(Serial_ serial, uint64_t baud_rate) : _serial(serial) { this->_serial.begin(baud_rate); while (!this->_serial) {} } SerialStream &SerialStream::operator<<(const char *str) { this->write(str); return *this; } SerialStream &SerialStream::operator<<(const SmartString &str) { this->write(str.c_str); return *this; } SerialStream &SerialStream::operator<<(const double &num) { this->write(doubleToStr(num)->c_str); return *this; } SerialStream &SerialStream::operator<<(const int &num) { this->write(intToStr(num)->c_str); return *this; } SerialStream &SerialStream::operator<<(const unsigned int &num) { this->write(uintToStr(num)->c_str); return *this; } SerialStream &SerialStream::operator<<(const unsigned long &num) { this->write(uintToStr(num)->c_str); return *this; } SerialStream &SerialStream::operator<<(void (*manipulator)(SerialStream *)) { manipulator(this); return *this; } void SerialStream::write(const char *str) { this->_serial.write(str); } void SerialStream::flush() { this->_serial.flush(); } void endl(SerialStream *serial_stream) { serial_stream->write("\n"); serial_stream->flush(); }