Open
Description
While looking for a slow USB CDC connection (~30-40kB/s) I found that there is an artifical delay in the boolean operator:
ArduinoCore-sam/cores/arduino/USB/CDC.cpp
Line 314 in c893c62
I can not find a reasoning for this delay. Removing it from the source greatly improved USB Speed for me to about 140kB/s
void setup() {
// put your setup code here, to run once:
SerialUSB.begin(2000000) ;
}
byte buffer[512] ;
void loop() {
#if 1
int pos = 0 ;
if (!SerialUSB)
return ;
while (SerialUSB.available())
{
if (pos >= sizeof(buffer))
return ;
buffer[pos++] = SerialUSB.read();
}
if (pos)
SerialUSB.write(buffer, pos);
return ;
#endif
}
Does anyone know the reasoning behind this delay?
Thanks in advance,
Tim
Metadata
Metadata
Assignees
Labels
No labels