From 7a50132973f24d9858fbbc4a60a9f872b9de7ae0 Mon Sep 17 00:00:00 2001
From: Don Gagne <dongagne@outlook.com>
Date: Thu, 27 Feb 2020 13:21:34 -0800
Subject: [PATCH] Even better manifest logging

---
 src/VehicleSetup/FirmwareUpgradeController.cc | 27 +++++++++++++++++++--------
 1 file changed, 19 insertions(+), 8 deletions(-)

diff --git a/src/VehicleSetup/FirmwareUpgradeController.cc b/src/VehicleSetup/FirmwareUpgradeController.cc
index c6a801b..ae5ec5d 100644
--- a/src/VehicleSetup/FirmwareUpgradeController.cc
+++ b/src/VehicleSetup/FirmwareUpgradeController.cc
@@ -724,28 +724,39 @@ void FirmwareUpgradeController::setSelectedFirmwareBuildType(FirmwareBuildType_t
 void FirmwareUpgradeController::_buildAPMFirmwareNames(void)
 {
 #if !defined(NO_ARDUPILOT_DIALECT)
-    qCDebug(FirmwareUpgradeLog) << "_buildAPMFirmwareNames" << _foundBoardInfo.description() << _foundBoardInfo.vendorIdentifier() << _foundBoardInfo.productIdentifier();
 
-    bool                    chibios =       _apmChibiOSSetting->rawValue().toInt() == 0;
-    FirmwareVehicleType_t   vehicleType =   static_cast<FirmwareVehicleType_t>(_apmVehicleTypeSetting->rawValue().toInt());
+    bool                    chibios =           _apmChibiOSSetting->rawValue().toInt() == 0;
+    FirmwareVehicleType_t   vehicleType =       static_cast<FirmwareVehicleType_t>(_apmVehicleTypeSetting->rawValue().toInt());
+    QString                 boardDescription =  _foundBoardInfo.description();
+    quint16                 boardVID =          _foundBoardInfo.vendorIdentifier();
+    quint16                 boardPID =          _foundBoardInfo.productIdentifier();
+
+#if 0
+    // This is left in for debugging manifest problems
+    boardDescription = "KakuteF7";
+    boardVID = 1155;
+    boardPID = 22336;
+#endif
+
+    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();
     _apmFirmwareUrls.clear();
 
     QString apmDescriptionSuffix("-BL");
-    bool    bootloaderMatch = _foundBoardInfo.description().endsWith(apmDescriptionSuffix);
+    bool    bootloaderMatch = boardDescription.endsWith(apmDescriptionSuffix);
 
     for (const ManifestFirmwareInfo_t& firmwareInfo: _rgManifestFirmwareInfo) {
         bool match = false;
         if (firmwareInfo.firmwareBuildType == _selectedFirmwareBuildType && firmwareInfo.chibios == chibios && firmwareInfo.vehicleType == vehicleType) {
             if (bootloaderMatch) {
-                if (firmwareInfo.rgBootloaderPortString.contains(_foundBoardInfo.description())) {
-                    qCDebug(FirmwareUpgradeLog) << "Bootloader match:" << firmwareInfo.friendlyName << _foundBoardInfo.description() << firmwareInfo.rgBootloaderPortString << firmwareInfo.url << firmwareInfo.vehicleType;
+                if (firmwareInfo.rgBootloaderPortString.contains(boardDescription)) {
+                    qCDebug(FirmwareUpgradeLog) << "Bootloader match:" << firmwareInfo.friendlyName << boardDescription << firmwareInfo.rgBootloaderPortString << firmwareInfo.url << firmwareInfo.vehicleType;
                     match = true;
                 }
             } else {
-                if (firmwareInfo.rgVID.contains(_foundBoardInfo.vendorIdentifier()) && firmwareInfo.rgPID.contains(_foundBoardInfo.productIdentifier())) {
-                    qCDebug(FirmwareUpgradeLog) << "Fallback match:" << firmwareInfo.friendlyName << _foundBoardInfo.vendorIdentifier() << _foundBoardInfo.productIdentifier() << _bootloaderBoardID << firmwareInfo.url << firmwareInfo.vehicleType;
+                if (firmwareInfo.rgVID.contains(boardVID) && firmwareInfo.rgPID.contains(boardPID)) {
+                    qCDebug(FirmwareUpgradeLog) << "VID/PID match:" << firmwareInfo.friendlyName << boardVID << boardPID << _bootloaderBoardID << firmwareInfo.url << firmwareInfo.vehicleType;
                     match = true;
                 }
             }