diff --git a/ChangeLog.md b/ChangeLog.md index cdb34dbfee30255b4d3b806798b3b45890cc9a27..0fd41a52a7c6a62cd9f7c4107e1b2c6793473379 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -9,6 +9,7 @@ Note: This file only contains high level features or important fixes. * Major rewrite and bug fix pass through Structure Scan. Previous version had such bad problems that it can no longer be supported. Plans with Structure Scan will need to be recreated. New QGC will not load old Structure Scan plans. ### 3.5.4 - Not yet released +* Add support for FMUK66 flashing/connection * Guard against null geometry coming from gstreamer which can cause crashes * Add .apj file selection support to custom firmware flash diff --git a/src/VehicleSetup/Bootloader.h b/src/VehicleSetup/Bootloader.h index d2d3c19ca6b96104fd9a2a5a61cd084c6040ec9e..34f962b90362bac6f681366f929c134ceb3a6892 100644 --- a/src/VehicleSetup/Bootloader.h +++ b/src/VehicleSetup/Bootloader.h @@ -75,7 +75,7 @@ public: static const int boardIDASCV1 = 65; ///< ASC V1 board, as from USB PID static const int boardIDCrazyflie2 = 12; ///< Crazyflie 2.0 board, as from USB PID static const int boardIDOmnibusF4SD = 42; ///< Omnibus F4 SD, as from USB PID - static const int boardIDNXPHliteV3 = 28; ///< NXPHliteV3 board, as from USB PID + static const int boardIDFMUK66V3 = 28; ///< FMUK66V3 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 5c27016b4fb9c58434e2dcebf428e5c9a5bfeeb8..5f2fe29734726d75c656e96972a4afd294fa6d89 100644 --- a/src/VehicleSetup/FirmwareUpgradeController.cc +++ b/src/VehicleSetup/FirmwareUpgradeController.cc @@ -267,6 +267,13 @@ void FirmwareUpgradeController::_initFirmwareHash() { AutoPilotStackPX4, BetaFirmware, DefaultVehicleFirmware, "http://px4-travis.s3.amazonaws.com/Firmware/beta/omnibus_f4sd_default.px4"}, { AutoPilotStackPX4, DeveloperFirmware, DefaultVehicleFirmware, "http://px4-travis.s3.amazonaws.com/Firmware/master/omnibus_f4sd_default.px4"}, }; + + //////////////////////////////////// FMUK66V3 firmwares ////////////////////////////////////////////////// + FirmwareToUrlElement_t rgFMUK66V3FirmwareArray[] = { + { AutoPilotStackPX4, StableFirmware, DefaultVehicleFirmware, "http://px4-travis.s3.amazonaws.com/Firmware/stable/nxp_fmuk66-v3_default.px4"}, + { AutoPilotStackPX4, BetaFirmware, DefaultVehicleFirmware, "http://px4-travis.s3.amazonaws.com/Firmware/beta/nxp_fmuk66-v3_default.px4"}, + { AutoPilotStackPX4, DeveloperFirmware, DefaultVehicleFirmware, "http://px4-travis.s3.amazonaws.com/Firmware/master/nxp_fmuk66-v3_default.px4"}, + }; /////////////////////////////// px4flow firmwares /////////////////////////////////////// FirmwareToUrlElement_t rgPX4FLowFirmwareArray[] = { @@ -458,6 +465,12 @@ void FirmwareUpgradeController::_initFirmwareHash() const FirmwareToUrlElement_t& element = rgOmnibusF4SDFirmwareArray[i]; _rgOmnibusF4SDFirmware.insert(FirmwareIdentifier(element.stackType, element.firmwareType, element.vehicleType), element.url); } + + size = sizeof(rgFMUK66V3FirmwareArray)/sizeof(rgFMUK66V3FirmwareArray[0]); + for (int i = 0; i < size; i++) { + const FirmwareToUrlElement_t& element = rgFMUK66V3FirmwareArray[i]; + _rgFMUK66V3Firmware.insert(FirmwareIdentifier(element.stackType, element.firmwareType, element.vehicleType), element.url); + } size = sizeof(rgPX4FLowFirmwareArray)/sizeof(rgPX4FLowFirmwareArray[0]); for (int i = 0; i < size; i++) { @@ -529,8 +542,8 @@ QHash* FirmwareUpgradeCo case Bootloader::boardIDOmnibusF4SD: rgFirmware = &_rgOmnibusF4SDFirmware; break; - case Bootloader::boardIDNXPHliteV3: - rgFirmware = &_rgNXPHliteV3Firmware; + case Bootloader::boardIDFMUK66V3: + rgFirmware = &_rgFMUK66V3Firmware; break; case Bootloader::boardID3DRRadio: rgFirmware = &_rg3DRRadioFirmware; diff --git a/src/VehicleSetup/FirmwareUpgradeController.h b/src/VehicleSetup/FirmwareUpgradeController.h index 3aaed12733850f1ac4571ef0410a1d6b947a69c6..112117f7575e93012d18d2d72d4fca8f4287b1ac 100644 --- a/src/VehicleSetup/FirmwareUpgradeController.h +++ b/src/VehicleSetup/FirmwareUpgradeController.h @@ -212,7 +212,7 @@ private: QHash _rgASCV1Firmware; QHash _rgCrazyflie2Firmware; QHash _rgOmnibusF4SDFirmware; - QHash _rgNXPHliteV3Firmware; + QHash _rgFMUK66V3Firmware; QHash _rgPX4FLowFirmware; QHash _rg3DRRadioFirmware; diff --git a/src/comm/USBBoardInfo.json b/src/comm/USBBoardInfo.json index 358480fa476eb5e10e025c8588636a58a130bbf0..e713433a0bbb6eccb6d0afbed21551e976b6e41e 100644 --- a/src/comm/USBBoardInfo.json +++ b/src/comm/USBBoardInfo.json @@ -19,7 +19,8 @@ { "vendorID": 9900, "productID": 65, "boardClass": "Pixhawk", "name": "ASC V1" }, { "vendorID": 9900, "productID": 22, "boardClass": "Pixhawk", "name": "Crazyflie 2" }, { "vendorID": 9900, "productID": 1, "boardClass": "Pixhawk", "name": "Omnibus F4 SD" }, - { "vendorID": 8137, "productID": 28, "boardClass": "Pixhawk", "name": "PX4 NXPHlite v3.x" }, + { "vendorID": 8137, "productID": 28, "boardClass": "Pixhawk", "name": "PX4 FMUK66 v3.x" }, + { "vendorID": 1155, "productID": 22336, "boardClass": "Pixhawk", "name": "ArduPilot ChibiOS" }, { "vendorID": 4617, "productID": 22336, "boardClass": "Pixhawk", "name": "ArduPilot ChibiOS" },