Соревнование#

Введение#

Класс 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 – Полевой контроллер не подключен.