From 0520baf5bde2b6e45b32a8426cd0ba71e1c8441c Mon Sep 17 00:00:00 2001 From: Gus Grubba Date: Mon, 12 Mar 2018 15:08:40 -0400 Subject: [PATCH] Firmware Upgrade Fixes Custom, single firmware upgrades were fixed to "stable", even if the user selected "custom". The code, when selecting the firmware type was using the combo box model index instead of the actual type defined by the list model. --- src/VehicleSetup/FirmwareUpgrade.qml | 4 ++-- src/VehicleSetup/FirmwareUpgradeController.cc | 4 ++-- src/VehicleSetup/FirmwareUpgradeController.h | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/VehicleSetup/FirmwareUpgrade.qml b/src/VehicleSetup/FirmwareUpgrade.qml index 646bfcce3..4633168aa 100644 --- a/src/VehicleSetup/FirmwareUpgrade.qml +++ b/src/VehicleSetup/FirmwareUpgrade.qml @@ -168,7 +168,7 @@ SetupPage { function accept() { hideDialog() if (_singleFirmwareMode) { - controller.flashSingleFirmwareMode() + controller.flashSingleFirmwareMode(controller.selectedFirmwareType) } else { var stack = apmFlightStack.checked ? FirmwareUpgradeController.AutoPilotStackAPM : FirmwareUpgradeController.AutoPilotStackPX4 if (px4Flow) { @@ -353,7 +353,7 @@ SetupPage { currentIndex: controller.selectedFirmwareType onActivated: { - controller.selectedFirmwareType = index + controller.selectedFirmwareType = model.get(index).firmwareType if (model.get(index).firmwareType === FirmwareUpgradeController.BetaFirmware) { firmwareVersionWarningLabel.visible = true firmwareVersionWarningLabel.text = qsTr("WARNING: BETA FIRMWARE. ") + diff --git a/src/VehicleSetup/FirmwareUpgradeController.cc b/src/VehicleSetup/FirmwareUpgradeController.cc index f417e86ab..2e42ac11b 100644 --- a/src/VehicleSetup/FirmwareUpgradeController.cc +++ b/src/VehicleSetup/FirmwareUpgradeController.cc @@ -114,9 +114,9 @@ void FirmwareUpgradeController::flash(const FirmwareIdentifier& firmwareId) flash(firmwareId.autopilotStackType, firmwareId.firmwareType, firmwareId.firmwareVehicleType); } -void FirmwareUpgradeController::flashSingleFirmwareMode(void) +void FirmwareUpgradeController::flashSingleFirmwareMode(FirmwareType_t firmwareType) { - flash(SingleFirmwareMode, StableFirmware, DefaultVehicleFirmware); + flash(SingleFirmwareMode, firmwareType, DefaultVehicleFirmware); } void FirmwareUpgradeController::cancel(void) diff --git a/src/VehicleSetup/FirmwareUpgradeController.h b/src/VehicleSetup/FirmwareUpgradeController.h index 80b1d5632..4c48cf2ac 100644 --- a/src/VehicleSetup/FirmwareUpgradeController.h +++ b/src/VehicleSetup/FirmwareUpgradeController.h @@ -123,7 +123,7 @@ public: FirmwareVehicleType_t vehicleType = DefaultVehicleFirmware ); /// Called to flash when upgrade is running in singleFirmwareMode - Q_INVOKABLE void flashSingleFirmwareMode(void); + Q_INVOKABLE void flashSingleFirmwareMode(FirmwareType_t firmwareType); Q_INVOKABLE FirmwareVehicleType_t vehicleTypeFromVersionIndex(int index); -- 2.22.0