I appreciate that you took the time to put together a clean patch, but I'm not going to merge this change.
As a design choice, I prefer not to temporarily run the USB bootloader on every boot. It can be useful, but compared to explicitly selecting the bootloader via GPIO/USB/watchdog, it is much less reliable.
In particular, the time for the operating system to enumerate the USB bootloader so that dfu-util can detect it can vary quite a bit across different machines, so the bootup period that works with one machine may not work at all on another machine. (if you check out the stm32duino bootloader, the bootloader wait periods range from 6 seconds to 30 seconds).
Hi @danielkucera,
I appreciate that you took the time to put together a clean patch, but I'm not going to merge this change.
As a design choice, I prefer not to temporarily run the USB bootloader on every boot. It can be useful, but compared to explicitly selecting the bootloader via GPIO/USB/watchdog, it is much less reliable.
In particular, the time for the operating system to enumerate the USB bootloader so that dfu-util can detect it can vary quite a bit across different machines, so the bootup period that works with one machine may not work at all on another machine. (if you check out the stm32duino bootloader, the bootloader wait periods range from 6 seconds to 30 seconds).