Ось#

Введение#

Класс axis является производным классом от класса controller. Он предоставляет доступ к значениям осей джойстика контроллера и функциям обратного вызова для изменения значений осей джойстика.

Доступ к объекту с осью axis осуществляется через объект контроллера controller . Он не создается напрямую.

Контроллер IQ 2-го поколения с выделенными четырьмя осями джойстика. На левом джойстике ось 3 вертикальная, а ось 4 горизонтальная. На правом джойстике ось 1 горизонтальная, а ось 2 вертикальная.

Доступ#

Класс контроллера controller осей. Каждый объект является экземпляром класса оси axis.

Объект оси

Пример использования

Описание

Axis1

Controller.Axis1.position()

Горизонтальная ось правого джойстика.

Axis2

Controller.Axis2.position()

Вертикальная ось правого джойстика.

Axis3

Controller.Axis3.position()

Вертикальная ось левого джойстика.

Axis4

Controller.Axis4.position()

Горизонтальная ось левого джойстика.

Примечания#

  • Перед использованием функции-члена с осью axis создайте объект контроллера controller.

  • position возвращает значение от -100 до 100.

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

Функции участников#

Класс axis включает следующие функции-члены:

Геттер — Считывает положение оси джойстика.

  • position — Возвращает положение оси джойстика.

Обратный вызов — Выполняет функцию при изменении положения джойстика вдоль оси.

  • changed — Выполняет функцию при изменении положения джойстика вдоль этой оси.

Геттер#

position#

position возвращает положение оси джойстика в виде значения от -100 до 100.

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

int32_t position(percentUnits units = percentUnits::pct) const;

Параметр

Тип

Описание

units

percentUnits

Необязательный параметр. Единица измерения, используемая для возвращаемого значения оси. Значение по умолчанию — percentUnits::pct.

Возвращаемая стоимость

Возвращает значение int32_t от -100 до 100.

  • 100 — Ось джойстика полностью перемещена в положительном направлении.

  • 0 — Ось джойстика находится в центре.

  • -100 — Ось джойстика полностью перемещена в отрицательном направлении.

Пример

// Turn with the left joystick
while (true) {
  if (Controller.Axis4.position() > 10) {
    Drivetrain.turn(right);
  }
  else if (Controller.Axis4.position() < -10) {
    Drivetrain.turn(left);
  }
  else {
    Drivetrain.stop();
  }

  wait(20, msec);
}

Перезвонить#

changed#

changed запускает функцию при изменении положения джойстика вдоль этой оси.

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

void changed(void (* callback)(void)) const;

Параметр

Тип

Описание

callback

void (*)(void)

Функция, которая будет выполняться каждый раз при изменении положения джойстика вдоль данной оси.

Возвращаемая стоимость

Эта функция не возвращает значения.

Пример

Определите функцию обратного вызова вне блока main.

// Play a sound when the left joystick moves
void playSound() {
  Brain.playSound(siren);
}

Зарегистрируйте функцию обратного вызова внутри main.

int main() {
  vexcodeInit();

  // Run playSound when the joystick's position changes along Axis4
  Controller.Axis4.changed(playSound);
}