Переключатель бампера#
Введение#
Бампер класса bumper используется с переключателем бампера (Bumper Switch), механическим переключателем, который замыкает цепь при нажатии, позволяя роботу распознавать нажатия и отпускания.

Конструктор класса#
bumper(
triport::port &port );
Деструктор класса#
Уничтожает объект bumper и освобождает связанные с ним ресурсы.
virtual ~bumper();
Параметры#
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Трехпроводной порт, к которому подключен бамперный переключатель, обозначается как |
Пример#
// Create a bumper instance in Port A
bumper BumperA = bumper(Brain.ThreeWirePort.A);
Функции участников#
Класс 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 A
bumper BumperA = bumper(Brain.ThreeWirePort.A);
pressing#
Возвращает значение, указывающее, нажата ли в данный момент кнопка бампера. Это можно использовать для проверки того, столкнулся ли робот с другими объектами.
Available Functionsint32_t pressing();
Эта функция не принимает никаких параметров.
Return ValuesВозвращает значение int32_t , указывающее, нажата ли кнопка бампера.
1— Нажата кнопка «Выключатель бампера».0— Кнопка «Бамперный выключатель» не нажата.
pressed#
Регистрирует функцию, которая будет вызываться при нажатии на бамперный переключатель.
Available Functionsvoid pressed( void (* callback)(void) );
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Указатель на функцию, которая будет вызвана при нажатии на бампер. |
Эта функция не возвращает значения.
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. BumperA.pressed(BumperPressed); }
released#
Регистрирует функцию, которая будет вызвана при отпускании бамперного переключателя.
Available Functionsvoid released( void (* callback)(void) );
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Указатель на функцию, которая будет вызвана при отпускании бампера. |
Эта функция не возвращает значения.
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. BumperA.released(BumperReleased); }