public async Task <InvokeResult <Mission> > GetWayPointsAsync(IConnectedUas uas) { var mission = new Mission(); var missionRequest = new UasMissionRequestList { TargetSystem = uas.Uas.SystemId, TargetComponent = uas.Uas.ComponentId }; var result = await uas.Transport.RequestDataAsync <UasMissionCount>(missionRequest, UasMessages.MissionCount); if (result.Successful) { for (ushort idx = 0; idx < result.Result.Count; ++idx) { var reqf = new UasMissionRequestInt { TargetSystem = uas.Uas.SystemId, TargetComponent = uas.Uas.ComponentId, Seq = idx }; var wpResult = await uas.Transport.RequestDataAsync <UasMissionItemInt>(reqf, UasMessages.MissionItemInt); if (wpResult.Successful) { mission.Waypoints.Add(Waypoint.Create(wpResult.Result)); } } } return(InvokeResult <Mission> .Create(mission)); }
private void button11_Click(object sender, EventArgs e) { var msg1 = new UasMissionRequestList(); MyShell.WriteLine("警告" + "Send UasMissionRequestList"); _mMavLink.SendMessage(msg1); Thread.Sleep(500); MyShell.WriteLine("警告" + "Send UasMissionRequest"); var msg2 = new UasMissionRequest { Seq = 0 }; _mMavLink.SendMessage(msg2); //var msg1 = new UasMissionItem {Seq = 1}; //_mMavLink.SendMessage(msg1); }