diff --git a/Plane.FormationCreator/Formation/FlightTask_FlyTo.cs b/Plane.FormationCreator/Formation/FlightTask_FlyTo.cs index fc01eb5..9b8451a 100644 --- a/Plane.FormationCreator/Formation/FlightTask_FlyTo.cs +++ b/Plane.FormationCreator/Formation/FlightTask_FlyTo.cs @@ -143,18 +143,26 @@ namespace Plane.FormationCreator.Formation if (info.Copter.State != Plane.Copters.CopterState.CommandMode) await info.Copter.GuidAsync(); - - /* - for (int i = 0; i < 5; i++) + + /* + for (int i = 0; i < 5; i++) + { + await info.Copter.FlyToAsync(info.TargetLat, info.TargetLng, info.TargetAlt); + await Task.Delay(10).ConfigureAwait(false); + } + */ + double targetLat = info.TargetLat; + double targetLng = info.TargetLng; + if (info.IsLandWaypoint) { - await info.Copter.FlyToAsync(info.TargetLat, info.TargetLng, info.TargetAlt); - await Task.Delay(10).ConfigureAwait(false); + targetLat = info.Copter.TakeOffPoint.Latitude; + targetLng = info.Copter.TakeOffPoint.Longitude; } - */ //发送目标航点1次 - await info.Copter.FlyToAsync(info.TargetLat, info.TargetLng, info.TargetAlt); + + await info.Copter.FlyToAsync(targetLat, targetLng, info.TargetAlt); await Task.Delay(10).ConfigureAwait(false); dtNow = DateTime.Now; @@ -231,7 +239,7 @@ namespace Plane.FormationCreator.Formation sendFlyToTimes++; for (int i = 0; i < 2; i++) { - await info.Copter.FlyToAsync(info.TargetLat, info.TargetLng, info.TargetAlt); + await info.Copter.FlyToAsync(targetLat, targetLng, info.TargetAlt); await Task.Delay(10).ConfigureAwait(false); }