78fc43baab
This needs thorough testing before it's merged, as we tried and reverted this once before (#5341 and #5356). I think that besides checking for tinyusb having "something to do", the fact that `port_interrupt_after_ticks` and `port_disable_tick` weren't implemented that was causing a secondary problem. I've tested this on a pico w over reboot-cycles and ctrl-c-cycles, with and without drive automounting, with and without serial repl open, and on a power-only connection. I didn't notice the problem reported in #5356 after merely implementing port_idle_until_interrupt; but I did notice that sleeps in general would take over-long until "something" (like writing to the USB drive) happened; I think "something" was probably calling port_enable_tick(). When this problem was happening, sleeps would take a lot longer; for instance, `sleep(.001)` would take about 1/20s and `sleep(.1)` would take about 1/7s. |
||
---|---|---|
.. | ||
internal_flash_root_pointers.h | ||
internal_flash.c | ||
internal_flash.h | ||
port.c | ||
rp2_cpu.s | ||
usb.c |