Open DesperateProgrammer opened 4 years ago
While looking for a slow USB CDC connection (~30-40kB/s) I found that there is an artifical delay in the boolean operator: https://github.com/arduino/ArduinoCore-sam/blob/c893c62ec9953ed36a256b5243272fda2e473c14/cores/arduino/USB/CDC.cpp#L314
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
While looking for a slow USB CDC connection (~30-40kB/s) I found that there is an artifical delay in the boolean operator: https://github.com/arduino/ArduinoCore-sam/blob/c893c62ec9953ed36a256b5243272fda2e473c14/cores/arduino/USB/CDC.cpp#L314
I can not find a reasoning for this delay. Removing it from the source greatly improved USB Speed for me to about 140kB/s
Does anyone know the reasoning behind this delay?
Thanks in advance, Tim