競争#

導入#

competition クラスは、公式競技制御用の V5 プロジェクトを構成するのに役立ちます。自律制御およびドライバー制御中に実行する関数を登録でき、試合状態(有効/無効、自律/ドライバー、フィールド制御など)に応じてコードが応答できるように、シンプルなステータスチェックを提供します。

クラスコンストラクタ#

competition();

クラスデストラクタ#

competition オブジェクトを破棄し、関連するリソースを解放します。

~competition();

パラメータ#

このコンストラクタはパラメータを受け付けません。

例#

// Create the competition instance
competition Competition = competition();

メンバーの機能#

competition クラスには、以下のメンバ関数が含まれています。

  • autonomous — 自律期間が開始されたときに呼び出される関数を登録します。

  • drivercontrol — ドライバー制御期間が開始されたときに呼び出される関数を登録します。

  • isEnabled — 競技制御下にあるときのロボットの状態を返します。

  • isDriverControl — ロボットの状態がドライバー制御であるかどうかを返します。

  • isAutonomous — ロボットの状態が自律的かどうかを返します。

  • isCompetitionSwitch — 競技スイッチが接続されているかどうかを返します。

  • isFieldControl — フィールド コントロールが接続されているかどうかを返します。

competition メンバー関数を呼び出す前に、以下に示すように competition インスタンスを作成する必要があります。

// Create the competition instance
competition Competition = competition();

autonomous#

自律期間が開始されたときに呼び出される関数を登録します。

Available Functions
void autonomous( void (* callback)(void) );

Parameters

名前

タイプ

説明

callback

void (*)(void)

引数を取らず、値を返さない関数へのポインタ。この関数は、自律期間が開始されたときに実行されます。

Return Values

この関数は値を返しません。

Examples
void autonomousControl(void) {
  // Place automonous code here.
  Brain.Screen.clearScreen();
  Brain.Screen.print("autonomous");
}

int main(){
    // Create competition instance.
    competition Competition;

    // Set up callback for the autonomous control period.
    Competition.autonomous(autonomousControl);

    // Prevent main from exiting with an infinite loop.
    while (true) {
        wait(100, msec);
    }
}

drivercontrol#

ドライバ制御期間が開始されたときに呼び出される関数を登録します。

Available Functions
void drivercontrol( void (* callback)(void) );

Parameters

パラメータ

タイプ

説明

callback

void (*)(void)

引数を取らず、値を返さない関数へのポインタ。この関数は、ドライバ制御期間が開始されたときに実行されます。

Return Values

この関数は値を返しません。

Examples
void userControl(void) {
  Brain.Screen.clearScreen();
  // place driver control in this while loop
  while (true) {
    wait(20, msec);
  }
}

int main(){
    // Create competition instance.
    competition Competition;

    // Set up callback for the driver control period.
    Competition.drivercontrol(userControl);

    // Prevent main from exiting with an infinite loop.
    while (true) {
        wait(100, msec);
    }
}

isEnabled#

競技制御下にあるロボットの状態を返します。

Available Functions
bool isEnabled();

Parameters

この関数は引数を受け付けません。

Return Values

自律走行期間またはドライバー制御期間がアクティブかどうかを示すブール値を返します。

  • true – 自律走行またはドライバー制御期間が有効です。

  • false – どちらの制御期間も有効ではありません。

isDriverControl#

ロボットがドライバー制御モードであるかどうかを示すブール値を返します。

Available Functions
bool isDriverControl();

Parameters

この関数は引数を受け付けません。

Return Values

ロボットがドライバー制御モードであるかどうかを示すブール値を返します。

  • true – ロボットはドライバー制御モードです。

  • false – ロボットはドライバー制御モードではありません。

isAutonomous#

ロボットが自律モードであるかどうかを示すブール値を返します。

Available Functions
bool isAutonomous();

Parameters

この関数は引数を受け付けません。

Return Values

ロボットが自律モードであるかどうかを示すブール値を返します。

  • true – ロボットは自律モードです。

  • false – ロボットは自律モードではありません。

isCompetitionSwitch#

競技制御スイッチが接続されているかどうかを示すブール値を返します。

Available Functions
bool isCompetitionSwitch();

Parameters

この関数は引数を受け付けません。

Notes
  • この機能は、競技制御スイッチが接続されているかどうかを確認します。競技制御スイッチは、V5フィールド制御システムを設置する前に使用します。

Return Values

競技制御スイッチが接続されているかどうかを示すブール値を返します。

  • true – 競技制御スイッチが接続されています。

  • false – 競技制御スイッチが接続されていません。

isFieldControl#

フィールドコントローラが接続されているかどうかを示すブール値を返します。

Available Functions
bool isFieldControl();

Parameters

この関数は引数を受け付けません。

Return Values

フィールドコントローラが接続されているかどうかを示すブール値を返します。

  • true – フィールドコントローラが接続されています。

  • false – フィールドコントローラが接続されていません。