Trục#

Giới thiệu#

Lớp trục axis là một lớp dẫn xuất của lớp controller. Nó cung cấp quyền truy cập vào các giá trị trục cần điều khiển của Bộ điều khiển và các hàm gọi lại thay đổi trục cần điều khiển.

Một đối tượng trục axis được truy cập thông qua một đối tượng bộ điều khiển controller Nó không được tạo trực tiếp.

Bộ điều khiển VEX V5 với các trục xung quanh cần điều khiển được dán nhãn. Trục 1 và 2 nằm xung quanh cần điều khiển bên phải, và Trục 3 và 4 nằm xung quanh cần điều khiển bên trái.

Truy cập#

Lớp điều khiển controller cung cấp các đối tượng trục sau. Mỗi đối tượng là một thể hiện của lớp trục axis.

Đối tượng trục

Ví dụ sử dụng

Sự miêu tả

Axis1

Controller.Axis1.position()

Trục ngang của cần điều khiển bên phải.

Axis2

Controller.Axis2.position()

Trục dọc của cần điều khiển bên phải.

Axis3

Controller.Axis3.position()

Trục dọc của cần điều khiển bên trái.

Axis4

Controller.Axis4.position()

Trục ngang của cần điều khiển bên trái.

Ghi chú#

  • Trước khi sử dụng hàm thành viên trục axis , hãy tạo đối tượng bộ điều khiển controller.

  • Vị trí position trả về giá trị từ -100 đến 100.

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

Chức năng thành viên#

Lớp trục axis bao gồm các hàm thành viên sau:

Getter — Đọc vị trí trục cần điều khiển.

  • position — Trả về vị trí của trục cần điều khiển.

Hàm gọi lại — Thực thi một hàm khi vị trí của cần điều khiển thay đổi dọc theo một trục.

  • changed — Chạy một hàm khi vị trí của cần điều khiển thay đổi dọc theo trục đó.

Người nhận#

chức vụ#

position trả về vị trí của trục cần điều khiển dưới dạng giá trị từ -100 đến 100.

Chức năng khả dụng

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

Tham số

Kiểu

Sự miêu tả

units

percentUnits

Tùy chọn. Đơn vị được sử dụng cho giá trị trục trả về. Mặc định là percentUnits::pct.

Giá trị trả về

Trả về giá trị int32_t từ -100 đến 100.

  • 100 — Trục cần điều khiển được di chuyển hoàn toàn theo hướng dương.

  • 0 — Trục cần điều khiển ở vị trí trung tâm.

  • -100 — Trục cần điều khiển được di chuyển hoàn toàn theo hướng âm.

Ví dụ

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

Gọi lại#

đã thay đổi#

changed sẽ chạy một hàm khi vị trí của cần điều khiển thay đổi dọc theo trục đó.

Chức năng khả dụng

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

Tham số

Kiểu

Sự miêu tả

callback

void (*)(void)

Một hàm sẽ được chạy mỗi khi vị trí của cần điều khiển thay đổi dọc theo trục đó.

Giá trị trả về

Hàm này không trả về giá trị nào.

Ví dụ

Xác định hàm gọi lại bên ngoài main.

// Rumble when the left joystick moves
void controllerRumble() {
  Controller.rumble(".");
}

Đăng ký hàm gọi lại bên trong main.

int main() {
  vexcodeInit();

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