Κουμπί#
Εισαγωγή#
Η κλάση button προέρχεται από την βασική κλάση brain και παρέχει πρόσβαση στα κουμπιά του EXP Brain, επιτρέποντας στο ρομπότ σας να ανιχνεύει πότε πατιούνται και απελευθερώνονται τα κουμπιά του.
Πρόσβαση#
Η κλάση button παρέχει τρία αντικείμενα κουμπιών. Κάθε αντικείμενο είναι μια παρουσία της κλάσης button και μπορεί να προσπελαστεί μέσω μιας παρουσίας εγκεφάλου.
Αντικείμενο |
Παράδειγμα Χρήσης |
Περιγραφή |
|---|---|---|
|
|
Κουμπί ελέγχου |
|
|
Αριστερό κουμπί |
|
|
Δεξί κουμπί |
Συναρτήσεις Μελών#
Η κλάση button περιλαμβάνει τις ακόλουθες συναρτήσεις-μέλη:
pressing— Επιστρέφει εάν πατιέται το καθορισμένο κουμπί.pressed— Καταγράφει μια συνάρτηση που θα κληθεί όταν πατηθεί το καθορισμένο κουμπί.released— Καταγράφει μια συνάρτηση που θα κληθεί όταν απελευθερωθεί το καθορισμένο κουμπί.
Πριν από την κλήση οποιασδήποτε συνάρτησης μέλους button , πρέπει να δημιουργηθεί μια παρουσία brain , όπως φαίνεται παρακάτω:
// Create the EXP Brain
brain Brain = brain();
pressing#
Επιστρέφει εάν πατιέται αυτήν τη στιγμή ένα συγκεκριμένο κουμπί του εγκεφάλου.
Available Functionsbool pressing() const;
Αυτή η συνάρτηση δεν δέχεται καμία παράμετρο.
Return ValuesΕπιστρέφει μια λογική τιμή που υποδεικνύει εάν πατιέται το καθορισμένο κουμπί:
true— Το κουμπί πατιέται.false— Το κουμπί δεν πατιέται.
Αυτή η συνάρτηση μπορεί να κληθεί σε οποιοδήποτε αντικείμενο κουμπιού, για παράδειγμα:
Brain.buttonCheckBrain.buttonLeftBrain.buttonRight
// Turn right while the check button is pressed
while (true) {
if (Brain.buttonCheck.pressing()) {
Drivetrain.turn(right);
} else {
Drivetrain.stop();
}
wait(5, msec);
}
pressed#
Καταγράφει μια συνάρτηση επανάκλησης που εκτελείται όταν πατηθεί ένα συγκεκριμένο κουμπί του εγκεφάλου.
Available Functionsvoid pressed(
void (* callback)(void) ) const;
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Μια συνάρτηση που καλείται όταν πατηθεί το καθορισμένο κουμπί. |
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
ExamplesΑυτή η συνάρτηση μπορεί να κληθεί σε οποιοδήποτε αντικείμενο κουμπιού εγκεφάλου, για παράδειγμα:
Brain.buttonCheckBrain.buttonLeftBrain.buttonRight
Ορίστε τη συνάρτηση επανάκλησης (εκτός από
int main())// Drive forward when the right button 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 right button is pressed Brain.buttonRight.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); }