mirror of
https://github.com/arduino/Arduino.git
synced 2025-01-30 19:52:13 +01:00
improved USB write speeds
This commit is contained in:
parent
44b5096e05
commit
b822091a78
@ -199,6 +199,11 @@ void Serial_::flush(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
size_t Serial_::write(uint8_t c)
|
size_t Serial_::write(uint8_t c)
|
||||||
|
{
|
||||||
|
return write(&c, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t Serial_::write(const uint8_t *buffer, size_t size)
|
||||||
{
|
{
|
||||||
/* only try to send bytes if the high-level CDC connection itself
|
/* 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
|
is open (not just the pipe) - the OS should set lineState when the port
|
||||||
@ -210,7 +215,7 @@ size_t Serial_::write(uint8_t c)
|
|||||||
// open connection isn't broken cleanly (cable is yanked out, host dies
|
// open connection isn't broken cleanly (cable is yanked out, host dies
|
||||||
// or locks up, or host virtual serial port hangs)
|
// or locks up, or host virtual serial port hangs)
|
||||||
if (_usbLineInfo.lineState > 0) {
|
if (_usbLineInfo.lineState > 0) {
|
||||||
int r = USB_Send(CDC_TX,&c,1);
|
int r = USB_Send(CDC_TX,buffer,size);
|
||||||
if (r > 0) {
|
if (r > 0) {
|
||||||
return r;
|
return r;
|
||||||
} else {
|
} else {
|
||||||
|
@ -40,6 +40,7 @@ public:
|
|||||||
virtual int read(void);
|
virtual int read(void);
|
||||||
virtual void flush(void);
|
virtual void flush(void);
|
||||||
virtual size_t write(uint8_t);
|
virtual size_t write(uint8_t);
|
||||||
|
virtual size_t write(const uint8_t*, size_t);
|
||||||
using Print::write; // pull in write(str) and write(buf, size) from Print
|
using Print::write; // pull in write(str) and write(buf, size) from Print
|
||||||
operator bool();
|
operator bool();
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user