Перемикач бампера#

Вступ#

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

Бамперний вимикач VEX EXP — це трипровідний пристрій із широкою чорною основою для підключення до робота та червоною кнопкою зверху.

Конструктор класів#

bumper(
  triport::port &port );

Деструктор класів#

Знищує об’єкт bumper та звільняє пов’язані з ним ресурси.

virtual ~bumper();

Параметри#

Параметр

Тип

Опис

port

triport::port&

3-провідний порт, до якого підключено вимикач Bumper Switch, що записується як Brain.ThreeWirePort.X або ExpanderName.X, де X – літера порту (наприклад, Brain.ThreeWirePort.A або Expander1.A).

Приклад#

// 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 Functions
int32_t pressing();

Parameters

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

Return Values

Повертає значення int32_t , яке вказує, чи натискається вимикач бампера.

  • 1 — Натиснуто кнопку бампера.

  • 0 — Перемикач бампера не натискається.

pressed#

Реєструє функцію, яка викликається при натисканні перемикача Bumper Switch.

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

Parameters

Параметр

Тип

Опис

callback

void (*)(void)

Вказівник на функцію, яка буде викликана при натисканні бампера.

Return Values

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

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 Functions
void released( void (* callback)(void) );

Parameters

Параметр

Тип

Опис

callback

void (*)(void)

Вказівник на функцію, яка буде викликана після звільнення бампера.

Return Values

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

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);
}