競賽#

介紹#

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 – 現場控制器未連接。