Контролер#
Вступ#
Клас controller представляє контролер VEX V5, підключений до V5 Brain. Об’єкт controller може використовуватися для доступу до значень осі джойстика, зчитування станів кнопок, реєстрації зворотних викликів кнопок або джойстика, створення гудіння контролера, запису на екран контролера та перевірки підключення контролера.
VEX V5 сумісний з контролером EXP. Див. API контролера EXP для отримання додаткової інформації.
Коли у вікні «Пристрої» налаштовано один або декілька контролерів, VEXcode V5 також надає значення RemoteControlCodeEnabledЦя глобальна змінна вмикає або вимикає дії контролера, налаштовані в меню «Пристрої».
Похідні класи#
Клас controller надає такі похідні класи:
Конструктори#
1 - Створює контролер, використовуючи тип основного контролера. Зазвичай використовується, коли підключено один контролер.
controller();
2 - Створює контролер для вказаного типу контролера. Використовується, коли підключено два контролери.
controller( controllerType id );
Доступні функції
controller();
controller(controllerType id);
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Необов’язково. Тип контролера для створення: |
Примітки
В одному проєкті можна створити лише одного основного контролера primary та одного партнерського контролера partner.
Приклад
// Create the primary Controller
controller Controller1 = controller();
// Create a partner Controller
controller Controller2 = controller(partner);
Деструктор#
~контролер#
~controller знищує об’єкт контролера controller ресурси.
Доступна функція
~controller();
Параметри#
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Тип створюваного контролера:
|
Нотатки#
В одному проєкті може існувати лише один
primaryта одинpartnerконтролер.
Приклад#
// Create a V5 controller instance
controller Controller = controller();
Функції-члени#
Клас controller містить такі функції-члени:
rumble– Гуркіт контролера за допомогою шаблону.installed- Перевіряє, чи контролер підключений до мозку.
гуркіт#
rumble змушує контролер вібрувати за певним вібраційним шаблоном. У рядку шаблону крапки – це короткі вібрації, тире – довгі вібрації, а пробіли – паузи.
Доступна функція
void rumble(const char *str);
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Рядок, що складається з крапок, тире та пробілів, що представляють візерунок гриму. |
Повернене значення
Ця функція не повертає значення.
Приклад
// Rumble with a short-short-long pattern
Controller1.rumble("..-");
Геттер#
встановлено#
installed повертає, чи підключено контролер до мозку.
Доступна функція
bool installed();
Параметри
Ця функція не має параметрів.
Повернене значення
Повертає логічне значення.
true- The controller is installed/connected.false- The controller is not installed/connected.
Глобальні змінні#
Код віддаленого керування увімкнено#
RemoteControlCodeEnabled вмикає або вимикає дії контролера, налаштовані в меню «Пристрої». Дії, налаштовані контролером, увімкнено за замовчуванням.
Usage:
RemoteControlCodeEnabled = state;
Значення |
Опис |
|---|---|
|
Вмикає дії, налаштовані контролером. |
|
Вимикає дії, налаштовані контролером. |
true- Controller-configured actions are enabled.false- Controller-configured actions are disabled.
Дії, налаштовані контролером, увімкнено за замовчуванням.
// Drive forward or backward using the left joystick
RemoteControlCodeEnabled = false;
while (true) {
if (Controller1.Axis3.position() > 0) {
Drivetrain.drive(forward);
}
else if (Controller1.Axis3.position() < 0) {
Drivetrain.drive(reverse);
}
// Press A to use Controller configured actions again
else if (Controller1.ButtonA.pressing()) {
break;
}
else {
Drivetrain.stop();
}
wait(20, msec);
}
RemoteControlCodeEnabled = true;