競争#
導入#
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 Functionsvoid autonomous( void (* callback)(void) );
名前 |
タイプ |
説明 |
|---|---|---|
|
|
引数を取らず、値を返さない関数へのポインタ。この関数は、自律期間が開始されたときに実行されます。 |
この関数は値を返しません。
Examplesvoid 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 Functionsvoid drivercontrol( void (* callback)(void) );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
引数を取らず、値を返さない関数へのポインタ。この関数は、ドライバ制御期間が開始されたときに実行されます。 |
この関数は値を返しません。
Examplesvoid 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 Functionsbool isEnabled();
この関数は引数を受け付けません。
Return Values自律走行期間またはドライバー制御期間がアクティブかどうかを示すブール値を返します。
true– 自律走行またはドライバー制御期間が有効です。false– どちらの制御期間も有効ではありません。
isDriverControl#
ロボットがドライバー制御モードであるかどうかを示すブール値を返します。
Available Functionsbool isDriverControl();
この関数は引数を受け付けません。
Return Valuesロボットがドライバー制御モードであるかどうかを示すブール値を返します。
true– ロボットはドライバー制御モードです。false– ロボットはドライバー制御モードではありません。
isAutonomous#
ロボットが自律モードであるかどうかを示すブール値を返します。
Available Functionsbool isAutonomous();
この関数は引数を受け付けません。
Return Valuesロボットが自律モードであるかどうかを示すブール値を返します。
true– ロボットは自律モードです。false– ロボットは自律モードではありません。
isCompetitionSwitch#
競技制御スイッチが接続されているかどうかを示すブール値を返します。
Available Functionsbool isCompetitionSwitch();
この関数は引数を受け付けません。
Notesこの機能は、競技制御スイッチが接続されているかどうかを確認します。競技制御スイッチは、V5フィールド制御システムを設置する前に使用します。
競技制御スイッチが接続されているかどうかを示すブール値を返します。
true– 競技制御スイッチが接続されています。false– 競技制御スイッチが接続されていません。
isFieldControl#
フィールドコントローラが接続されているかどうかを示すブール値を返します。
Available Functionsbool isFieldControl();
この関数は引数を受け付けません。
Return Valuesフィールドコントローラが接続されているかどうかを示すブール値を返します。
true– フィールドコントローラが接続されています。false– フィールドコントローラが接続されていません。