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メインメニューへ戻る } }
const int PWM_ABS_MAX = 60; //完全停止用モータ制御PWM絶対最大値 public static void Main() { // 構造体の宣言と初期化 var body = new EV3body(); EV3body.init(ref body); // Bluetooth関係のETロボコン拡張機能を有効にする Brick.InstallETRoboExt(); // センサーおよびモータに対して初回アクセスをしておく body.color.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); try{ run(body); }catch (Exception) { var dialogE = new InfoDialog("Exception."); dialogE.Show(); //Wait for enter to be pressed } body.motorL.Off(); body.motorR.Off(); body.motorT.Off(); Lcd.Clear(); Lcd.Update(); if (Debugger.IsAttached) { Brick.ExitToMenu(); // MonoBrickメインメニューへ戻る } }