Browse Source

Use specifiesAltitude instead of specifiesCoordinate in correct places

QGC4.4
DonLakeFlyer 5 years ago
parent
commit
84d98a4940
  1. 1
      ChangeLog.md
  2. 14
      src/MissionManager/SimpleMissionItem.cc

1
ChangeLog.md

@ -16,6 +16,7 @@ Note: This file only contains high level features or important fixes. @@ -16,6 +16,7 @@ Note: This file only contains high level features or important fixes.
## 4.0.8 - Not yet released
* Plan: Fix bugs associated with mission commands which specify and altitude but no lat/lon
* Fix bug which could prevent view switching from working after altitude mode warning dialog would pop up
## 4.0.8 - Stable

14
src/MissionManager/SimpleMissionItem.cc

@ -117,7 +117,7 @@ SimpleMissionItem::SimpleMissionItem(PlanMasterController* masterController, boo @@ -117,7 +117,7 @@ SimpleMissionItem::SimpleMissionItem(PlanMasterController* masterController, boo
}
_isCurrentItem = missionItem.isCurrentItem();
_altitudeFact.setRawValue(specifiesCoordinate() || specifiesAltitudeOnly() ? _missionItem._param7Fact.rawValue() : qQNaN());
_altitudeFact.setRawValue(specifiesAltitude() ? _missionItem._param7Fact.rawValue() : qQNaN());
_amslAltAboveTerrainFact.setRawValue(qQNaN());
// In flyView we skip some of the intialization to save memory
@ -267,7 +267,7 @@ void SimpleMissionItem::save(QJsonArray& missionItems) @@ -267,7 +267,7 @@ void SimpleMissionItem::save(QJsonArray& missionItems)
item->save(saveObject);
if (i == 0) {
// This is the main simple item, save the alt/terrain data
if (specifiesCoordinate()) {
if (specifiesAltitude()) {
saveObject[_jsonAltitudeModeKey] = _altitudeMode;
saveObject[_jsonAltitudeKey] = _altitudeFact.rawValue().toDouble();
saveObject[_jsonAMSLAltAboveTerrainKey] = _amslAltAboveTerrainFact.rawValue().toDouble();
@ -282,7 +282,7 @@ bool SimpleMissionItem::load(QTextStream &loadStream) @@ -282,7 +282,7 @@ bool SimpleMissionItem::load(QTextStream &loadStream)
{
bool success;
if ((success = _missionItem.load(loadStream))) {
if (specifiesCoordinate()) {
if (specifiesAltitude()) {
_altitudeMode = _missionItem.relativeAltitude() ? QGroundControlQmlGlobal::AltitudeModeRelative : QGroundControlQmlGlobal::AltitudeModeAbsolute;
_altitudeFact.setRawValue(_missionItem._param7Fact.rawValue());
_amslAltAboveTerrainFact.setRawValue(qQNaN());
@ -302,7 +302,7 @@ bool SimpleMissionItem::load(const QJsonObject& json, int sequenceNumber, QStrin @@ -302,7 +302,7 @@ bool SimpleMissionItem::load(const QJsonObject& json, int sequenceNumber, QStrin
return false;
}
if (specifiesCoordinate()) {
if (specifiesAltitude()) {
if (json.contains(_jsonAltitudeModeKey) || json.contains(_jsonAltitudeKey) || json.contains(_jsonAMSLAltAboveTerrainKey)) {
QList<JsonHelper::KeyValidateInfo> keyInfoList = {
{ _jsonAltitudeModeKey, QJsonValue::Double, true },
@ -573,7 +573,7 @@ bool SimpleMissionItem::friendlyEditAllowed(void) const @@ -573,7 +573,7 @@ bool SimpleMissionItem::friendlyEditAllowed(void) const
return false;
}
if (specifiesCoordinate() || specifiesAltitudeOnly()) {
if (specifiesAltitude()) {
MAV_FRAME frame = _missionItem.frame();
switch (frame) {
case MAV_FRAME_GLOBAL:
@ -726,7 +726,7 @@ void SimpleMissionItem::_setDefaultsForCommand(void) @@ -726,7 +726,7 @@ void SimpleMissionItem::_setDefaultsForCommand(void)
_altitudeMode = QGroundControlQmlGlobal::AltitudeModeRelative;
emit altitudeModeChanged();
_amslAltAboveTerrainFact.setRawValue(qQNaN());
if (specifiesCoordinate() || isStandaloneCoordinate() || specifiesAltitudeOnly()) {
if (specifiesAltitude() || isStandaloneCoordinate()) {
double defaultAlt = qgcApp()->toolbox()->settingsManager()->appSettings()->defaultMissionItemAltitude()->rawValue().toDouble();
_altitudeFact.setRawValue(defaultAlt);
_missionItem._param7Fact.setRawValue(defaultAlt);
@ -758,7 +758,7 @@ void SimpleMissionItem::_setDefaultsForCommand(void) @@ -758,7 +758,7 @@ void SimpleMissionItem::_setDefaultsForCommand(void)
}
_missionItem.setAutoContinue(true);
_missionItem.setFrame((specifiesCoordinate() || specifiesAltitudeOnly()) ? MAV_FRAME_GLOBAL_RELATIVE_ALT : MAV_FRAME_MISSION);
_missionItem.setFrame(specifiesAltitude() ? MAV_FRAME_GLOBAL_RELATIVE_ALT : MAV_FRAME_MISSION);
setRawEdit(false);
}

Loading…
Cancel
Save