Exemplo n.º 1
0
        const int REMOTE_COMMAND_STOP  = 's';         // 's'

        public static void Main()
        {
            // 構造体の宣言と初期化
            var body = new EV3body();

            EV3body.init(ref body);

            // Bluetooth関係のETロボコン拡張機能を有効にする
            Brick.InstallETRoboExt();

            // リモート接続
            NetworkStream connection = connect();

            // センサーおよびモータに対して初回アクセスをしておく
            body.color.Read();
            body.sonar.Read();
            body.gyro.Read();
            body.motorL.SetPower(0);
            body.motorR.SetPower(0);
            body.motorT.SetPower(0);

            body.motorL.ResetTacho();
            body.motorR.ResetTacho();
            body.motorT.ResetTacho();
            Balancer.init();

            // スタート待ち
            wait_start(body, connection);

            var dialogRun = new InfoDialog("Running", false);

            dialogRun.Show();             //Wait for enter to be pressed

            try{
                run(body, connection);
            }catch (Exception) {
                var dialogE = new InfoDialog("Exception.", false);
                dialogE.Show();                //Wait for enter to be pressed
            }

            body.motorL.Off();
            body.motorR.Off();
            body.motorT.Off();

            // ソケットを閉じる
            if (connection != null)
            {
                connection.Close();
            }

            Lcd.Instance.Clear();
            Lcd.Instance.Update();

            if (Debugger.IsAttached)
            {
                Brick.ExitToMenu();                  // MonoBrickメインメニューへ戻る
            }
        }