void Inititialize() { tmrStatusUpdate = new DispatcherTimer(); tmrStatusUpdate.Interval = TimeSpan.FromMilliseconds(100); tmrStatusUpdate.IsEnabled = true; tmrStatusUpdate.Tick += tmrStatusUpdate_Tick; tmrVideoUpdate = new DispatcherTimer(); tmrVideoUpdate.Interval = TimeSpan.FromMilliseconds(20); tmrVideoUpdate.IsEnabled = true; tmrVideoUpdate.Tick += tmrVideoUpdate_Tick; _videoPacketDecoderWorker = new VideoPacketDecoderWorker(AR.Drone.Video.PixelFormat.BGR24, true, OnVideoPacketDecoded); _videoPacketDecoderWorker.Start(); _droneClient = new DroneClient("192.168.1.1"); _droneClient.NavigationPacketAcquired += OnNavigationPacketAcquired; _droneClient.VideoPacketAcquired += OnVideoPacketAcquired; _droneClient.NavigationDataAcquired += data => _navigationData = data; // commands Command_Connect = new RelayCommand(CommandConnect); Command_Disconnect = new RelayCommand(CommandDisconnect); Command_ShowDrownLayer = new RelayCommand <bool>(CommandShowDrownLayer); Command_UpdateDroneSettings = new RelayCommand(CommandUpdateDroneSettings); }
// Use this for initialization void Start() { Debug.Log("Start"); // initialize data array data = new byte[width * height * 3]; // set textures MainRenderer.material.mainTexture = cameraTexture; SecondaryRenderer.material.mainTexture = blackTexture; cameraTexture = new Texture2D(width, height); blackTexture = new Texture2D(1, 1); blackTexture.SetPixel(0, 0, Color.black); blackTexture.Apply(); // Initialize drone videoPacketDecoderWorker = new VideoPacketDecoderWorker(PixelFormat.BGR24, true, OnVideoPacketDecoded); videoPacketDecoderWorker.Start(); droneClient = new DroneClient("192.168.1.1"); droneClient.UnhandledException += HandleUnhandledException; droneClient.VideoPacketAcquired += OnVideoPacketAcquired; droneClient.NavigationDataAcquired += navData => navigationData = navData; videoPacketDecoderWorker.UnhandledException += HandleUnhandledException; droneClient.Start(); // activate main drone camera switchDroneCamera(AR.Drone.Client.Configuration.VideoChannelType.Vertical); // determine connection client = new WlanClient(); }
void MainWindow_Loaded(object sender, RoutedEventArgs e) { tmrStatusUpdate = new DispatcherTimer(); tmrStatusUpdate.Interval = TimeSpan.FromMilliseconds(100); tmrStatusUpdate.IsEnabled = true; tmrStatusUpdate.Tick += tmrStatusUpdate_Tick; tmrVideoUpdate = new DispatcherTimer(); tmrVideoUpdate.Interval = TimeSpan.FromMilliseconds(20); tmrVideoUpdate.IsEnabled = true; tmrVideoUpdate.Tick += tmrVideoUpdate_Tick; _videoPacketDecoderWorker = new VideoPacketDecoderWorker(AR.Drone.Video.PixelFormat.BGR24, true, OnVideoPacketDecoded); //_videoPacketDecoderWorker.Start(); _droneClient = new DroneClient("192.168.1.1"); _droneClient.NavigationPacketAcquired += OnNavigationPacketAcquired; _droneClient.VideoPacketAcquired += _droneClient_VideoPacketAcquired; _droneClient.NavigationDataAcquired += data => _navigationData = data; //InitializeAviationControls(); w = AttitudeMeter.ActualWidth; h = AttitudeMeter.ActualHeight; SetAttitudeIndicatorParameters(pitch.Value, roll.Value); }
/// <summary> /// Initialize video processing /// </summary> private void InitializeVideo() { videoPacketDecoderWorker = new VideoPacketDecoderWorker(PixelFormat.BGR24, true, OnVideoPacketDecoded); videoPacketDecoderWorker.Start(); videoPacketDecoderWorker.UnhandledException += UnhandledException; timerVideoUpdate.Enabled = true; }
public static void VideoWorkerBinder() { //Let's do video Inputs VideoPacketDecoderWorker = new VideoPacketDecoderWorker(AR.Drone.Video.PixelFormat.BGR24, true, OnVideoPacketDecoded); VideoPacketDecoderWorker.Start(); HorizontalCamera(); }
public PlayerForm() { InitializeComponent(); _videoPacketDecoderWorker = new VideoPacketDecoderWorker(PixelFormat.BGR24, true, OnVideoPacketDecoded); _videoPacketDecoderWorker.Start(); tmrVideoUpdate.Enabled = true; _videoPacketDecoderWorker.UnhandledException += UnhandledException; }
public MainForm(DroneClient droneClient) { InitializeComponent(); InitApp(); //创建新的无人机连接 _droneClient = droneClient; _droneClient.VideoPacketAcquired += OnVideoPacketAcquired; _droneClient.NavigationPacketAcquired += OnNavigationPacketAcquired; _droneClient.NavigationDataAcquired += data => _navigationData = data; //视频解码设置 if (_isVedio) { _videoPacketDecoderWorker = new VideoPacketDecoderWorker(PixelFormat.BGR24, true, OnVideoPacketDecoded); _videoPacketDecoderWorker.Start(); _videoPacketDecoderWorker.UnhandledException += UnhandledException; tmrVideoUpdate.Enabled = true; } if (_isNavadata) { //导航数据获取事件,添加事件响应 //定时器更新允许 tmrStateUpdate.Enabled = true; } _playerForms = new List <PlayerForm>(); //点到点部分 //数据初始化 if (_isViconRead) { _viconClient = new ViconClient(); _viconPositionGet = new MyViconPosition(_viconClient); _viconPositionGet.OnViconPositionRecieve += OnViconPositionRecieve; //写文件线程 //_pwrite = new PositionWrite(System.Environment.CurrentDirectory, string.Format(@"vicon_{0:yyyy_MM_dd_HH_mm}.txt", DateTime.Now)); } else { _positionClient = new PositionClient(); _viconPositionGet = new MyViconPosition(_positionClient); _viconPositionGet.OnViconPositionRecieve += OnViconPositionRecieve; } }
public MainForm() { InitializeComponent(); // innitialize video packet decoder. videoDecoder = new VideoPacketDecoderWorker(PixelFormat.BGR24, true, OnFrameDecoded); videoDecoder.UnhandledException += VideoDecoder_UnhandledException; videoDecoder.Start(); // Initalize drone. drone = new DroneClient(); drone.VideoPacketAcquired += OnVideoPacketAqcuired; drone.Start(); drone.ResetEmergency(); drone.FlatTrim(); JoystickFlightController controller = new JoystickFlightController(); controller.Client = drone; controller.Start(); /* * // Initialize joystick. * joystick = new JoystickDevice(); * joystick.InputReceived += Joystick_InputReceived; * joystick.Initialize("/dev/input/js0"); * * // Initialize height maintainer. * heightMaintainer = new HeightMaintainer(); * heightMaintainer.TargetHeight = 0.25f; //meter * * // Initialize velocity maintainer. * velocityMaintainer = new VelocityMaintainer(); * velocityMaintainer.TargetVelocity.Forward = -1.0f; * velocityMaintainer.TargetVelocity.Left = 0.0f; * velocityMaintainer.TargetVelocity.TurnLeft = 0.0f; * * // Initialize flight controller. * controller = new CompositeFlightController(); * controller.Drone = drone; * controller.FlightBehaviors.Add(velocityMaintainer); * controller.FlightBehaviors.Add(heightMaintainer); * controller.FlightBehaviors.Add(new JoystickBehavior(joystick)); * controller.ControlCycleStarting += () => joystick.ProcessEvents(); * * controller.Start(); */ videoTimer.Enabled = true; }
public MainForm() { InitializeComponent(); _videoPacketDecoderWorker = new VideoPacketDecoderWorker(PixelFormat.BGR24, true, OnVideoPacketDecoded); _videoPacketDecoderWorker.Start(); _droneClient = new DroneClient("192.168.1.1"); _droneClient.NavigationPacketAcquired += OnNavigationPacketAcquired; _droneClient.VideoPacketAcquired += OnVideoPacketAcquired; _droneClient.NavigationDataAcquired += data => _navigationData = data; tmrStateUpdate.Enabled = true; tmrVideoUpdate.Enabled = true; _playerForms = new List <PlayerForm>(); _videoPacketDecoderWorker.UnhandledException += UnhandledException; }
/// <summary> /// Use this for initialization /// </summary> void Start() { Debug.Log("Start DroneObserver"); // initialize data array data = new byte[width * height * 3]; cameraTexture = new Texture2D(width, height); // Initialize drone videoPacketDecoderWorker = new VideoPacketDecoderWorker(PixelFormat.RGB24, true, OnVideoPacketDecoded); videoPacketDecoderWorker.Start(); droneClient = new DroneClient("192.168.1.1"); //droneClient = new DroneClient ("127.0.0.1"); droneClient.UnhandledException += HandleUnhandledException; droneClient.VideoPacketAcquired += OnVideoPacketAcquired; droneClient.NavigationDataAcquired += navData => navigationData = navData; droneClient.FlatTrim(); videoPacketDecoderWorker.UnhandledException += HandleUnhandledException; droneClient.Start(); Settings settings = new Settings(); settings.Video.Codec = VideoCodecType.H264_720P; droneClient.Send(settings); droneClient.AckControlAndWaitForConfirmation(); switchDroneCamera(AR.Drone.Client.Configuration.VideoChannelType.Horizontal); isDroneConnected = droneClient.IsConnected; if (!isDroneConnected) { Debug.LogError("Drone not Connected. Retry!!!"); } if (isDroneConnected) { Debug.LogWarning("Drone Connected!!!"); } // determine connection wlanClient = new WlanClient(); }
public ARDrone2() { _videoPacketDecoderWorker = new VideoPacketDecoderWorker(PixelFormat.BGR24, true, OnVideoPacketDecoded); _videoPacketDecoderWorker.Start(); string path = string.Format("flight_{0:yyyy-MM-dd-HH-mm}.ardrone", DateTime.Now); var stream = new FileStream(path, FileMode.OpenOrCreate); _packetRecorderWorker = new PacketRecorder(stream); _packetRecorderWorker.Start(); _droneClient = new DroneClient(); _droneClient.NavigationPacketAcquired += OnNavigationPacketAcquired; _droneClient.VideoPacketAcquired += OnVideoPacketAcquired; _droneClient.ConfigurationUpdated += OnConfigurationUpdated; _droneClient.Active = true; //tmrStateUpdate.Enabled = true; //tmrVideoUpdate.Enabled = true; }
public MainForm() { InitializeComponent(); _videoPacketDecoderWorker = new VideoPacketDecoderWorker(PixelFormat.BGR24, OnVideoPacketDecoded); _videoPacketDecoderWorker.Start(); string path = string.Format("flight_{0:yyyy-MM-dd-HH-mm}.ardrone", DateTime.Now); _packetRecorderWorker = new PacketRecorderWorker(path); _packetRecorderWorker.Start(); _droneClient = new DroneClient(); _droneClient.NavigationPacketAcquired += OnNavigationPacketAcquired; _droneClient.VideoPacketAcquired += OnVideoPacketAcquired; _droneClient.Active = true; tmrStateUpdate.Enabled = true; tmrVideoUpdate.Enabled = true; }
public DroneController() { //this.image = new ImageBrush(); _client = new DroneClient("192.168.1.1"); settings = new Settings(); outDoor(false); flightWithoutShell(false); _battery = new Battery(); _battery.Percentage = 100; _videoPacketDecoderWorker = new VideoPacketDecoderWorker(AR.Drone.Video.PixelFormat.BGR24, true, OnVideoPacketDecoded); _videoPacketDecoderWorker.Start(); _client.VideoPacketAcquired += OnVideoPacketAcquired; tmrVideoUpdate = new System.Windows.Forms.Timer(); tmrVideoUpdate.Interval = 20; tmrVideoUpdate.Tick += new System.EventHandler(this.tmrVideoUpdate_Tick); tmrVideoUpdate.Enabled = true; _videoPacketDecoderWorker.UnhandledException += UnhandledException; }
public MainForm() { InitializeComponent(); last = DateTime.UtcNow; bytes = 0; running = true; // initialize video packet decoder. videoDecoder = new VideoPacketDecoderWorker(PixelFormat.BGR24, true, OnFrameDecoded); videoDecoder.UnhandledException += (delegate(object sender, Exception ex) { Console.WriteLine(ex); Process.GetCurrentProcess().Kill(); }); videoDecoder.Start(); videoClient = new TcpClient(Environment.GetCommandLineArgs()[1], 1994); new Thread(VideoRecvLoop).Start(); videoTimer.Enabled = true; }
protected override void LoadContent() { renderTarget = new RenderTarget2D(GraphicsDevice, graphics.PreferredBackBufferWidth, graphics.PreferredBackBufferHeight); spriteBatch = new SpriteBatch(GraphicsDevice); hudFontSmall = Content.Load <SpriteFont>(@"Fonts\FontSmall"); if (drawTestImage) { videoTexture = Content.Load <Texture2D>(@"test"); } else { videoTexture = new Texture2D(GraphicsDevice, 640, 360, false, SurfaceFormat.Color); } colorData = new Microsoft.Xna.Framework.Color[640 * 360]; videoPacketDecoderWorker = new VideoPacketDecoderWorker(PixelFormat.BGR24, true, OnVideoPacketDecoded); videoPacketDecoderWorker.Start(); droneClient = new DroneClient(); droneClient.VideoPacketAcquired += OnVideoPacketAcquired; droneClient.ConfigurationUpdated += OnConfigurationUpdated; droneClient.Active = true; try { kinect = new KinectClient("it-IT"); kinect.VoiceCommandRecognized += OnVoiceCommandRecognized; kinect.VoiceCommandRejected += OnVoiceCommandRejected; kinect.GestureCommandRecognized += OnGestureRecognized; kinectMessage = "Kinect trovato. Riconoscimento vocale e comandi attivi..."; } catch (Exception e) { kinectMessage = e.Message; } oculusRiftDistortionShader = Content.Load <Effect>("Shaders/OculusRift"); oculusClient = new OculusClient(); UpdateResolutionAndRenderTargets(); screenType = ScreenType.Splash; //The splash show commands }
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); }
/// <summary> /// Connects with the drone /// </summary> private DroneController() { // Sets paths DataPath = "Data/"; LivePath = DataPath + "Live/"; // Starts the video stream _videoPacketDecoderWorker = new VideoPacketDecoderWorker(PixelFormat.BGR24, true, OnVideoPacketDecoded); _videoPacketDecoderWorker.Start(); // Connects with the drone _droneClient = new DroneClient("192.168.1.1"); _frameNumber = 0; DateTime dt = DateTime.Now; _frameTag = dt.Year.ToString() + dt.Month.ToString("00") + dt.Day.ToString("00") + dt.Hour.ToString("00") + dt.Minute.ToString("00") + "_"; // Enable navigation data _droneClient.NavigationPacketAcquired += OnNavigationPacketAcquired; _droneClient.VideoPacketAcquired += OnVideoPacketAcquired; _droneClient.NavigationDataAcquired += data => _navigationData = data; }
public MainForm() { InitializeComponent(); Text += Environment.Is64BitProcess ? " [64-bit]" : " [32-bit]"; _videoPacketDecoderWorker = new VideoPacketDecoderWorker(PixelFormat.BGR24, true, OnVideoPacketDecoded); _videoPacketDecoderWorker.Start(); string path = string.Format("flight_{0:yyyy-MM-dd-HH-mm}.ardrone", DateTime.Now); var stream = new FileStream(path, FileMode.OpenOrCreate); _packetRecorderWorker = new PacketRecorder(stream); _packetRecorderWorker.Start(); _droneClient = new DroneClient(); _droneClient.NavigationPacketAcquired += OnNavigationPacketAcquired; _droneClient.VideoPacketAcquired += OnVideoPacketAcquired; _droneClient.ConfigurationUpdated += OnConfigurationUpdated; _droneClient.Active = true; tmrStateUpdate.Enabled = true; tmrVideoUpdate.Enabled = true; }