Cuộc thi#

Giới thiệu#

Lớp competition giúp bạn cấu trúc một dự án V5 để điều khiển chính thức trong cuộc thi. Nó cho phép bạn đăng ký các hàm để chạy trong Chế độ Tự hành và Điều khiển bằng Người lái, đồng thời cung cấp các kiểm tra trạng thái đơn giản để mã của bạn có thể phản hồi phù hợp với trạng thái (đã bật/tắt, tự hành/điều khiển bằng người lái, điều khiển tại hiện trường, v.v.).

Hàm tạo lớp#

competition();

Lớp Destructor#

Phá hủy đối tượng competition và giải phóng các tài nguyên liên quan.

~competition();

Thông số#

Hàm khởi tạo này không chấp nhận bất kỳ tham số nào.

Ví dụ#

// Create the competition instance
competition Competition = competition();

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

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

  • autonomous — Đăng ký một hàm sẽ được gọi khi giai đoạn Tự trị bắt đầu.

  • drivercontrol — Đăng ký một hàm sẽ được gọi khi giai đoạn Điều khiển Trình điều khiển bắt đầu.

  • isEnabled — Trả về trạng thái của robot của bạn khi đang được điều khiển trong cuộc thi.

  • isDriverControl — Trả về trạng thái của robot có phải là điều khiển của người lái hay không.

  • isAutonomous — Trả về trạng thái của robot có tự động hay không.

  • isCompetitionSwitch — Trả về trạng thái kết nối của công tắc cạnh tranh.

  • isFieldControl — Trả về trạng thái kết nối của điều khiển trường.

Before calling any competition member functions, a competition instance must be created, as shown below:

// Create the competition instance
competition Competition = competition();

autonomous#

Đăng ký một hàm sẽ được gọi khi giai đoạn Tự trị bắt đầu.

Available Functions
void autonomous( void (* callback)(void) );

Parameters

Tên

Kiểu

Sự miêu tả

callback

void (*)(void)

Con trỏ đến một hàm không có tham số và không trả về giá trị nào. Hàm này sẽ được chạy khi giai đoạn Tự trị bắt đầu.

Return Values

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

Examples
void autonomousControl(void) {
  // Place automonous code here.
  Brain.Screen.clearScreen();
  Brain.Screen.print("autonomous");
}

int main(){
    // Create competition instance.
    competition Competition;

    // Set up callback for the autonomous control period.
    Competition.autonomous(autonomousControl);

    // Prevent main from exiting with an infinite loop.
    while (true) {
        wait(100, msec);
    }
}

drivercontrol#

Đăng ký một hàm sẽ được gọi khi giai đoạn Điều khiển Trình điều khiển bắt đầu.

Available Functions
void drivercontrol( void (* callback)(void) );

Parameters

Tham số

Kiểu

Sự miêu tả

callback

void (*)(void)

Con trỏ đến một hàm không có tham số và không trả về giá trị nào. Hàm này sẽ được chạy khi giai đoạn Điều khiển Trình điều khiển bắt đầu.

Return Values

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

Examples
void userControl(void) {
  Brain.Screen.clearScreen();
  // place driver control in this while loop
  while (true) {
    wait(20, msec);
  }
}

int main(){
    // Create competition instance.
    competition Competition;

    // Set up callback for the driver control period.
    Competition.drivercontrol(userControl);

    // Prevent main from exiting with an infinite loop.
    while (true) {
        wait(100, msec);
    }
}

isEnabled#

Trả về trạng thái của robot khi đang trong chế độ điều khiển thi đấu.

Available Functions
bool isEnabled();

Parameters

Hàm này không chấp nhận bất kỳ tham số nào.

Return Values

Trả về giá trị Boolean cho biết chế độ điều khiển tự động hay điều khiển bằng tay đang được kích hoạt:

  • true – Chế độ lái tự động hoặc điều khiển bằng tay đang hoạt động.

  • false – Không có giai đoạn kiểm soát nào đang hoạt động.

isDriverControl#

Trả về giá trị Boolean cho biết robot có đang ở chế độ điều khiển của người lái hay không.

Available Functions
bool isDriverControl();

Parameters

Hàm này không chấp nhận bất kỳ tham số nào.

Return Values

Trả về giá trị Boolean cho biết robot có đang ở chế độ điều khiển bởi người lái hay không:

  • true – Robot đang ở chế độ điều khiển của người lái.

  • false – Robot không ở chế độ điều khiển của người lái.

isAutonomous#

Trả về giá trị Boolean cho biết robot có đang ở chế độ tự hành hay không.

Available Functions
bool isAutonomous();

Parameters

Hàm này không chấp nhận bất kỳ tham số nào.

Return Values

Trả về giá trị Boolean cho biết robot có đang ở chế độ tự hành hay không:

  • true – Robot đang ở chế độ tự hành.

  • false – Robot không ở chế độ tự hành.

isCompetitionSwitch#

Trả về giá trị Boolean cho biết công tắc điều khiển cuộc thi có được kết nối hay không:

Available Functions
bool isCompetitionSwitch();

Parameters

Hàm này không chấp nhận bất kỳ tham số nào.

Notes
  • Chức năng này kiểm tra xem Công tắc Điều khiển Thi đấu có được kết nối hay không. Công tắc Điều khiển Thi đấu được sử dụng trước khi Hệ thống Điều khiển Sân V5 được thiết lập.

Return Values

Trả về giá trị Boolean cho biết công tắc điều khiển cuộc thi có được kết nối hay không:

  • true – Công tắc điều khiển cuộc thi đã được kết nối.

  • false – Công tắc điều khiển cuộc thi không được kết nối.

isFieldControl#

Trả về giá trị Boolean cho biết Bộ điều khiển hiện trường có được kết nối hay không.

Available Functions
bool isFieldControl();

Parameters

Hàm này không chấp nhận bất kỳ tham số nào.

Return Values

Trả về giá trị Boolean cho biết Bộ điều khiển trường có được kết nối hay không:

  • true – Bộ điều khiển hiện trường đã được kết nối.

  • false – Bộ điều khiển hiện trường không được kết nối.