Контролер#

Вступ#

Клас controller представляє контролер VEX IQ, підключений до IQ Brain. Об’єкт controller може використовуватися для доступу до значень осі джойстика, зчитування станів кнопок, реєстрації зворотних викликів кнопок або джойстика та перевірки підключення контролера.

IQ Brain (2-го покоління) може підключатися до контролера IQ (2-го покоління) або IQ (1-го покоління). На контролері IQ (1-го покоління) має бути встановлено синій Smart Radio.

Коли у вікні «Пристрої» налаштовано один або декілька контролерів, VEXcode IQ також надає значення RemoteControlCodeEnabledЦя глобальна змінна вмикає або вимикає дії контролера, налаштовані в меню «Пристрої».

Похідні класи#

Клас controller надає такі похідні класи:

  • Axis – Надає доступ до вхідних значень осі джойстика та подій зміни.

  • Button – Надає доступ до зворотних викликів стану кнопки та подій кнопки.

Конструктори#

1 - Створює контролер, використовуючи тип основного контролера. Зазвичай використовується, коли підключено один контролер.

controller();

2 - Створює контролер для вказаного типу контролера. Використовується, коли підключено два контролери.

controller(
    controllerType id );

Доступні функції

controller();

controller(controllerType id);

Параметр

Тип

Опис

id

controllerType

Необов’язково. Тип контролера для створення: primary для основного контролера, підключеного до Brain, або partner для другого контролера, підключеного до Brain.

Примітки

В одному проєкті можна створити лише один primary контролер та один partner контролер.

Приклад

// Create the primary controller
controller Controller1 = controller();

// Create a partner controller
controller Controller2 = controller(partner);

Деструктор#

~контролер#

~controller знищує об’єкт контролера controller ресурси.

Доступна функція

~controller();

Параметри#

Параметр

Тип

Опис

id

controllerType

Тип створюваного контролера:

  • primary – Первинний контролер, підключений до мозку.
  • partner – Партнерський (другий) контролер, підключений до мозку.

Нотатки#

  • В одному проєкті може існувати лише один primary та один partner контролер.

Приклад#

// Create a controller instance
controller Controller = controller();

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

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

  • installed - Перевіряє, чи контролер підключений до мозку.

встановлено#

installed повертає, чи підключено контролер до Brain.

Доступна функція

bool installed();

Параметри

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

Повернене значення

Повертає логічне значення.

  • true - The controller is installed/connected.
  • false - The controller is not installed/connected.

Глобальні змінні#

Код віддаленого керування увімкнено#

RemoteControlCodeEnabled вмикає або вимикає дії контролера, налаштовані в меню «Пристрої». Дії, налаштовані контролером, увімкнено за замовчуванням.

Usage:
RemoteControlCodeEnabled = state;

Значення

Опис

true

Вмикає дії, налаштовані контролером.

false

Вимикає дії, налаштовані контролером.

Values
  • true - Controller-configured actions are enabled.
  • false - Controller-configured actions are disabled.
Notes
  • Дії, налаштовані контролером, увімкнено за замовчуванням.

Examples
// Drive forward or backward using the left joystick
RemoteControlCodeEnabled = false;

while (true) {
  if (Controller1.AxisA.position() > 0) {
    Drivetrain.drive(forward);
  }
  else if (Controller1.AxisA.position() < 0) {
    Drivetrain.drive(reverse);
  }
  // Press E Up to use controller configured actions again
  else if (Controller1.ButtonEUp.pressing()) {
    break;
  }
  else {
    Drivetrain.stop();
  }

  wait(20, msec);
}

RemoteControlCodeEnabled = true;