예제 #1
0
 private async void StartMissionExecute()
 {
     if (VehicleSelected != null)
     {
         var mission = await AsyncUtil.RaunAsync <bool>(StartMissionAsync);
     }
 }
예제 #2
0
 private async void QuadModeCommandExecute(VehicleModeEnum obj)
 {
     await AsyncUtil.RaunAsync(() =>
     {
         foreach (var vehicle in Vehicles.Where(vehicle => vehicle.IsSelected))
         {
             VehicleComponent.SendModeCommand(vehicle.ID, (uint)obj);
         }
         return(obj);
     });
 }
예제 #3
0
 private async void DisArmModeCommandExecute()
 {
     await AsyncUtil.RaunAsync(() =>
     {
         foreach (var vehicle in Vehicles.Where(vehicle => vehicle.IsSelected))
         {
             VehicleComponent.SetArmDisArmCommand(vehicle.ID, false);
         }
         return(true);
     });
 }
예제 #4
0
 private async void SetNextWaypointCommandExecute()
 {
     await AsyncUtil.RaunAsync(() =>
     {
         foreach (var vehicle in Vehicles.Where(vehicle => vehicle.IsSelected))
         {
             var next = vehicle.NextWaypoint + 1;
             MissionComponent.GoToCurrentWaypointId(vehicle.ID, 0, next);
             Thread.Sleep(1000);
         }
         return(true);
     });
 }
예제 #5
0
 private async void TakeOffCommandExecute()
 {
     await AsyncUtil.RaunAsync(() =>
     {
         foreach (var vehicle in Vehicles.Where(vehicle => vehicle.IsSelected))
         {
             //if (vehicle.IsActivateMission)
             {
                 VehicleComponent.TakeOffCommand(vehicle.ID, AltTakeOff, (float)vehicle.Latitude,
                                                 (float)vehicle.Longitude, (float)vehicle.Heading);
                 Thread.Sleep(1000);
                 Debug.WriteLine("TakeOffCommandExecute - vehicle " + vehicle.ID);
             }
         }
         return(true);
     });
 }
예제 #6
0
        private async void MissionCommandsExecute(SoftkeyEnum obj)
        {
            await AsyncUtil.RaunAsync(() =>
            {
                switch (obj)
                {
                case SoftkeyEnum.StartMission:
                    {
                        foreach (var vehicle in Vehicles.Where(vehicle => vehicle.IsSelected))
                        {
                            MissionComponent.StartMission(vehicle.ID, 0);
                            Thread.Sleep(1000);
                            Debug.WriteLine("StartMission - vehicle " + vehicle.ID);
                        }
                    }

                    break;

                case SoftkeyEnum.StopMission:
                    {
                        foreach (var vehicle in Vehicles.Where(vehicle => vehicle.IsSelected))
                        {
                            MissionComponent.StopMission(vehicle.ID, 0);
                            Thread.Sleep(1000);
                            Debug.WriteLine("StopMission - vehicle " + vehicle.ID);
                        }
                    }

                    break;

                case SoftkeyEnum.RestartMission:
                    {
                        foreach (var vehicle in Vehicles.Where(vehicle => vehicle.IsSelected))
                        {
                            MissionComponent.RestartMission(vehicle.ID, 0, 0);
                            Thread.Sleep(1000);
                            Debug.WriteLine("RestartMission - vehicle " + vehicle.ID);
                        }
                    }
                    break;
                }
                return(obj);
            });
        }
예제 #7
0
 private async void SendMissionCommandsExecute()
 {
     await AsyncUtil.RaunAsync(() =>
     {
         foreach (var vehicle in Vehicles.Where(vehicle => vehicle.IsSelected))
         {
             if (vehicle.Task != null)
             {
                 vehicle.IsActivateMission = false;
                 MissionComponent.UploadTask(vehicle.ID,
                                             vehicle.HomePosition,
                                             new MavlinkWaypoint
                 {
                     Latitude  = vehicle.Latitude,
                     Longitude = vehicle.Longitude,
                     Altitude  = DefaultAltitude,
                     Param4    = (float)vehicle.Heading
                 },
                                             vehicle.Task);
             }
         }
         return(true);
     });
 }