Кінцевий вимикач#

Вступ#

Клас limit використовується з граничним вимикачем, невеликим цифровим датчиком, який виявляє фізичний контакт з об’єктом.

Кінцевий вимикач VEX EXP.

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

limit(
  triport::port &port);

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

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

virtual ~limit();

Параметри#

Параметр

Тип

Опис

port

triport::port &

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

Приклад#

// Create a limit instance in Port A
limit LimitSwitchA = limit(Brain.ThreeWirePort.A);

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

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

  • pressing – Повертає, чи натискається кінцевий вимикач.

  • pressed – Реєструє функцію, яка викликається щоразу, коли натискається граничний вимикач.

  • released – Реєструє функцію, яка викликається щоразу, коли кінцевий вимикач відпускається.

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

/* This constructor is required when using VS Code.
Limit Switch configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create a limit instance in Port A
limit LimitSwitchA = limit(Brain.ThreeWirePort.A);

pressing#

Повертає, чи натиснуто кінцевий вимикач. Це можна використовувати для перевірки, чи стикається робот з іншими об’єктами.

Available Functions
int32_t pressing();

Parameters

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

Return Values

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

  • 1 — Натиснуто кінцевий вимикач.

  • 0 — Кінцевий вимикач не натискається.

pressed#

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

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

Parameters

Параметр

Тип

Опис

callback

void (*)(void)

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

Return Values

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

Examples

Визначити функцію зворотного виклику (поза int main())

void switchPressed() {
  // The Brain will print that the Limit Switch was pressed
  // on the Brain's screen.
  Brain.Screen.print("switch pressed");
}

Зареєструйте зворотний виклик всередині int main()

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Run switchPressed when the Limit Switch is pressed.
  LimitSwitchA.pressed(switchPressed);
}

released#

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

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

Parameters

Параметр

Тип

Опис

callback

void (*)(void)

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

Return Values

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

Examples

Визначити функцію зворотного виклику (поза int main())

void switchReleased() {
  // The Brain will print that the Limit Switch was released
  // on the Brain's screen.
  Brain.Screen.print("switch released");
}

Зареєструйте зворотний виклик всередині int main()

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Run switchReleased when the Limit Switch is released.
  LimitSwitchA.released(switchReleased);
}