private void FlyToObjective_Click(object sender, RoutedEventArgs e) { if (!droneClient.IsActive) { return; } if (droneController != null) { if (droneController.Active) { droneController.Stop(); } else { droneController.Start(Pilot.Missions.Objective); } } }
void configDrone() { if (droneClient != null) { droneClient.VideoPacketAcquired -= OnVideoPacketAcquired; } droneClient?.Stop(); droneClient?.Dispose(); iotController = null; autoPilot?.Stop(); autoPilot = null; videoPacketDecoderWorker?.Stop(); videoPacketDecoderWorker?.Dispose(); Logger.LogInfo($"Configuring Drone at {config.DroneIP}"); droneClient = new DroneClient(config.DroneIP); droneClient.VideoPacketAcquired += OnVideoPacketAcquired; videoPacketDecoderWorker = new VideoPacketDecoderWorker(AR.Drone.Video.PixelFormat.BGR24, true, OnVideoPacketDecoded); videoPacketDecoderWorker.Start(); iotController = new IoTHubController(droneClient, analyzerOutput, bitmaps); autoPilot = new Pilot.Controller(droneClient, analyzerOutput, config, iotController); }