unify uploadertool and GCS uploader


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...


Philippe Renon
June 7, 2017, 8:08 PM

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


  • 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)


Philippe Renon


Philippe Renon




Fix versions