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ả |
|---|---|---|
|
|
Kiểm tra nút |
|
|
Nút bên trái |
|
|
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 Functionsvoid pressed(
void (* callback)(void) ) const;
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Một hàm được gọi khi nút được chỉ định được nhấn. |
Hàm này không trả về giá trị nào.
ExamplesChứ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.buttonCheckBrain.buttonLeftBrain.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 Functionsvoid released(
void (* callback)(void) ) const;
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Một hàm được gọi khi nút được chỉ định được nhả ra. |
Hàm này không trả về giá trị nào.
ExamplesChứ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.buttonCheckBrain.buttonLeftBrain.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 Functionsbool pressing() const;
Hàm này không chấp nhận bất kỳ tham số nào.
Return ValuesTrả 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.
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.buttonCheckBrain.buttonLeftBrain.buttonRight
// Turn right while right is pressed
while (true) {
if (Brain.buttonRight.pressing()) {
Drivetrain.turn(right);
} else {
Drivetrain.stop();
}
wait(5, msec);
}