Commit ec0f015d authored by DonLakeFlyer's avatar DonLakeFlyer

Fix standalone coords affecting time/distance

parent 65ebabe4
...@@ -640,6 +640,7 @@ ...@@ -640,6 +640,7 @@
"friendlyName": "ROI to next waypoint" , "friendlyName": "ROI to next waypoint" ,
"description": "Sets the region of interest to point towards the next waypoint with optional offsets.", "description": "Sets the region of interest to point towards the next waypoint with optional offsets.",
"specifiesCoordinate": false, "specifiesCoordinate": false,
"standaloneCoordinate": true,
"friendlyEdit": true, "friendlyEdit": true,
"category": "Camera", "category": "Camera",
"param5": { "param5": {
......
...@@ -1343,12 +1343,6 @@ void MissionController::_recalcMissionFlightStatus() ...@@ -1343,12 +1343,6 @@ void MissionController::_recalcMissionFlightStatus()
_addCommandTimeDelay(simpleItem, vtolInHover); _addCommandTimeDelay(simpleItem, vtolInHover);
if (item->specifiesCoordinate()) { if (item->specifiesCoordinate()) {
// Update vehicle yaw assuming direction to next waypoint
if (item != lastCoordinateItem) {
_missionFlightStatus.vehicleYaw = lastCoordinateItem->exitCoordinate().azimuthTo(item->coordinate());
lastCoordinateItem->setMissionVehicleYaw(_missionFlightStatus.vehicleYaw);
}
// Keep track of the min/max altitude for all waypoints so we can show altitudes as a percentage // Keep track of the min/max altitude for all waypoints so we can show altitudes as a percentage
double absoluteAltitude = item->coordinate().altitude(); double absoluteAltitude = item->coordinate().altitude();
...@@ -1366,6 +1360,13 @@ void MissionController::_recalcMissionFlightStatus() ...@@ -1366,6 +1360,13 @@ void MissionController::_recalcMissionFlightStatus()
if (!item->isStandaloneCoordinate()) { if (!item->isStandaloneCoordinate()) {
firstCoordinateItem = false; firstCoordinateItem = false;
// Update vehicle yaw assuming direction to next waypoint
if (item != lastCoordinateItem) {
_missionFlightStatus.vehicleYaw = lastCoordinateItem->exitCoordinate().azimuthTo(item->coordinate());
lastCoordinateItem->setMissionVehicleYaw(_missionFlightStatus.vehicleYaw);
}
if (lastCoordinateItem != _settingsItem || linkStartToHome) { if (lastCoordinateItem != _settingsItem || linkStartToHome) {
// This is a subsequent waypoint or we are forcing the first waypoint back to home // This is a subsequent waypoint or we are forcing the first waypoint back to home
double azimuth, distance, altDifference; double azimuth, distance, altDifference;
...@@ -1395,9 +1396,9 @@ void MissionController::_recalcMissionFlightStatus() ...@@ -1395,9 +1396,9 @@ void MissionController::_recalcMissionFlightStatus()
} }
item->setMissionFlightStatus(_missionFlightStatus); item->setMissionFlightStatus(_missionFlightStatus);
}
lastCoordinateItem = item; lastCoordinateItem = item;
}
} }
} }
lastCoordinateItem->setMissionVehicleYaw(_missionFlightStatus.vehicleYaw); lastCoordinateItem->setMissionVehicleYaw(_missionFlightStatus.vehicleYaw);
......
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