From 00e02c01dd94773c89c27752c019e6eaf51313bd Mon Sep 17 00:00:00 2001 From: Pritam Ghanghas Date: Sat, 26 Sep 2015 06:23:16 +0530 Subject: [PATCH] fix the broken 3DR radio flashing. My carelessness when I introduced APM firmware update Also enable identification of clone 3dr radios --- src/SerialPortIds.h | 2 ++ src/VehicleSetup/FirmwareUpgradeController.cc | 4 ++-- src/VehicleSetup/FirmwareUpgradeController.h | 2 +- src/VehicleSetup/PX4FirmwareUpgradeThread.cc | 4 +++- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/SerialPortIds.h b/src/SerialPortIds.h index f08ed5d9e4..22dc3a1200 100644 --- a/src/SerialPortIds.h +++ b/src/SerialPortIds.h @@ -39,7 +39,9 @@ public: static const int px4FlowProductId = 21; ///< Product ID for PX4 Flow board static const int threeDRRadioVendorId = 1027; ///< Vendor ID for 3DR Radio + static const int cloneThreeDRRadioVendorId = 4292; ///< Vendor ID found on clone 3DR Radio static const int threeDRRadioProductId = 24597; ///< Product ID for 3DR Radio + static const int cloneThreeDRRadioProductId = 60000; ///< Product ID found on clone 3DR Radio }; #endif diff --git a/src/VehicleSetup/FirmwareUpgradeController.cc b/src/VehicleSetup/FirmwareUpgradeController.cc index f9df241636..3adb9db292 100644 --- a/src/VehicleSetup/FirmwareUpgradeController.cc +++ b/src/VehicleSetup/FirmwareUpgradeController.cc @@ -131,7 +131,7 @@ void FirmwareUpgradeController::_foundBoard(bool firstAttempt, const QSerialPort // Radio always flashes latest firmware, so we can start right away without // any further user input. _startFlashWhenBootloaderFound = true; - _startFlashWhenBootloaderFoundFirmwareIdentity = FirmwareIdentifier(PX4Radio, + _startFlashWhenBootloaderFoundFirmwareIdentity = FirmwareIdentifier(ThreeDRRadio, StableFirmware, DefaultVehicleFirmware); } @@ -265,7 +265,7 @@ void FirmwareUpgradeController::_initFirmwareHash() /////////////////////////////// 3dr radio firmwares /////////////////////////////////////// FirmwareToUrlElement_t rg3DRRadioFirmwareArray[] = { - { PX4Flow, StableFirmware, DefaultVehicleFirmware, "http://firmware.diydrones.com/SiK/latest/radio~hm_trp.ihx"} + { ThreeDRRadio, StableFirmware, DefaultVehicleFirmware, "http://firmware.diydrones.com/SiK/beta/radio~hm_trp.ihx"} }; // populate hashes now diff --git a/src/VehicleSetup/FirmwareUpgradeController.h b/src/VehicleSetup/FirmwareUpgradeController.h index f6cf376eb9..01ed3908d6 100644 --- a/src/VehicleSetup/FirmwareUpgradeController.h +++ b/src/VehicleSetup/FirmwareUpgradeController.h @@ -55,7 +55,7 @@ public: AutoPilotStackPX4, AutoPilotStackAPM, PX4Flow, - PX4Radio + ThreeDRRadio } AutoPilotStackType_t; typedef enum { diff --git a/src/VehicleSetup/PX4FirmwareUpgradeThread.cc b/src/VehicleSetup/PX4FirmwareUpgradeThread.cc index 177bbf0f23..a3ad023f85 100644 --- a/src/VehicleSetup/PX4FirmwareUpgradeThread.cc +++ b/src/VehicleSetup/PX4FirmwareUpgradeThread.cc @@ -165,7 +165,9 @@ bool PX4FirmwareUpgradeThreadWorker::_findBoardFromPorts(QSerialPortInfo& portIn } break; case SerialPortIds::threeDRRadioVendorId: - if (info.productIdentifier() == SerialPortIds::threeDRRadioProductId) { + case SerialPortIds::cloneThreeDRRadioVendorId: + if (info.productIdentifier() == SerialPortIds::threeDRRadioProductId || + info.productIdentifier() == SerialPortIds::cloneThreeDRRadioProductId) { qCDebug(FirmwareUpgradeLog) << "Found 3DR Radio"; type = FoundBoard3drRadio; found = true; -- GitLab