Κουμπί#
Εισαγωγή#
Η κλάση κουμπιού button προέρχεται από την βασική κλάση brain και παρέχει πρόσβαση στα κουμπιά του εγκεφάλου IQ (2ης γενιάς), επιτρέποντας στο ρομπότ σας να παρακολουθεί τα πατήματα των κουμπιών του εγκεφάλου.
Πρόσβαση#
Η κλάση brain παρέχει δώδεκα αντικείμενα κουμπιών. Κάθε αντικείμενο είναι μια παρουσία της κλάσης button και μπορεί να προσπελαστεί μέσω μιας παρουσίας brain.
Αντικείμενο |
Παράδειγμα Χρήσης |
Περιγραφή |
|---|---|---|
|
|
Κουμπί ελέγχου |
|
|
Αριστερό κουμπί |
|
|
Δεξί κουμπί |
Σημειώσεις#
Το αντικείμενο
buttonπαρέχεται από τον εγκέφαλο. Δεν κατασκευάζεται απευθείας.
Συναρτήσεις Μελών#
Η κλάση Button περιλαμβάνει τις ακόλουθες συναρτήσεις-μέλη:
pressed— Καταγράφει μια συνάρτηση που θα κληθεί όταν πατηθεί το καθορισμένο κουμπί.released— Καταγράφει μια συνάρτηση που θα κληθεί όταν απελευθερωθεί το καθορισμένο κουμπί.pressing— Επιστρέφει εάν πατιέται το καθορισμένο κουμπί.
Πριν από την κλήση οποιασδήποτε συνάρτησης μέλους button , πρέπει να δημιουργηθεί μια παρουσία brain , όπως φαίνεται παρακάτω:
// Create a brain instance
brain();
pressed#
Καταγράφει μια συνάρτηση επανάκλησης που εκτελείται όταν πατηθεί ένα συγκεκριμένο κουμπί του εγκεφάλου.
Available Functionsvoid pressed(
void (* callback)(void) ) const;
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Μια συνάρτηση που καλείται όταν πατηθεί το καθορισμένο κουμπί. |
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
ExamplesΑυτή η συνάρτηση μπορεί να κληθεί σε οποιοδήποτε αντικείμενο κουμπιού εγκεφάλου, για παράδειγμα:
Brain.buttonCheckBrain.buttonLeftBrain.buttonRight
Ορίστε τη συνάρτηση επανάκλησης (εκτός από
int main())// Drive forward when check is pressed void driveForward() { Drivetrain.driveFor(forward, 100, mm); }Καταχωρίστε την επανάκληση μέσα στο
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#
Καταγράφει μια συνάρτηση επανάκλησης που εκτελείται όταν απελευθερώνεται ένα συγκεκριμένο κουμπί του εγκεφάλου.
Available Functionsvoid released(
void (* callback)(void) ) const;
Παράμετροι#
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Μια συνάρτηση που καλείται όταν απελευθερώνεται το καθορισμένο κουμπί. |
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
ExamplesΑυτή η συνάρτηση μπορεί να κληθεί σε οποιοδήποτε αντικείμενο κουμπιού εγκεφάλου, για παράδειγμα:
Brain.buttonCheckBrain.buttonLeftBrain.buttonRight
Ορίστε τη συνάρτηση επανάκλησης (εκτός από
int main())// Drive backward when the left button is released void backUp() { Drivetrain.driveFor(reverse, 100, mm); }Καταχωρίστε την επανάκληση μέσα στο
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#
Επιστρέφει εάν πατιέται αυτήν τη στιγμή ένα συγκεκριμένο κουμπί του εγκεφάλου.
Available Functionsbool pressing() const;
Αυτή η συνάρτηση δεν δέχεται καμία παράμετρο.
Return ValuesΕπιστρέφει μια λογική τιμή που υποδεικνύει εάν πατιέται το καθορισμένο κουμπί:
true— Το κουμπί πατιέται.false— Το κουμπί δεν πατιέται.
Αυτή η συνάρτηση μπορεί να κληθεί σε οποιοδήποτε αντικείμενο κουμπιού εγκεφάλου, για παράδειγμα:
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);
}