Browse Source

Fix gimbal yaw visual problems

QGC4.4
DonLakeFlyer 6 years ago
parent
commit
49a9c91f3f
  1. 2
      src/MissionManager/CameraSection.cc
  2. 16
      src/MissionManager/MissionController.cc

2
src/MissionManager/CameraSection.cc

@ -543,10 +543,8 @@ double CameraSection::specifiedGimbalPitch(void) const
void CameraSection::_updateSpecifiedGimbalYaw(void) void CameraSection::_updateSpecifiedGimbalYaw(void)
{ {
if (_specifyGimbal) {
emit specifiedGimbalYawChanged(specifiedGimbalYaw()); emit specifiedGimbalYawChanged(specifiedGimbalYaw());
} }
}
void CameraSection::_updateSpecifiedGimbalPitch(void) void CameraSection::_updateSpecifiedGimbalPitch(void)
{ {

16
src/MissionManager/MissionController.cc

@ -1419,7 +1419,21 @@ void MissionController::_recalcMissionFlightStatus()
_missionFlightStatus.vehicleSpeed = newSpeed; _missionFlightStatus.vehicleSpeed = newSpeed;
} }
// Look for gimbal change // ROI commands cancel out previous gimbal yaw/pitch
if (simpleItem) {
switch (simpleItem->command()) {
case MAV_CMD_NAV_ROI:
case MAV_CMD_DO_SET_ROI_LOCATION:
case MAV_CMD_DO_SET_ROI_WPNEXT_OFFSET:
_missionFlightStatus.gimbalYaw = std::numeric_limits<double>::quiet_NaN();
_missionFlightStatus.gimbalPitch = std::numeric_limits<double>::quiet_NaN();
break;
default:
break;
}
}
// Look for specific gimbal changes
double gimbalYaw = item->specifiedGimbalYaw(); double gimbalYaw = item->specifiedGimbalYaw();
if (!qIsNaN(gimbalYaw)) { if (!qIsNaN(gimbalYaw)) {
_missionFlightStatus.gimbalYaw = gimbalYaw; _missionFlightStatus.gimbalYaw = gimbalYaw;

Loading…
Cancel
Save