From 7f593de24c7a53619193d6c74322dc905c03463f Mon Sep 17 00:00:00 2001 From: huangjian Date: Thu, 23 Jul 2020 15:27:43 +0800 Subject: [PATCH] Add X7 support --- src/VehicleSetup/Bootloader.h | 3 ++- src/VehicleSetup/FirmwareUpgradeController.cc | 11 ++++++++++- src/VehicleSetup/FirmwareUpgradeController.h | 3 ++- src/comm/USBBoardInfo.json | 5 +++-- 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/VehicleSetup/Bootloader.h b/src/VehicleSetup/Bootloader.h index b277c65..063b078 100644 --- a/src/VehicleSetup/Bootloader.h +++ b/src/VehicleSetup/Bootloader.h @@ -1,4 +1,4 @@ -/**************************************************************************** +/**************************************************************************** * * (c) 2009-2020 QGROUNDCONTROL PROJECT * @@ -55,6 +55,7 @@ public: static const int boardIDmRoCtrlZeroF7 = 141; ///< mRo Control Zero F7 board, as from USB PID static const int boardIDModalFCV1 = 41775; ///< ModalAI FC V1 board, as from USB PID static const int boardIDUVifyCore = 20; ///< UVify Core board, as from USB PID + static const int boardIDCUAVX7 = 1010; ///< CUAV X7(Pro) board, as from USB PID /// Simulated board id for V3 which is a V2 board which supports larger flash space /// IMPORTANT: Make sure this id does not conflict with any newly added real board ids diff --git a/src/VehicleSetup/FirmwareUpgradeController.cc b/src/VehicleSetup/FirmwareUpgradeController.cc index 843a111..4f3bfaf 100644 --- a/src/VehicleSetup/FirmwareUpgradeController.cc +++ b/src/VehicleSetup/FirmwareUpgradeController.cc @@ -1,4 +1,4 @@ -/**************************************************************************** +/**************************************************************************** * * (c) 2009-2020 QGROUNDCONTROL PROJECT * @@ -390,6 +390,12 @@ void FirmwareUpgradeController::_initFirmwareHash() _rgPX4FMUV2Firmware.insert (FirmwareIdentifier(AutoPilotStackPX4, firmwareType, DefaultVehicleFirmware), px4Url.arg(dir).arg("v2")); } + QString px4CUAVX7Url ("http://px4-travis.s3.amazonaws.com/Firmware/%1/cuav_%2_default.px4"); + for (const FirmwareBuildType_t& firmwareType: px4MapFirmwareTypeToDir.keys()) { + QString dir = px4MapFirmwareTypeToDir[firmwareType]; + _rgPX4CUAVX7Fireware.insert (FirmwareIdentifier(AutoPilotStackPX4, firmwareType, DefaultVehicleFirmware), px4CUAVX7Url.arg(dir).arg("x7pro")); + } + int size = sizeof(rgAeroCoreFirmwareArray)/sizeof(rgAeroCoreFirmwareArray[0]); for (int i = 0; i < size; i++) { const FirmwareToUrlElement_t& element = rgAeroCoreFirmwareArray[i]; @@ -560,6 +566,9 @@ QHash* FirmwareUpgradeCo case Bootloader::boardID3DRRadio: _rgFirmwareDynamic = _rg3DRRadioFirmware; break; + case Bootloader::boardIDCUAVX7: + _rgFirmwareDynamic = _rgPX4CUAVX7Fireware; + break; default: // Unknown board id break; diff --git a/src/VehicleSetup/FirmwareUpgradeController.h b/src/VehicleSetup/FirmwareUpgradeController.h index b95e348..aacd275 100644 --- a/src/VehicleSetup/FirmwareUpgradeController.h +++ b/src/VehicleSetup/FirmwareUpgradeController.h @@ -1,4 +1,4 @@ -/**************************************************************************** +/**************************************************************************** * * (c) 2009-2020 QGROUNDCONTROL PROJECT * @@ -224,6 +224,7 @@ private: QHash _rgUVifyCoreFirmware; QHash _rgPX4FLowFirmware; QHash _rg3DRRadioFirmware; + QHash _rgPX4CUAVX7Fireware; // Hash map for ArduPilot ChibiOS lookup by board name QHash _rgAPMChibiosReplaceNamedBoardFirmware; diff --git a/src/comm/USBBoardInfo.json b/src/comm/USBBoardInfo.json index da7aa9a..05833e5 100644 --- a/src/comm/USBBoardInfo.json +++ b/src/comm/USBBoardInfo.json @@ -1,4 +1,4 @@ -{ +{ "comment": "AutoConnect usb board info", "version": 1, "fileType": "USBBoardInfo", @@ -21,7 +21,8 @@ { "vendorID": 1155, "productID": 41775, "boardClass": "Pixhawk", "name": "PX4 FMU ModalAI FCv1" }, { "vendorID":12642, "productID": 75, "boardClass": "Pixhawk", "name": "PX4 DurandalV1" }, { "vendorID": 4104, "productID": 1, "boardClass": "Pixhawk", "name": "PX4 FMU UVify Core" }, - + { "vendorID": 12643, "productID": 76, "boardClass": "Pixhawk", "name": "PX4 CUAV X7(PRO)" }, + { "vendorID": 1155, "productID": 22336, "boardClass": "Pixhawk", "name": "ArduPilot ChibiOS" }, { "vendorID": 4617, "productID": 22336, "boardClass": "Pixhawk", "name": "ArduPilot ChibiOS" }, { "vendorID": 4617, "productID": 22337, "boardClass": "Pixhawk", "name": "ArduPilot ChibiOS" },