Bộ điều khiển#

Giới thiệu#

Lớp controller đại diện cho một bộ điều khiển VEX IQ được kết nối với IQ Brain. Một đối tượng controller có thể được sử dụng để truy cập các giá trị trục cần điều khiển, đọc trạng thái nút, đăng ký các hàm gọi lại của nút hoặc cần điều khiển và kiểm tra xem bộ điều khiển có được kết nối hay không.

Bộ xử lý trung tâm IQ (thế hệ thứ 2) có thể kết nối với bộ điều khiển IQ (thế hệ thứ 2) hoặc IQ (thế hệ thứ nhất). Bộ điều khiển IQ (thế hệ thứ nhất) phải được cài đặt Smart Radio màu xanh lam.

Khi một hoặc nhiều bộ điều khiển được cấu hình trong cửa sổ Thiết bị, VEXcode IQ cũng cung cấp biến toàn cục RemoteControlCodeEnabledBiến này cho phép hoặc vô hiệu hóa các hành động của bộ điều khiển được cấu hình trong menu Thiết bị.

Lớp dẫn xuất#

Lớp điều khiển controller cung cấp các lớp dẫn xuất sau:

  • Axis - Cung cấp quyền truy cập vào các giá trị đầu vào trục cần điều khiển và các sự kiện thay đổi.

  • Button - Cung cấp quyền truy cập vào trạng thái nút và các hàm gọi lại sự kiện nút.

Các hàm tạo#

1 - Tạo bộ điều khiển bằng cách sử dụng loại bộ điều khiển chính. Thường được sử dụng khi chỉ có một bộ điều khiển được kết nối.

controller();

2 - Tạo bộ điều khiển cho loại bộ điều khiển được chỉ định. Được sử dụng khi có hai bộ điều khiển được kết nối.

controller(
    controllerType id );

Các chức năng khả dụng

controller();

controller(controllerType id);

Tham số

Kiểu

Sự miêu tả

id

controllerType

Tùy chọn. Loại bộ điều khiển cần tạo: primary cho bộ điều khiển chính được kết nối với Brain hoặc partner cho bộ điều khiển thứ hai được kết nối với Brain.

Ghi chú

Only one primary controller and one partner controller can be created in a single project.

Ví dụ

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

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

Kẻ hủy diệt#

~bộ điều khiển#

~controller hủy đối tượng bộ điều khiển controller và giải phóng các tài nguyên liên quan.

Chức năng khả dụng

~controller();

Thông số#

Tham số

Kiểu

Sự miêu tả

id

controllerType

Loại bộ điều khiển đang được tạo:

  • primary - Bộ điều khiển chính được kết nối với Não bộ.
  • partner - Bộ điều khiển đối tác (thứ hai) được kết nối với Não bộ.

Ghi chú#

  • Only one primary and one partner controller may exist in a single project.

Ví dụ#

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

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

Lớp điều khiển controller bao gồm hàm thành viên sau:

  • installed - Kiểm tra xem bộ điều khiển có được kết nối với não hay không.

đã cài đặt#

installed trả về trạng thái cho biết bộ điều khiển có được kết nối với Brain hay không.

Chức năng khả dụng

bool installed();

Thông số

Hàm này không có tham số.

Giá trị trả về

Trả về giá trị Boolean.

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

Biến toàn cục#

Mã điều khiển từ xa được kích hoạt#

RemoteControlCodeEnabled cho phép hoặc vô hiệu hóa các hành động của bộ điều khiển được cấu hình trong menu Thiết bị. Các hành động được cấu hình của bộ điều khiển được bật theo mặc định.

Usage:
RemoteControlCodeEnabled = state;

Giá trị

Sự miêu tả

true

Cho phép thực hiện các hành động được cấu hình trên bộ điều khiển.

false

Vô hiệu hóa các hành động được cấu hình trên bộ điều khiển.

Values
  • true - Controller-configured actions are enabled.
  • false - Controller-configured actions are disabled.
Notes
  • Các hành động do bộ điều khiển cấu hình được bật theo mặc định.

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;