diff --git a/src/VehicleSetup/FirmwareUpgrade.qml b/src/VehicleSetup/FirmwareUpgrade.qml index d4ad0d3b8b6f23669bdd4bf3522ca2037dc879ef..f602bd33bd587b55e291f28ef13850652a8c6e3b 100644 --- a/src/VehicleSetup/FirmwareUpgrade.qml +++ b/src/VehicleSetup/FirmwareUpgrade.qml @@ -123,35 +123,25 @@ SetupPage { statusTextArea.append(qgcUnplugText2) var availableDevices = controller.availableBoardsName() - if(availableDevices.length > 1) { + if (availableDevices.length > 1) { statusTextArea.append(highlightPrefix + qsTr("Multiple devices detected! Remove all detected devices to perform the firmware upgrade.")) statusTextArea.append(qsTr("Detected [%1]: ").arg(availableDevices.length) + availableDevices.join(", ")) } - if(QGroundControl.multiVehicleManager.activeVehicle) { + if (QGroundControl.multiVehicleManager.activeVehicle) { QGroundControl.multiVehicleManager.activeVehicle.autoDisconnect = true } } else { // We end up here when we detect a board plugged in after we've started upgrade statusTextArea.append(highlightPrefix + qsTr("Found device") + highlightSuffix + ": " + controller.boardType) - if (controller.px4FlowBoard) { - mainWindow.showComponentDialog(pixhawkFirmwareSelectDialogComponent, title, mainWindow.showDialogDefaultWidth, StandardButton.Ok | StandardButton.Cancel) - } } } - onBootloaderFound: { - if (controller.pixhawkBoard) { - mainWindow.showComponentDialog(pixhawkFirmwareSelectDialogComponent, title, mainWindow.showDialogDefaultWidth, StandardButton.Ok | StandardButton.Cancel) - } - } - - onError: { - statusTextArea.append(flashFailText) - } + onBootloaderFound: mainWindow.showComponentDialog(firmwareSelectDialogComponent, title, mainWindow.showDialogDefaultWidth, StandardButton.Ok | StandardButton.Cancel) + onError: statusTextArea.append(flashFailText) } Component { - id: pixhawkFirmwareSelectDialogComponent + id: firmwareSelectDialogComponent QGCViewDialog { id: pixhawkFirmwareSelectDialog @@ -463,7 +453,6 @@ SetupPage { visible: showFirmwareTypeSelection textRole: "text" model: _singleFirmwareMode ? singleFirmwareModeTypeList : (px4Flow ? px4FlowTypeList : firmwareBuildTypeList) - currentIndex: controller.selectedFirmwareBuildType onActivated: { controller.selectedFirmwareBuildType = model.get(index).firmwareType @@ -480,7 +469,7 @@ SetupPage { qsTr("It is only intended for DEVELOPERS. ") + qsTr("Run bench tests without props first. ") + qsTr("Do NOT fly this without additional safety precautions. ") + - qsTr("Follow the mailing list actively when using it.") + qsTr("Follow the forums actively when using it.") } else { firmwareWarningMessageVisible = false } @@ -497,7 +486,7 @@ SetupPage { } // Column } // QGCFLickable } // QGCViewDialog - } // Component - pixhawkFirmwareSelectDialogComponent + } // Component - firmwareSelectDialogComponent Component { id: firmwareWarningDialog diff --git a/src/VehicleSetup/FirmwareUpgradeController.cc b/src/VehicleSetup/FirmwareUpgradeController.cc index 843a1115c00bd92ef5c7f49bdf617f5478deec67..de4d6fce283cb5f6c00b84c88160a801b9a7a364 100644 --- a/src/VehicleSetup/FirmwareUpgradeController.cc +++ b/src/VehicleSetup/FirmwareUpgradeController.cc @@ -62,7 +62,7 @@ FirmwareUpgradeController::FirmwareUpgradeController(void) , _downloadManager (nullptr) , _downloadNetworkReply (nullptr) , _statusLog (nullptr) - , _selectedFirmwareBuildType (StableFirmware) + , _selectedFirmwareBuildType (StableFirmware) , _image (nullptr) , _apmBoardDescriptionReplaceText ("") , _apmChibiOSSetting (qgcApp()->toolbox()->settingsManager()->firmwareUpgradeSettings()->apmChibiOS()) @@ -755,7 +755,6 @@ void FirmwareUpgradeController::setSelectedFirmwareBuildType(FirmwareBuildType_t void FirmwareUpgradeController::_buildAPMFirmwareNames(void) { #if !defined(NO_ARDUPILOT_DIALECT) - bool chibios = _apmChibiOSSetting->rawValue().toInt() == 0; FirmwareVehicleType_t vehicleType = static_cast(_apmVehicleTypeSetting->rawValue().toInt()); QString boardDescription = _boardInfo.description(); @@ -763,6 +762,10 @@ void FirmwareUpgradeController::_buildAPMFirmwareNames(void) quint16 boardPID = _boardInfo.productIdentifier(); uint32_t rawBoardId = _bootloaderBoardID == Bootloader::boardIDPX4FMUV3 ? Bootloader::boardIDPX4FMUV2 : _bootloaderBoardID; + if (_boardType == QGCSerialPortInfo::BoardTypePX4Flow) { + return; + } + qCDebug(FirmwareUpgradeLog) << QStringLiteral("_buildAPMFirmwareNames description(%1) vid(%2/0x%3) pid(%4/0x%5)").arg(boardDescription).arg(boardVID).arg(boardVID, 1, 16).arg(boardPID).arg(boardPID, 1, 16); _apmFirmwareNames.clear();