#include "serial.hpp" #include "general.hpp" SerialStream::SerialStream(Serial_ serial, unsigned long baud_rate) { this->_serial = serial; this->_serial.begin(baud_rate); while (!this->_serial) {} } SerialStream::~SerialStream() { Serial.end(); } 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 float num) { this->write(floatToStr(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(); }