unify uploadertool and GCS uploader
Description
Type | Key | Summary | Priority | Story Points | Assignee | Status |
---|---|---|---|---|---|---|
![]() |
Activity
Connection drop down
order of connections is now more deterministic (usb, then serial, etc...)
connection entries remain visible and selectable, but are disabled, when the device is disconnected (useful for uploader plugin)
usb: auto connect now triggered only when the usb device list changes (used to be triggered by serial events too)
fix spurious connection events that would trigger auto connect
Command line uploader
rename to uploader.exe and move to GCS bin directory
works with usb and serial
move sources away from experimental to tools
GCS uploader
works with serial (in addition to usb) - allows to upgrade / rescue a GPS V9 board
now driven by main GCS connection drop down
works when board is already in bootloader mode (auto update, rescue, etc...)
the above fixes GCS hangs when updating a board already in bootloader mode
more (too) consistent UI ("centralized" progress report...)
more translatable
Todo
OPLM is broken
Boot & Erase should be available with BL >= 4 only
Button state issues
Flash/Retrieve progress bar is unused...
Firmware CRC for a running board is initially zero (the logic in firmwareiap.c is funky)
This means:
moving DFU and SSP out of GCS uploader plugin into ./libs
moving HID out ophid into ./libs
renaming ophid plugin to usbconnection (to match serialconnection and ipconnection plugins)
have uploadertool use DFU from ./libs
Note that, since LP-458, uploadertool and GCS uploader use identical versions of SSP and (almost) identical versions of DFU.
Expected benefits are:
uploadertool to work over hid/usb (not possible currently)
GCS uploader support of OpenPilot GPS flashing
That last item is tricky from a UI point of view as the GCS uploader does not work well for GPS style of board.
GPS has the OpenPilot bootloader (allowing DFU mode) but does not support UAVTalk.
This means that some UAVTalk specifics (IAP triggered reboot, ...) need to be disabled for GPS. It is not clear how to change the UI to handle GPS...