Beispiel #1
0
        private void _udpReceiver_DatagramReceived(object sender, DatagramReceivedArgs e)
        {
            if (_samples != null)
            {
                _samples.Push(e.Datagram);
            }

            SampleReady?.Invoke(this, new SampleReadyArgs(e.Datagram));
        }
Beispiel #2
0
        private void _udpReceiver_DatagramReceived(object sender, DatagramReceivedArgs e)
        {
            var message  = Encoding.UTF8.GetString(e.Datagram);
            var response = _commandInterpreter.Interpret(message);

            Log($"message: {message}, response: {response}");
            if (!String.IsNullOrEmpty(response))
            {
                e.Reply = Encoding.UTF8.GetBytes(response);
            }
        }
Beispiel #3
0
 private void _udpReceiver_DatagramReceived(object sender, DatagramReceivedArgs e)
 {
     _frameComposer.AddSample(e.Datagram);
 }
Beispiel #4
0
        private static void VideoReceiver_DatagramReceived(object sender, DatagramReceivedArgs e)
        {
            try
            {
                if (!_stopwatch.IsRunning)
                {
                    _stopwatch.Start();
                }

                if (_stream == null)
                {
                    _stream = new FileStream("tello.mp4", FileMode.OpenOrCreate);
                }

                if (_size == 0)
                {
                    // test for 0001
                    if (e.Datagram[0] == 0 && e.Datagram[1] == 0 && e.Datagram[2] == 0 && e.Datagram[3] == 1)
                    {
                        Console.WriteLine("frame in sync");
                    }
                    else
                    {
                        Console.WriteLine("frame out of phase");
                    }
                }

                _stream.Write(e.Datagram, 0, e.Datagram.Length);

                //var builder = new StringBuilder();
                _size    += e.Datagram.Length;
                _ttlSize += (ulong)e.Datagram.Length;
                //builder.AppendLine($"{DateTime.Now}: {e.Datagram.Length} bytes received from {e.RemoteEndpoint.Address}:{e.RemoteEndpoint.Port}");
                //builder.AppendLine("----------------------");
                if (e.Datagram.Length != 1460)
                {
                    ++_frames;
                    //builder.AppendLine($"frame size: {_size}");
                    Console.WriteLine($"frame size: {_size}, frames: {_frames}, elapsed ms: {_stopwatch.ElapsedMilliseconds}, fps: {_frames / _stopwatch.Elapsed.TotalSeconds}, bit rate: {_ttlSize * 8 / _stopwatch.Elapsed.TotalSeconds}");
                    _size = 0;
                }


                //builder.AppendLine( Encoding.UTF8.GetString(e.Datagram));
                //builder.AppendLine("----------------------");

                //for (var i = 0; i < e.Datagram.Length; ++i)
                //{
                //    if (i > 0 && i % 2 == 0)
                //    {
                //        builder.Append(" ");
                //    }

                //    builder.Append(e.Datagram[i].ToString("X2"));
                //}
                //builder.AppendLine();
                //builder.AppendLine("==============================================");
                //Console.WriteLine(builder.ToString());
            }
            catch (Exception ex) {
                Debug.WriteLine(ex.ToString());
            }
        }
Beispiel #5
0
 private static void StateReceiver_DatagramReceived(object sender, DatagramReceivedArgs e)
 {
     Console.WriteLine($"TELLO STATE: {Encoding.UTF8.GetString(e.Datagram)}");
 }
Beispiel #6
0
 private async void StateReceiver_DatagramReceived(object sender, DatagramReceivedArgs e)
 {
     Debug.WriteLine($"TELLO STATE: {Encoding.UTF8.GetString(e.Datagram)}");
     await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { _telloStateText.Text = $"TELLO STATE: {Encoding.UTF8.GetString(e.Datagram)}"; });
 }