コード例 #1
0
        private void UpdateFormControls()
        {
            strText = null;
            // 눌린 버튼 목록을 표시할 문자열의 초기화

            // 눌린 버튼 번호를 문자열로 연결하여 한 번에 나타내주기 위해서 입니다.
            //  strText = null;

            // 축 값 : 조이스틱 객체에서 State.X, State.Y, State.Z로 축 상태를 읽어옵니다.
            X_value.Text = joystick.State.X.ToString(); // X축 값 얻어옴
            Y_value.Text = joystick.State.Y.ToString(); // Y축 값 얻어옴
            Z_value.Text = joystick.State.Z.ToString(); // Z축 값 얻어옴

            byte[] buttons = joystick.State.GetButtons();

            for (int i = 1; 1 <= 12; i++)
            {
                if (joystick.ButtonPressed(i) == true)
                {
                    strText += i + " ";
                }
                Button_value.Text = strText;
            }
        }
コード例 #2
0
ファイル: Main.cs プロジェクト: UAVWorks/PinoEye
        private void UpdateFormControls()
        {
            //joystick_text = null;

            int[] pov = joystick.State.GetPointOfView();

            for (int i = 0; i < 7; i++)
            {
                if (joystick.ButtonPressed(i) == true)
                {
                    button = i;
                }
            }

            if (pov[0] == 0)   // up
            {
                if (servo2 < 1800)
                {
                    servo2 += 10;
                }
            }
            if (pov[0] == 4500) // up right
            {
                if (servo2 < 1800)
                {
                    servo2 += 10;
                }
                if (servo1 < 2000)
                {
                    servo1 += 10;
                }
            }
            if (pov[0] == 9000) // right
            {
                if (servo1 < 2000)
                {
                    servo1 += 10;
                }
            }
            if (pov[0] == 13500) // down right
            {
                if (servo2 > 1000)
                {
                    servo2 -= 10;
                }
                if (servo1 < 2000)
                {
                    servo1 += 10;
                }
            }
            if (pov[0] == 18000) // down
            {
                if (servo2 > 1400)
                {
                    servo2 -= 10;
                }
            }
            if (pov[0] == 22500) // down left
            {
                if (servo2 > 1000)
                {
                    servo2 -= 10;
                }
                if (servo1 > 1400)
                {
                    servo1 -= 10;
                }
            }
            if (pov[0] == 27000) // left
            {
                if (servo1 > 1400)
                {
                    servo1 -= 10;
                }
            }
            if (pov[0] == 31500) // up left
            {
                if (servo2 < 1800)
                {
                    servo2 += 10;
                }
                if (servo1 > 1400)
                {
                    servo1 -= 10;
                }
            }

            if (button == 1) // 2번 카메라 캡쳐
            {
                string   time   = System.DateTime.Now.ToString("yyyy년MM월dd일hh시mm분ss초");
                Bitmap   bitmap = new Bitmap(this.webControl2.Width, this.webControl2.Height);
                Graphics g      = Graphics.FromImage(bitmap);
                g.CopyFromScreen(
                    PointToScreen(new Point(this.webControl2.Location.X, this.webControl2.Location.Y)),
                    new Point(0, 0),
                    this.webControl2.Size);
                bitmap.Save(textBox4.Text + "\\cam2_" + time + ".jpg");
            }

            if (button == 2) // 2번 카메라 중립
            {
                servo1 = 1700;
                servo2 = 1500;
            }

            button = 0; // 버튼 고정 효과 제거

            // 플랩
            if (flap == 1400)
            {
                textBox12.Text = "OFF";
            }
            else
            {
                textBox12.Text = "ON";
            }
            // 모드
            if (mode == 1361)
            {
                textBox18.Text = "자세 제어";
            }
            else
            {
                textBox18.Text = "수동 조종";
            }
        }