flyto任务加入ShowLED控制,在飞行过程中开灯或关灯
This commit is contained in:
parent
64b4412ff4
commit
a3c00572c2
@ -184,7 +184,7 @@ namespace Plane.FormationCreator.Formation
|
||||
var lastSingleCopterInfo = lastTask.SingleCopterInfos.Find(info => info.Copter == copter);
|
||||
var direction = GeographyUtils.CalcDirection2D(center.Lat, center.Lng, lastSingleCopterInfo.TargetLat, lastSingleCopterInfo.TargetLng);
|
||||
var targetLatLng = GeographyUtils.CalcLatLngSomeMetersAway2D(lastSingleCopterInfo.TargetLat, lastSingleCopterInfo.TargetLng, (float)GeographyUtils.RadToDeg(direction), 5);
|
||||
var newSingleCopterInfo = FlightTaskSingleCopterInfo.CreateForFlyToTask(copter, targetLatLng.Item1, targetLatLng.Item2, lastSingleCopterInfo.TargetAlt);
|
||||
var newSingleCopterInfo = FlightTaskSingleCopterInfo.CreateForFlyToTask(copter, targetLatLng.Item1, targetLatLng.Item2, lastSingleCopterInfo.TargetAlt,true);
|
||||
newSingleCopterInfo.TargetHeading = lastSingleCopterInfo.TargetHeading;
|
||||
newSingleCopterInfo.CenterDirectionDeg = lastSingleCopterInfo.TargetHeading;
|
||||
newTask.SingleCopterInfos.Add(newSingleCopterInfo);
|
||||
@ -265,7 +265,7 @@ namespace Plane.FormationCreator.Formation
|
||||
{
|
||||
var copter = copters[i];
|
||||
var singleCopterInfoObj = singleCopterInfos[i];
|
||||
var newSingleCopterInfo = FlightTaskSingleCopterInfo.CreateForFlyToTask(copter, new LatLng((double)singleCopterInfoObj.latOffset, (double)singleCopterInfoObj.lngOffset), (float)singleCopterInfoObj.targetAlt);
|
||||
var newSingleCopterInfo = FlightTaskSingleCopterInfo.CreateForFlyToTask(copter, new LatLng((double)singleCopterInfoObj.latOffset, (double)singleCopterInfoObj.lngOffset), (float)singleCopterInfoObj.targetAlt,(bool)singleCopterInfoObj.showLED);
|
||||
newTask.SingleCopterInfos.Add(newSingleCopterInfo);
|
||||
}
|
||||
Tasks.Add(newTask);
|
||||
@ -506,7 +506,8 @@ namespace Plane.FormationCreator.Formation
|
||||
{
|
||||
latOffset = offset.Lat,
|
||||
lngOffset = offset.Lng,
|
||||
targetAlt = info.TargetAlt
|
||||
targetAlt = info.TargetAlt,
|
||||
showLED = info.FlytoShowLED
|
||||
};
|
||||
})
|
||||
};
|
||||
|
@ -9,25 +9,35 @@ namespace Plane.FormationCreator.Formation
|
||||
{
|
||||
public partial class FlightTaskSingleCopterInfo
|
||||
{
|
||||
public static FlightTaskSingleCopterInfo CreateForFlyToTask(ICopter copter, double targetLat, double targetLng, float targetAlt)
|
||||
public static FlightTaskSingleCopterInfo CreateForFlyToTask(ICopter copter, double targetLat, double targetLng, float targetAlt,bool showLED)
|
||||
{
|
||||
var info = new FlightTaskSingleCopterInfo(copter)
|
||||
{
|
||||
TargetLat = targetLat,
|
||||
TargetLng = targetLng,
|
||||
TargetAlt = targetAlt
|
||||
TargetAlt = targetAlt,
|
||||
FlytoShowLED= showLED
|
||||
};
|
||||
return info;
|
||||
}
|
||||
|
||||
public static FlightTaskSingleCopterInfo CreateForFlyToTask(ICopter copter, LatLng latLngOffset, float targetAlt)
|
||||
public static FlightTaskSingleCopterInfo CreateForFlyToTask(ICopter copter, LatLng latLngOffset, float targetAlt, bool showLED)
|
||||
{
|
||||
var info = new FlightTaskSingleCopterInfo(copter)
|
||||
{
|
||||
LatLngOffset = latLngOffset,
|
||||
TargetAlt = targetAlt
|
||||
TargetAlt = targetAlt,
|
||||
FlytoShowLED = showLED
|
||||
};
|
||||
return info;
|
||||
}
|
||||
private bool _FlytoShowLED = true;
|
||||
public bool FlytoShowLED
|
||||
{
|
||||
get { return _FlytoShowLED; }
|
||||
set { Set(nameof(FlytoShowLED), ref _FlytoShowLED, value); }
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -19,12 +19,6 @@ namespace Plane.FormationCreator.Formation
|
||||
}
|
||||
|
||||
|
||||
private bool _FlytoShowLED = true;
|
||||
public bool FlytoShowLED
|
||||
{
|
||||
get { return _FlytoShowLED; }
|
||||
set { Set(nameof(FlytoShowLED), ref _FlytoShowLED, value); }
|
||||
}
|
||||
|
||||
|
||||
private bool _VerticalLift = false;
|
||||
@ -531,7 +525,7 @@ namespace Plane.FormationCreator.Formation
|
||||
tasks[i] = await Task.Factory.StartNew(async () =>
|
||||
{
|
||||
var internalInfo = info;
|
||||
await info.Copter.SetShowLEDAsync(FlytoShowLED);
|
||||
await info.Copter.SetShowLEDAsync(info.FlytoShowLED);
|
||||
//if (i1 > 0)
|
||||
//{
|
||||
// var prevCopter = infos[i1 - 1].Copter;
|
||||
|
@ -225,7 +225,7 @@ namespace Plane.FormationCreator.Formation
|
||||
if (info.takeOffStage == 1)
|
||||
{
|
||||
await info.Copter.GuidAsync();
|
||||
await info.Copter.SetShowLEDAsync(false);
|
||||
await info.Copter.SetShowLEDAsync(copterNextTask.FlytoShowLED );
|
||||
for (int j = 0; j < 3; j++)
|
||||
{
|
||||
await info.Copter.FlyToAsync(copterNextTask.TargetLat, copterNextTask.TargetLng, takeOffAlt);
|
||||
|
@ -108,6 +108,7 @@
|
||||
|
||||
<TextBlock Grid.Row="2" Text="开灯: " />
|
||||
<CheckBox Grid.Row="2" Grid.Column="1"
|
||||
DataContext="{Binding ModifyingSingleCopterInfo}"
|
||||
IsChecked="{Binding FlytoShowLED}" />
|
||||
|
||||
</Grid>
|
||||
|
Loading…
Reference in New Issue
Block a user