diff --git a/src/MissionManager/MissionController.cc b/src/MissionManager/MissionController.cc index aeffa6d..61ce47b 100644 --- a/src/MissionManager/MissionController.cc +++ b/src/MissionManager/MissionController.cc @@ -1464,6 +1464,7 @@ void MissionController::_recalcMissionFlightStatus() bool foundRTL = false; bool vehicleYawSpecificallySet = false; double totalHorizontalDistance = 0; + bool showGimbalOnlyWhenSet = _planViewSettings->showGimbalWhen()->enumStringValue() == "Set"; for (int i=0; i<_visualItems->count(); i++) { VisualMissionItem* item = qobject_cast(_visualItems->get(i)); @@ -1511,11 +1512,11 @@ void MissionController::_recalcMissionFlightStatus() // Look for specific gimbal changes double gimbalYaw = item->specifiedGimbalYaw(); - if (!qIsNaN(gimbalYaw)) { + if (!qIsNaN(gimbalYaw) || showGimbalOnlyWhenSet) { _missionFlightStatus.gimbalYaw = gimbalYaw; } double gimbalPitch = item->specifiedGimbalPitch(); - if (!qIsNaN(gimbalPitch)) { + if (!qIsNaN(gimbalPitch) || showGimbalOnlyWhenSet) { _missionFlightStatus.gimbalPitch = gimbalPitch; } diff --git a/src/Settings/PlanView.SettingsGroup.json b/src/Settings/PlanView.SettingsGroup.json index dcb198b..851438c 100644 --- a/src/Settings/PlanView.SettingsGroup.json +++ b/src/Settings/PlanView.SettingsGroup.json @@ -24,9 +24,18 @@ "defaultValue": false }, { - "name": "useConditionGate", - "shortDescription": "Use MAV_CMD_CONDITION_GATE for pattern generation", - "type": "bool", - "defaultValue": false + "name": "useConditionGate", + "shortDescription": "Use MAV_CMD_CONDITION_GATE for pattern generation", + "type": "bool", + "defaultValue": false +}, +{ + "name": "showGimbalWhen", + "shortDescription": "Show gimbal yaw visual when yaw known/set", + "longDescription": "Shows the gimbal yaw when the it's explcitly set by the user or simply when known (propagated from previous)", + "type": "uint32", + "enumValues": "0,1", + "enumStrings": "Known,Set", + "defaultValue": 0 } ] diff --git a/src/Settings/PlanViewSettings.cc b/src/Settings/PlanViewSettings.cc index 9af8227..608cb32 100644 --- a/src/Settings/PlanViewSettings.cc +++ b/src/Settings/PlanViewSettings.cc @@ -22,3 +22,4 @@ DECLARE_SETTINGSFACT(PlanViewSettings, aboveTerrainWarning) DECLARE_SETTINGSFACT(PlanViewSettings, showMissionItemStatus) DECLARE_SETTINGSFACT(PlanViewSettings, useConditionGate) DECLARE_SETTINGSFACT(PlanViewSettings, takeoffItemNotRequired) +DECLARE_SETTINGSFACT(PlanViewSettings, showGimbalWhen) diff --git a/src/Settings/PlanViewSettings.h b/src/Settings/PlanViewSettings.h index c9bed13..34bb984 100644 --- a/src/Settings/PlanViewSettings.h +++ b/src/Settings/PlanViewSettings.h @@ -25,4 +25,5 @@ public: DEFINE_SETTINGFACT(showMissionItemStatus) DEFINE_SETTINGFACT(useConditionGate) DEFINE_SETTINGFACT(takeoffItemNotRequired) + DEFINE_SETTINGFACT(showGimbalWhen) };