prusa3d / Prusa-Firmware-MMU

Other
32 stars 15 forks source link

General USB fixes ported from the new mmu bootloader #323

Open leptun opened 4 months ago

leptun commented 4 months ago

Saves quite a bit of flash and the usb still works fully.

github-actions[bot] commented 4 months ago

All values in bytes. Δ Delta to base

ΔFlash ΔSRAM Used Flash Used SRAM Free Flash Free SRAM
-114 0 28256 1669 416 891
leptun commented 4 months ago

SOF events are not used by the CDC class. The reordered endpoints should be fine since the descriptor was updated. In any case, this change is just so that the mmu firmware config matches the one in the bootloader.

leptun commented 4 months ago

Remember, people are reporting "cannot flash the FW" occasionally a we haven't been able to reproduce these issues at all.

This seems to be caused by the transition from the MMU fw to the bootloader. So when the usb device disconnects and then reconnects. This PR doesn't touch that in any way. I have yet to identify what exactly causes that problem since I can't reproduce the problem consistently. Any attempt to cause it in rapid succession makes the problem go away completely.

I'm not against merging it, it just needs tons of testing.

What do you propose for testing this? I've tested updating the firmware on windows and that worked correctly. I can also run tests on macOS on my thinkpad and on linux. Other than that I don't know what else to test.