With the addition of more supported boards there should be a better way to select the board you have. It will work as is but the user will have to scroll through multiple boards and firmware versions.
Proposal,
User clicks upload firmware. Each item is a wizard page. QWizard instead of the current multi stacked one.
Step one select the source of the firmware files, local / online / other (sources.ini file)
(LOCAL) -> Browse for your file locally, then jump straight to page 5
(!LOCAL) -> Show a board selector page. Choose the board you have. Should have an image, part numbers, online link for ordering and details. The data extracted is extracted from github, master branch firmwaresXX.ini. Will have to be sure every listing contains the proper fields.
Downloading the firmware. With a pause so you can see what's happening. Message if it gets stuck here "the internets is broken"
Tell user to attach their board. Monitor for Com Port Changes or new drives e.g. UF2. If a new one is detected then automatically continue on. Should show a link to gitbook, what to do if my board wasn't detected. UF2 -> Skip to step 7
Try to set bootloader mode. Do a 1200bps touch first, delay, try to set with JSON command. If no change after XXsec tell user to double press reset. Scanning for new ports the whole time. Should be some information if it gets to the last step here and no results.
Upload the new firmware, progress bar and log output from flashing utility. UF2, copy the file to the drive.
Complete. Show the user success page and close button.
With the addition of more supported boards there should be a better way to select the board you have. It will work as is but the user will have to scroll through multiple boards and firmware versions.
Proposal,
User clicks upload firmware. Each item is a wizard page. QWizard instead of the current multi stacked one.
Suggestions?