Cái nút#

Giới thiệu#

Lớp nút button được kế thừa từ lớp cơ sở brain và cung cấp quyền truy cập vào các nút của Brain IQ (thế hệ thứ nhất), cho phép robot của bạn theo dõi các lần nhấn vào các nút của brain.

Truy cập#

Lớp brain cung cấp mười hai đối tượng nút. Mỗi đối tượng là một thể hiện của lớp button và có thể được truy cập thông qua một thể hiện brain.

Sự vật

Ví dụ sử dụng

Sự miêu tả

buttonCheck

Brain.buttonCheck.pressing()

Kiểm tra nút

buttonLeft

Brain.buttonLeft.pressing()

Nút bên trái

buttonRight

Brain.buttonRight.pressing()

Nút bên phải

Ghi chú#

  • Nút button được cung cấp bởi bộ não. Nó không được tạo ra trực tiếp.

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

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

  • pressed — Đăng ký một hàm sẽ được gọi khi nút được chỉ định được nhấn.

  • released — Đăng ký một hàm sẽ được gọi khi nút được chỉ định được nhả ra.

  • pressing — Trả về liệu nút được chỉ định có đang được nhấn hay không.

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

// Create a brain instance
brain();

pressed#

Đăng ký một hàm gọi lại sẽ chạy khi một nút não cụ thể được nhấn.

Available Functions
void pressed( 
  void (* callback)(void) ) const;

Parameters

Tham số

Kiểu

Sự miêu tả

callback

void (*)(void)

Một hàm được gọi khi nút được chỉ định được nhấn.

Return Values

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

Examples

Chức năng này có thể được gọi trên bất kỳ đối tượng nút não nào, ví dụ:

  • Brain.buttonCheck
  • Brain.buttonLeft
  • Brain.buttonRight

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

// Drive forward when check is pressed
void driveForward() {
    Drivetrain.driveFor(forward, 100, mm);
}

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

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Call driveForward when the check button is pressed
  Brain.buttonCheck.pressed(driveForward);
}

released#

Đăng ký một hàm gọi lại sẽ chạy khi một nút não cụ thể được nhả ra.

Available Functions
void released( 
  void (* callback)(void) ) const;

Parameters

Tham số

Kiểu

Sự miêu tả

callback

void (*)(void)

Một hàm được gọi khi nút được chỉ định được nhả ra.

Return Values

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

Examples

Chức năng này có thể được gọi trên bất kỳ đối tượng nút não nào, ví dụ:

  • Brain.buttonCheck
  • Brain.buttonLeft
  • Brain.buttonRight

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

// Drive backward when the left button is released
void backUp() {
    Drivetrain.driveFor(reverse, 100, mm);
}

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

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Call backUp when the left button is released
  Brain.buttonLeft.released(backUp);
}

pressing#

Trả về trạng thái cho biết liệu một nút não cụ thể có đang được nhấn hay không.

Available Functions
bool pressing() const;

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 nút được chỉ định có đang được nhấn hay không:

  • true — Nút đang được nhấn.

  • false — Nút không được nhấn.

Examples

Chức năng này có thể được gọi trên bất kỳ đối tượng nút não nào, ví dụ:

  • Brain.buttonCheck
  • Brain.buttonLeft
  • Brain.buttonRight
// Turn right while right is pressed
while (true) {
    if (Brain.buttonRight.pressing()) {
        Drivetrain.turn(right);
    } else {
        Drivetrain.stop();
    }
    wait(5, msec);
}