diff options
author | bnewbold <bnewbold@robocracy.org> | 2010-07-19 00:24:31 -0400 |
---|---|---|
committer | bnewbold <bnewbold@robocracy.org> | 2010-07-19 00:38:36 -0400 |
commit | 52cbd2f1a1557002f46355e0095400a09c267ff9 (patch) | |
tree | b2d8a95eb2cb2ac0c081fc0459a495baa75319c8 /wirish/usb_serial.h | |
parent | 7ae1ce63259ef440bc13d7493e9dcee43df83591 (diff) | |
download | librambutan-52cbd2f1a1557002f46355e0095400a09c267ff9.tar.gz librambutan-52cbd2f1a1557002f46355e0095400a09c267ff9.zip |
working serialUSB with timeout
as a temporary workaround for the fact that SerialUSB is often blocking,
this crude implementation makes the low-level C usbSendBytes function
non-blocking (with a return code of bytes sent) and implements a 2ms
timeout in the wirish write() function.
also adds begin(), end(), getDTR(), getRTS(), pending(). device is still
initialized the old fashioned way during init() so that, eg, autoreset
will work. includes a simple multi-test program.
Diffstat (limited to 'wirish/usb_serial.h')
-rw-r--r-- | wirish/usb_serial.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/wirish/usb_serial.h b/wirish/usb_serial.h index e1c61ff..abb362b 100644 --- a/wirish/usb_serial.h +++ b/wirish/usb_serial.h @@ -36,6 +36,9 @@ class USBSerial : public Print { public: USBSerial(void); + void begin(void); + void end(void); + uint32 available(void); uint32 read(void *buf, uint32 len); @@ -44,6 +47,10 @@ class USBSerial : public Print { void write(uint8); void write(const char *str); void write(void *, uint32); + + uint8 getRTS(); + uint8 getDTR(); + uint8 pending(); }; extern USBSerial SerialUSB; |