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