Кнопка#

Вступ#

Клас button походить від базового класу brain і надає доступ до кнопок IQ (1-го покоління) Brain, дозволяючи вашому роботу відстежувати натискання кнопок мозку.

Доступ#

Клас brain надає дванадцять об’єктів button. Кожен об’єкт є екземпляром класу button і доступ до нього можна отримати через екземпляр brain.

Об’єкт

Приклад використання

Опис

buttonCheck

Brain.buttonCheck.pressing()

Кнопка перевірки

buttonLeft

Brain.buttonLeft.pressing()

Ліва кнопка

buttonRight

Brain.buttonRight.pressing()

Права кнопка

Нотатки#

  • Об’єкт кнопки button надається мозком. Він не конструюється безпосередньо.

Функції-члени#

Клас Button містить такі функції-члени:

  • pressed — Реєструє функцію, яка викликається при натисканні вказаної кнопки.

  • released — Реєструє функцію, яка викликається при відпусканні вказаної кнопки.

  • pressing — Повертає, чи натискається зазначена кнопка.

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

// Create a brain instance
brain();

pressed#

Реєструє функцію зворотного виклику, яка виконується при натисканні певної кнопки мозку.

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

Parameters

Параметр

Тип

Опис

callback

void (*)(void)

Функція, яка викликається при натисканні вказаної кнопки.

Return Values

Ця функція не повертає значення.

Examples

Цю функцію можна викликати для будь-якого об’єкта кнопки мозку, наприклад:

  • Brain.buttonCheck
  • Brain.buttonLeft
  • Brain.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 Functions
void released( 
  void (* callback)(void) ) const;

Parameters

Параметр

Тип

Опис

callback

void (*)(void)

Функція, яка викликається, коли зазначену кнопку відпускають.

Return Values

Ця функція не повертає значення.

Examples

Цю функцію можна викликати для будь-якого об’єкта кнопки мозку, наприклад:

  • Brain.buttonCheck
  • Brain.buttonLeft
  • Brain.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 Functions
bool pressing() const;

Parameters

Ця функція не приймає жодних параметрів.

Return Values

Повертає логічне значення, яке вказує, чи натискається вказана кнопка:

  • true — Кнопка натискається.

  • false — Кнопка не натискається.

Examples

Цю функцію можна викликати для будь-якого об’єкта кнопки мозку, наприклад:

  • Brain.buttonCheck
  • Brain.buttonLeft
  • Brain.buttonRight
// Turn right while right is pressed
while (true) {
    if (Brain.buttonRight.pressing()) {
        Drivetrain.turn(right);
    } else {
        Drivetrain.stop();
    }
    wait(5, msec);
}