diff --git a/cores/arduino/SerialUSB.h b/cores/arduino/SerialUSB.h index 94d5cc83..442d28d0 100644 --- a/cores/arduino/SerialUSB.h +++ b/cores/arduino/SerialUSB.h @@ -18,6 +18,8 @@ class SerialUSB_ : public ZephyrSerial { void begin(unsigned long baudrate) { begin(baudrate, SERIAL_8N1); } operator bool() override; + size_t write(const uint8_t *buffer, size_t size) override; + void flush() override; protected: uint32_t dtr = 0; diff --git a/cores/arduino/USB.cpp b/cores/arduino/USB.cpp index 6f45e1f2..60f5fc7a 100644 --- a/cores/arduino/USB.cpp +++ b/cores/arduino/USB.cpp @@ -124,5 +124,16 @@ arduino::SerialUSB_::operator bool() { return dtr; } + +size_t arduino::SerialUSB_::write(const uint8_t *buffer, size_t size) { + if (!Serial) return 0; + return arduino::ZephyrSerial::write(buffer, size); +} + +void arduino::SerialUSB_::flush() { + if (!Serial) return; + arduino::ZephyrSerial::flush(); +} + arduino::SerialUSB_ Serial(usb_dev); #endif