aboutsummaryrefslogtreecommitdiff
path: root/cores/arduino/CDC.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cores/arduino/CDC.cpp')
-rw-r--r--cores/arduino/CDC.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/cores/arduino/CDC.cpp b/cores/arduino/CDC.cpp
index b04c79b..1f1fcb5 100644
--- a/cores/arduino/CDC.cpp
+++ b/cores/arduino/CDC.cpp
@@ -153,7 +153,7 @@ void Serial_::flush(void)
USB_Flush(CDC_TX);
}
-void Serial_::write(uint8_t c)
+size_t Serial_::write(uint8_t c)
{
/* only try to send bytes if the high-level CDC connection itself
is open (not just the pipe) - the OS should set lineState when the port
@@ -164,8 +164,11 @@ void Serial_::write(uint8_t c)
// TODO - ZE - check behavior on different OSes and test what happens if an
// open connection isn't broken cleanly (cable is yanked out, host dies
// or locks up, or host virtual serial port hangs)
- if (_usbLineInfo.lineState > 0)
+ if (_usbLineInfo.lineState > 0) {
USB_Send(CDC_TX,&c,1);
+ return 1;
+ }
+ return 0;
}
Serial_ Serial;