Кнопка#
Вступ#
Клас button походить від базового класу brain і надає доступ до кнопок IQ (1-го покоління) Brain, дозволяючи вашому роботу відстежувати натискання кнопок мозку.
Доступ#
Клас brain надає дванадцять об’єктів button. Кожен об’єкт є екземпляром класу button і доступ до нього можна отримати через екземпляр brain.
Об’єкт |
Приклад використання |
Опис |
|---|---|---|
|
|
Кнопка перевірки |
|
|
Ліва кнопка |
|
|
Права кнопка |
Нотатки#
Об’єкт кнопки
buttonнадається мозком. Він не конструюється безпосередньо.
Функції-члени#
Клас Button містить такі функції-члени:
pressed— Реєструє функцію, яка викликається при натисканні вказаної кнопки.released— Реєструє функцію, яка викликається при відпусканні вказаної кнопки.pressing— Повертає, чи натискається зазначена кнопка.
Перед викликом будь-яких функцій-членів button необхідно створити екземпляр brain , як показано нижче:
// Create a brain instance
brain();
pressed#
Реєструє функцію зворотного виклику, яка виконується при натисканні певної кнопки мозку.
Available Functionsvoid pressed(
void (* callback)(void) ) const;
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Функція, яка викликається при натисканні вказаної кнопки. |
Ця функція не повертає значення.
ExamplesЦю функцію можна викликати для будь-якого об’єкта кнопки мозку, наприклад:
Brain.buttonCheckBrain.buttonLeftBrain.buttonRight
Визначити функцію зворотного виклику (поза
int main())// Drive forward when check is pressed void driveForward() { Drivetrain.driveFor(forward, 100, mm); }Зареєструйте зворотний виклик всередині
int main()int main() { /* vexcodeInit() is only required when using VEXcode. Remove vexcodeInit() if compiling in VS Code. */ vexcodeInit(); // Call driveForward when the check button is pressed Brain.buttonCheck.pressed(driveForward); }
released#
Реєструє функцію зворотного виклику, яка виконується, коли відпускається певна кнопка мозку.
Available Functionsvoid released(
void (* callback)(void) ) const;
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Функція, яка викликається, коли зазначену кнопку відпускають. |
Ця функція не повертає значення.
ExamplesЦю функцію можна викликати для будь-якого об’єкта кнопки мозку, наприклад:
Brain.buttonCheckBrain.buttonLeftBrain.buttonRight
Визначити функцію зворотного виклику (поза
int main())// Drive backward when the left button is released void backUp() { Drivetrain.driveFor(reverse, 100, mm); }Зареєструйте зворотний виклик всередині
int main()int main() { /* vexcodeInit() is only required when using VEXcode. Remove vexcodeInit() if compiling in VS Code. */ vexcodeInit(); // Call backUp when the left button is released Brain.buttonLeft.released(backUp); }
pressing#
Повертає, чи натиснуто певну кнопку мозку в даний момент.
Available Functionsbool pressing() const;
Ця функція не приймає жодних параметрів.
Return ValuesПовертає логічне значення, яке вказує, чи натискається вказана кнопка:
true— Кнопка натискається.false— Кнопка не натискається.
Цю функцію можна викликати для будь-якого об’єкта кнопки мозку, наприклад:
Brain.buttonCheckBrain.buttonLeftBrain.buttonRight
// Turn right while right is pressed
while (true) {
if (Brain.buttonRight.pressing()) {
Drivetrain.turn(right);
} else {
Drivetrain.stop();
}
wait(5, msec);
}