Перемикач бампера#
Вступ#
Клас bumper використовується з Bumper Switch, механічним перемикачем, який замикає ланцюг при натисканні, дозволяючи роботу виявляти натискання та відпускання.

Конструктор класів#
bumper(
triport::port &port );
Деструктор класів#
Знищує об’єкт bumper та звільняє пов’язані з ним ресурси.
virtual ~bumper();
Параметри#
Параметр |
Тип |
Опис |
|---|---|---|
|
|
3-провідний порт, до якого підключено вимикач Bumper Switch, що записується як |
Приклад#
// Create a bumper instance in Port A
bumper BumperA = bumper(Brain.ThreeWirePort.A);
Функції-члени#
Клас bumper містить такі функції-члени:
pressing— Повертає, чи натискається перемикач бампера.pressed— Реєструє функцію, яка викликається при натисканні перемикача Bumper.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#
Повертає, чи натиснуто в даний момент кнопку Bumper Switch. Це можна використовувати для перевірки, чи робот стикається з іншими об’єктами.
Available Functionsint32_t pressing();
Ця функція не приймає жодних параметрів.
Return ValuesПовертає значення int32_t , яке вказує, чи натискається вимикач бампера.
1— Натиснуто кнопку бампера.0— Перемикач бампера не натискається.
pressed#
Реєструє функцію, яка викликається при натисканні перемикача Bumper Switch.
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); }