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 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.

Mặt trước của Bộ điều khiển EXP với các số trục cần điều khiển được tô sáng màu đỏ. Trên bề mặt của bộ điều khiển, cần điều khiển bên trái được dán nhãn là Trục 4 cho chuyển động trái và phải và Trục 3 cho chuyển động lên và xuống, trong khi cần điều khiển bên phải được dán nhãn là Trục 1 cho chuyển động trái và phải và Trục 2 cho chuyển động lên và xuống.

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#

position#

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#

changed#

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