競賽#
介紹#
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– 現場控制器未連接。