Example #1
0
 private static void OnRadioDataReceived(object sender, RadioDataReceivedEventArgs e)
 {
     #if DEBUG
     var data = "RECEIVED:  ";
     foreach (var d in e.Data)
     {
         data += (data.Length > 11 ? "|" : "") + d;
     }
     Debug.Print(data);
     #endif
 }
Example #2
0
 //string[] data)
 private void OnRadioDataReceived(object sender, RadioDataReceivedEventArgs e)
 {
     #if DEBUG1
     var d1 = "RECEIVED:  ";
     foreach (var d in data)
     {
         d1 += (d.Length > 11 ? "|" : "") + d;
     }
     Debug.Print(d1);
     Thread.Sleep(400);
     #endif
     var data = e.Data;
     switch (data[0])
     {
         case "M":
             var propId = byte.Parse(data[1]);
             if (_propellors[propId] != null)
             {
                 var powerLevel = int.Parse(data[2]);
                 _propellors[propId].SetPower(powerLevel);
                 Thread.Sleep(2000);
                 _propellors[propId].SetPower(0);
             }
             break;
         case "D":
             if (data.Length != 4) break;
             var direction = (float)double.Parse(data[1]);
             var magnitude = (float)double.Parse(data[2]);
             if ( _flightVector == null || (MathEx.Abs((_flightVector.Direction.Radians - direction)) > 1E-10 && MathEx.Abs(_flightVector.Magnitude - magnitude) > 1E-10))
             {
                 _flightVector = new EuclideanVector(new Angle(direction), magnitude);
             }
             break;
     }
     return;
 }