Commit 86dc4154 authored by Don Gagne's avatar Don Gagne

Merge pull request #2843 from DonLakeFlyer/LandStart

Land start is now standalone coordinate
parents 1f63fcfb 6c178d02
...@@ -542,6 +542,7 @@ ...@@ -542,6 +542,7 @@
"friendlyName": "Land start", "friendlyName": "Land start",
"description": "Marker to indicate start of landing sequence.", "description": "Marker to indicate start of landing sequence.",
"specifiesCoordinate": true, "specifiesCoordinate": true,
"standaloneCoordinate": true,
"friendlyEdit": true, "friendlyEdit": true,
"category": "Basic" "category": "Basic"
}, },
......
...@@ -82,7 +82,7 @@ void MissionCommandList::_loadMavCmdInfoJson(const QString& jsonFilename) ...@@ -82,7 +82,7 @@ void MissionCommandList::_loadMavCmdInfoJson(const QString& jsonFilename)
QJsonParseError jsonParseError; QJsonParseError jsonParseError;
QJsonDocument doc = QJsonDocument::fromJson(bytes, &jsonParseError); QJsonDocument doc = QJsonDocument::fromJson(bytes, &jsonParseError);
if (jsonParseError.error != QJsonParseError::NoError) { if (jsonParseError.error != QJsonParseError::NoError) {
qWarning() << "Unable to open json document" << jsonParseError.errorString(); qWarning() << jsonFilename << "Unable to open json document" << jsonParseError.errorString();
return; return;
} }
...@@ -90,20 +90,20 @@ void MissionCommandList::_loadMavCmdInfoJson(const QString& jsonFilename) ...@@ -90,20 +90,20 @@ void MissionCommandList::_loadMavCmdInfoJson(const QString& jsonFilename)
int version = json.value(_versionJsonKey).toInt(); int version = json.value(_versionJsonKey).toInt();
if (version != 1) { if (version != 1) {
qWarning() << "Invalid version" << version; qWarning() << jsonFilename << "Invalid version" << version;
return; return;
} }
QJsonValue jsonValue = json.value(_mavCmdInfoJsonKey); QJsonValue jsonValue = json.value(_mavCmdInfoJsonKey);
if (!jsonValue.isArray()) { if (!jsonValue.isArray()) {
qWarning() << "mavCmdInfo not array"; qWarning() << jsonFilename << "mavCmdInfo not array";
return; return;
} }
QJsonArray jsonArray = jsonValue.toArray(); QJsonArray jsonArray = jsonValue.toArray();
foreach(QJsonValue info, jsonArray) { foreach(QJsonValue info, jsonArray) {
if (!info.isObject()) { if (!info.isObject()) {
qWarning() << "mavCmdArray should contain objects"; qWarning() << jsonFilename << "mavCmdArray should contain objects";
return; return;
} }
QJsonObject jsonObject = info.toObject(); QJsonObject jsonObject = info.toObject();
...@@ -113,7 +113,7 @@ void MissionCommandList::_loadMavCmdInfoJson(const QString& jsonFilename) ...@@ -113,7 +113,7 @@ void MissionCommandList::_loadMavCmdInfoJson(const QString& jsonFilename)
QStringList requiredKeys; QStringList requiredKeys;
requiredKeys << _idJsonKey << _rawNameJsonKey; requiredKeys << _idJsonKey << _rawNameJsonKey;
if (!JsonHelper::validateRequiredKeys(jsonObject, requiredKeys, errorString)) { if (!JsonHelper::validateRequiredKeys(jsonObject, requiredKeys, errorString)) {
qWarning() << errorString; qWarning() << jsonFilename << errorString;
return; return;
} }
...@@ -126,7 +126,7 @@ void MissionCommandList::_loadMavCmdInfoJson(const QString& jsonFilename) ...@@ -126,7 +126,7 @@ void MissionCommandList::_loadMavCmdInfoJson(const QString& jsonFilename)
types << QJsonValue::Double << QJsonValue::String << QJsonValue::String<< QJsonValue::String << QJsonValue::Bool << QJsonValue::Bool << QJsonValue::Bool types << QJsonValue::Double << QJsonValue::String << QJsonValue::String<< QJsonValue::String << QJsonValue::Bool << QJsonValue::Bool << QJsonValue::Bool
<< QJsonValue::Object << QJsonValue::Object << QJsonValue::Object << QJsonValue::Object << QJsonValue::String; << QJsonValue::Object << QJsonValue::Object << QJsonValue::Object << QJsonValue::Object << QJsonValue::String;
if (!JsonHelper::validateKeyTypes(jsonObject, keys, types, errorString)) { if (!JsonHelper::validateKeyTypes(jsonObject, keys, types, errorString)) {
qWarning() << errorString; qWarning() << jsonFilename << errorString;
return; return;
} }
...@@ -152,7 +152,7 @@ void MissionCommandList::_loadMavCmdInfoJson(const QString& jsonFilename) ...@@ -152,7 +152,7 @@ void MissionCommandList::_loadMavCmdInfoJson(const QString& jsonFilename)
<< mavCmdInfo->_friendlyEdit; << mavCmdInfo->_friendlyEdit;
if (_mavCmdInfoMap.contains((MAV_CMD)mavCmdInfo->command())) { if (_mavCmdInfoMap.contains((MAV_CMD)mavCmdInfo->command())) {
qWarning() << "Duplicate command" << mavCmdInfo->command(); qWarning() << jsonFilename << "Duplicate command" << mavCmdInfo->command();
return; return;
} }
...@@ -172,14 +172,14 @@ void MissionCommandList::_loadMavCmdInfoJson(const QString& jsonFilename) ...@@ -172,14 +172,14 @@ void MissionCommandList::_loadMavCmdInfoJson(const QString& jsonFilename)
keys << _defaultJsonKey << _decimalPlacesJsonKey << _enumStringsJsonKey << _enumValuesJsonKey << _labelJsonKey << _unitsJsonKey; keys << _defaultJsonKey << _decimalPlacesJsonKey << _enumStringsJsonKey << _enumValuesJsonKey << _labelJsonKey << _unitsJsonKey;
types << QJsonValue::Double << QJsonValue::Double << QJsonValue::String << QJsonValue::String << QJsonValue::String << QJsonValue::String; types << QJsonValue::Double << QJsonValue::Double << QJsonValue::String << QJsonValue::String << QJsonValue::String << QJsonValue::String;
if (!JsonHelper::validateKeyTypes(jsonObject, keys, types, errorString)) { if (!JsonHelper::validateKeyTypes(jsonObject, keys, types, errorString)) {
qWarning() << errorString; qWarning() << jsonFilename << errorString;
return; return;
} }
mavCmdInfo->_friendlyEdit = true; // Assume friendly edit if we have params mavCmdInfo->_friendlyEdit = true; // Assume friendly edit if we have params
if (!paramObject.contains(_labelJsonKey)) { if (!paramObject.contains(_labelJsonKey)) {
qWarning() << "param object missing label key" << mavCmdInfo->rawName() << paramKey; qWarning() << jsonFilename << "param object missing label key" << mavCmdInfo->rawName() << paramKey;
return; return;
} }
...@@ -198,14 +198,14 @@ void MissionCommandList::_loadMavCmdInfoJson(const QString& jsonFilename) ...@@ -198,14 +198,14 @@ void MissionCommandList::_loadMavCmdInfoJson(const QString& jsonFilename)
double value = enumValue.toDouble(&convertOk); double value = enumValue.toDouble(&convertOk);
if (!convertOk) { if (!convertOk) {
qWarning() << "Bad enumValue" << enumValue; qWarning() << jsonFilename << "Bad enumValue" << enumValue;
return; return;
} }
paramInfo->_enumValues << QVariant(value); paramInfo->_enumValues << QVariant(value);
} }
if (paramInfo->_enumValues.count() != paramInfo->_enumStrings.count()) { if (paramInfo->_enumValues.count() != paramInfo->_enumStrings.count()) {
qWarning() << "enum strings/values count mismatch" << paramInfo->_enumStrings.count() << paramInfo->_enumValues.count(); qWarning() << jsonFilename << "enum strings/values count mismatch" << paramInfo->_enumStrings.count() << paramInfo->_enumValues.count();
return; return;
} }
...@@ -224,11 +224,11 @@ void MissionCommandList::_loadMavCmdInfoJson(const QString& jsonFilename) ...@@ -224,11 +224,11 @@ void MissionCommandList::_loadMavCmdInfoJson(const QString& jsonFilename)
if (mavCmdInfo->friendlyEdit()) { if (mavCmdInfo->friendlyEdit()) {
if (mavCmdInfo->description().isEmpty()) { if (mavCmdInfo->description().isEmpty()) {
qWarning() << "Missing description" << mavCmdInfo->rawName(); qWarning() << jsonFilename << "Missing description" << mavCmdInfo->rawName();
return; return;
} }
if (mavCmdInfo->rawName() == mavCmdInfo->friendlyName()) { if (mavCmdInfo->rawName() == mavCmdInfo->friendlyName()) {
qWarning() << "Missing friendly name" << mavCmdInfo->rawName() << mavCmdInfo->friendlyName(); qWarning() << jsonFilename << "Missing friendly name" << mavCmdInfo->rawName() << mavCmdInfo->friendlyName();
return; return;
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment