示例#1
0
        public static void evaluateCustomCommand(List <byte> bytes)
        {
            string cmd = Encoding.ASCII.GetString(bytes.ToArray());

            switch (cmd)
            {
            case "#take_photo":
                Camera.TakePhoto();
                break;

            case "#load_photo":
                Camera.LoadPhoto();
                break;

            case "#autopilotON":
                Autopilot.TakeControl();
                break;

            case "#autopilotOFF":
                Autopilot.ReleaseControl();
                break;

            case "#dismiss":
                Autopilot.Dismiss();
                break;

            case "#land":
                Autopilot.Land();
                break;

            default:
                Debug.WriteLine("Command not implemented: " + cmd);
                break;
            }
        }
示例#2
0
        private void takeOffLandToggle_Unchecked()
        {
            if (!takeOffLandToggleTapped)
            {
                return;
            }

            if (App.DroneType == DroneType.Custom && armToggle.IsChecked == true)
            {
                var cmd = Encoding.ASCII.GetBytes("#land");
                Socket.SendData(cmd);

                takeOffLandToggle.Opacity = 0.2;
            }
            else
            {
                Autopilot.Land();
            }

            plusButton.IsEnabled    = false;
            minusButton.IsEnabled   = false;
            takeOffLandToggleTapped = false;
        }