Browse Source

Fixes for offline editing Vehicle

QGC4.4
Don Gagne 9 years ago
parent
commit
bc80917f42
  1. 8
      src/FactSystem/ParameterManager.cc
  2. 4
      src/FirmwarePlugin/PX4/PX4FirmwarePlugin.cc
  3. 2
      src/MissionManager/MissionCommandTreeTest.cc

8
src/FactSystem/ParameterManager.cc

@ -59,6 +59,8 @@ ParameterManager::ParameterManager(Vehicle* vehicle) @@ -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) @@ -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) @@ -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);
}

4
src/FirmwarePlugin/PX4/PX4FirmwarePlugin.cc

@ -258,7 +258,9 @@ QString PX4FirmwarePlugin::missionCommandOverrides(MAV_TYPE vehicleType) const @@ -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;
}

2
src/MissionManager/MissionCommandTreeTest.cc

@ -195,8 +195,8 @@ void MissionCommandTreeTest::testAllTrees(void) @@ -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;
}

Loading…
Cancel
Save