Переключатель бампера#

Введение#

Класс bumper используется для определения момента нажатия и отпускания переключателя бампера.

Конструктор класса#

bumper( 
  int32_t index );

Деструктор класса#

Уничтожает объект bumper и освобождает связанные с ним ресурсы.

virtual ~bumper();

Параметры#

Параметр

Тип

Описание

index

int32_t

Интеллектуальный порт, к которому подключен бамперный переключатель, обозначается как PORTx, где x — номер порта (например, PORT1).

Пример#

// Create a bumper instance in Port 1
bumper Bumper1 = bumper(PORT1);

Функции участников#

Класс bumper включает следующие функции-члены:

  • pressing — Возвращает значение, если нажата кнопка бампера.

  • pressed — Регистрирует функцию, которая будет вызываться при нажатии бамперного переключателя.

  • released — Регистрирует функцию, которая будет вызвана при отпускании бамперного переключателя.

Перед вызовом любых функций-членов bumper необходимо создать экземпляр bumper , как показано ниже:

/* This constructor is required when using VS Code.
Bumper Switch configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create a bumper instance in Port 1
bumper Bumper1 = bumper(PORT1);

pressing#

Возвращает значение, если в данный момент нажата кнопка Bumper Switch.

Available Functions
int32_t pressing();

Parameters

Эта функция не принимает никаких параметров.

Return Values

Возвращает значение int32_t , указывающее, нажата ли кнопка бампера.

  • 1 — Нажата кнопка «Выключатель бампера».

  • 0 — Кнопка «Бамперный выключатель» не нажата.

pressed#

Регистрирует функцию, которая будет вызываться при нажатии на бамперный переключатель.

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

Parameters

Параметр

Тип

Описание

callback

void (*)(void)

Указатель на функцию, которая будет вызвана при нажатии на бампер. Функция не должна принимать параметров и возвращать значение void.

Return Values

Эта функция не возвращает значения.

Examples

Определите функцию обратного вызова (вне int main())

// Display a message when bumper is pressed
void BumperPressed() {
  Brain.Screen.print("Bumper pressed");
}

Зарегистрируйте функцию обратного вызова внутри int main()

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Run BumperPressed when the value of the Bumper Switch is pressed.
  Bumper1.pressed(BumperPressed);
}

released#

Регистрирует функцию, которая будет вызвана при отпускании бамперного переключателя.

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

Parameters

Параметр

Тип

Описание

callback

void (*)(void)

Указатель на функцию, которая будет вызвана при отпускании бампера. Функция не должна принимать параметров и возвращать значение void.

Return Values

Эта функция не возвращает значения.

Examples

Определите функцию обратного вызова (вне int main())

// Display a message when bumper is released
void BumperReleased() {
  Brain.Screen.print("Bumper released");
}

Зарегистрируйте функцию обратного вызова внутри int main()

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Run BumperReleased when the value of the Bumper Switch is released.
  Bumper1.released(BumperReleased);
}