From bc80917f4200a2c7c3018bb2df360fe7d0e11bd6 Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Thu, 15 Sep 2016 16:05:40 -0700 Subject: [PATCH] Fixes for offline editing Vehicle --- src/FactSystem/ParameterManager.cc | 8 +++++++- src/FirmwarePlugin/PX4/PX4FirmwarePlugin.cc | 4 +++- src/MissionManager/MissionCommandTreeTest.cc | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/FactSystem/ParameterManager.cc b/src/FactSystem/ParameterManager.cc index 3b4854a74..64e61cd9f 100644 --- a/src/FactSystem/ParameterManager.cc +++ b/src/FactSystem/ParameterManager.cc @@ -59,6 +59,8 @@ ParameterManager::ParameterManager(Vehicle* vehicle) , _initialRequestRetryCount(0) , _totalParamCount(0) { + _versionParam = vehicle->firmwarePlugin()->getVersionParam(); + if (_vehicle->isOfflineEditingVehicle()) { _loadOfflineEditingParams(); return; @@ -79,7 +81,6 @@ ParameterManager::ParameterManager(Vehicle* vehicle) connect(_vehicle->uas(), &UASInterface::parameterUpdate, this, &ParameterManager::_parameterUpdate); - _versionParam = vehicle->firmwarePlugin()->getVersionParam(); _defaultComponentIdParam = vehicle->firmwarePlugin()->getDefaultComponentIdParam(); qCDebug(ParameterManagerLog) << "Default component param" << _defaultComponentIdParam; @@ -1282,6 +1283,11 @@ void ParameterManager::_loadOfflineEditingParams(void) break; } + // Get parameter set version + if (!_versionParam.isEmpty() && _versionParam == paramName) { + _parameterSetMajorVersion = paramValue.toInt(); + } + Fact* fact = new Fact(_defaultComponentId, paramName, _mavTypeToFactType(paramType), this); _mapParameterName2Variant[_defaultComponentId][paramName] = QVariant::fromValue(fact); } diff --git a/src/FirmwarePlugin/PX4/PX4FirmwarePlugin.cc b/src/FirmwarePlugin/PX4/PX4FirmwarePlugin.cc index 432b844da..9cef3d6e3 100644 --- a/src/FirmwarePlugin/PX4/PX4FirmwarePlugin.cc +++ b/src/FirmwarePlugin/PX4/PX4FirmwarePlugin.cc @@ -258,7 +258,9 @@ QString PX4FirmwarePlugin::missionCommandOverrides(MAV_TYPE vehicleType) const QObject* PX4FirmwarePlugin::loadParameterMetaData(const QString& metaDataFile) { PX4ParameterMetaData* metaData = new PX4ParameterMetaData; - metaData->loadParameterFactMetaDataFile(metaDataFile); + if (!metaDataFile.isEmpty()) { + metaData->loadParameterFactMetaDataFile(metaDataFile); + } return metaData; } diff --git a/src/MissionManager/MissionCommandTreeTest.cc b/src/MissionManager/MissionCommandTreeTest.cc index 4f45b05ed..a94900017 100644 --- a/src/MissionManager/MissionCommandTreeTest.cc +++ b/src/MissionManager/MissionCommandTreeTest.cc @@ -195,8 +195,8 @@ void MissionCommandTreeTest::testAllTrees(void) // This will cause all of the variants of collapsed trees to be built foreach(MAV_AUTOPILOT firmwareType, firmwareList) { foreach (MAV_TYPE vehicleType, vehicleList) { - Vehicle* vehicle = new Vehicle(firmwareType, vehicleType, qgcApp()->toolbox()->firmwarePluginManager()); qDebug() << firmwareType << vehicleType; + Vehicle* vehicle = new Vehicle(firmwareType, vehicleType, qgcApp()->toolbox()->firmwarePluginManager()); QVERIFY(qgcApp()->toolbox()->missionCommandTree()->getUIInfo(vehicle, MAV_CMD_NAV_WAYPOINT) != NULL); delete vehicle; } -- 2.22.0