diff --git a/src/VehicleSetup/FirmwareUpgradeController.cc b/src/VehicleSetup/FirmwareUpgradeController.cc index 3663b38..c5342e6 100644 --- a/src/VehicleSetup/FirmwareUpgradeController.cc +++ b/src/VehicleSetup/FirmwareUpgradeController.cc @@ -575,12 +575,32 @@ void FirmwareUpgradeController::_downloadError(QNetworkReply::NetworkError code) if (code == QNetworkReply::OperationCanceledError) { errorMsg = "Download cancelled"; + + } else if (code == QNetworkReply::ContentNotFoundError) { + errorMsg = QString("Error: File Not Found. Please check %1 firmware version is available.") + .arg(firmwareTypeAsString(_selectedFirmwareType)); + } else { errorMsg = QString("Error during download. Error: %1").arg(code); } _errorCancel(errorMsg); } +/// @brief returns firmware type as a string +QString FirmwareUpgradeController::firmwareTypeAsString(FirmwareType_t type) const +{ + switch (type) { + case StableFirmware: + return "stable"; + case DeveloperFirmware: + return "developer"; + case BetaFirmware: + return "beta"; + default: + return "custom"; + } +} + /// @brief Signals completion of one of the specified bootloader commands. Moves the state machine to the /// appropriate next step. void FirmwareUpgradeController::_flashComplete(void) diff --git a/src/VehicleSetup/FirmwareUpgradeController.h b/src/VehicleSetup/FirmwareUpgradeController.h index adbf543..8de263a 100644 --- a/src/VehicleSetup/FirmwareUpgradeController.h +++ b/src/VehicleSetup/FirmwareUpgradeController.h @@ -147,9 +147,10 @@ public: FirmwareType_t selectedFirmwareType(void) { return _selectedFirmwareType; } void setSelectedFirmwareType(FirmwareType_t firmwareType); + QString firmwareTypeAsString(FirmwareType_t type) const; QStringList apmAvailableVersions(void); - + signals: void boardFound(void); void noBoardFound(void);