diff --git a/micropython/usb/usb-device-cdc/usb/device/cdc.py b/micropython/usb/usb-device-cdc/usb/device/cdc.py index d96dff21..46509ad0 100644 --- a/micropython/usb/usb-device-cdc/usb/device/cdc.py +++ b/micropython/usb/usb-device-cdc/usb/device/cdc.py @@ -367,9 +367,11 @@ class CDCInterface(io.IOBase, Interface): mv = mv[nbytes:] # check for timeout - if time.ticks_diff(time.ticks_ms(), start) > self._timeout: + if time.ticks_diff(time.ticks_ms(), start) >= self._timeout: return len(buf) - len(mv) + machine.idle() + def read(self, size): start = time.ticks_ms() @@ -404,7 +406,7 @@ class CDCInterface(io.IOBase, Interface): if n == len(b): break # Done, exit before we reach the sleep - if time.ticks_diff(time.ticks_ms(), start) > self._timeout: + if time.ticks_diff(time.ticks_ms(), start) >= self._timeout: break # Timed out machine.idle()