diff options
author | Zach Eveland <zeveland@blacklabel-development.com> | 2011-08-30 11:04:34 -0400 |
---|---|---|
committer | Zach Eveland <zeveland@blacklabel-development.com> | 2011-08-30 11:04:34 -0400 |
commit | 481fdeab797d449f6b82473b1e377c495224cff7 (patch) | |
tree | 2cddbbbc0c6be94842a1e0f5e92e709cfdc8e751 | |
parent | 351a78e01e8e61f5d1423f30b17f209151fcf79d (diff) |
CDC and HID write() routines now return non-void - brought in line with new write behavior
-rw-r--r-- | cores/arduino/CDC.cpp | 7 | ||||
-rw-r--r-- | cores/arduino/HID.cpp | 7 | ||||
-rw-r--r-- | cores/arduino/USBAPI.h | 4 |
3 files changed, 11 insertions, 7 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; diff --git a/cores/arduino/HID.cpp b/cores/arduino/HID.cpp index b042895..36e9b67 100644 --- a/cores/arduino/HID.cpp +++ b/cores/arduino/HID.cpp @@ -388,7 +388,7 @@ const uint8_t _asciimap[128] = }; uint8_t USBPutChar(uint8_t c); -void Keyboard_::write(uint8_t c) +size_t Keyboard_::write(uint8_t c) { // Keydown { @@ -398,10 +398,10 @@ void Keyboard_::write(uint8_t c) else { if (c >= 128) - return; + return 0; c = pgm_read_byte(_asciimap + c); if (!c) - return; + return 0; if (c & 0x80) { keys.modifiers |= KEY_MODIFIER_LEFT_SHIFT; @@ -416,6 +416,7 @@ void Keyboard_::write(uint8_t c) KeyReport keys = {0}; sendReport(&keys); } + return 1; } #endif
\ No newline at end of file diff --git a/cores/arduino/USBAPI.h b/cores/arduino/USBAPI.h index 4d26d23..b833009 100644 --- a/cores/arduino/USBAPI.h +++ b/cores/arduino/USBAPI.h @@ -33,7 +33,7 @@ public: virtual int peek(void); virtual int read(void); virtual void flush(void); - virtual void write(uint8_t); + virtual size_t write(uint8_t); }; extern Serial_ Serial; @@ -93,7 +93,7 @@ public: Keyboard_(); void sendReport(KeyReport* keys); void setKeyMap(KeyMap* keyMap); - virtual void write(uint8_t); + virtual size_t write(uint8_t); }; extern Keyboard_ Keyboard; |