Κουμπί#

Εισαγωγή#

Η κλάση button προέρχεται από την βασική κλάση brain και παρέχει πρόσβαση στα κουμπιά του EXP Brain, επιτρέποντας στο ρομπότ σας να ανιχνεύει πότε πατιούνται και απελευθερώνονται τα κουμπιά του.

Πρόσβαση#

Η κλάση button παρέχει τρία αντικείμενα κουμπιών. Κάθε αντικείμενο είναι μια παρουσία της κλάσης button και μπορεί να προσπελαστεί μέσω μιας παρουσίας εγκεφάλου.

Αντικείμενο

Παράδειγμα Χρήσης

Περιγραφή

buttonCheck

Brain.buttonCheck.pressing()

Κουμπί ελέγχου

buttonLeft

Brain.buttonLeft.pressing()

Αριστερό κουμπί

buttonRight

Brain.buttonRight.pressing()

Δεξί κουμπί

Συναρτήσεις Μελών#

Η κλάση button περιλαμβάνει τις ακόλουθες συναρτήσεις-μέλη:

  • pressing — Επιστρέφει εάν πατιέται το καθορισμένο κουμπί.

  • pressed — Καταγράφει μια συνάρτηση που θα κληθεί όταν πατηθεί το καθορισμένο κουμπί.

  • released — Καταγράφει μια συνάρτηση που θα κληθεί όταν απελευθερωθεί το καθορισμένο κουμπί.

Πριν από την κλήση οποιασδήποτε συνάρτησης μέλους button , πρέπει να δημιουργηθεί μια παρουσία brain , όπως φαίνεται παρακάτω:

// Create the EXP Brain
brain Brain = brain();

pressing#

Επιστρέφει εάν πατιέται αυτήν τη στιγμή ένα συγκεκριμένο κουμπί του εγκεφάλου.

Available Functions
bool pressing() const;

Parameters

Αυτή η συνάρτηση δεν δέχεται καμία παράμετρο.

Return Values

Επιστρέφει μια λογική τιμή που υποδεικνύει εάν πατιέται το καθορισμένο κουμπί:

  • true — Το κουμπί πατιέται.

  • false — Το κουμπί δεν πατιέται.

Examples

Αυτή η συνάρτηση μπορεί να κληθεί σε οποιοδήποτε αντικείμενο κουμπιού, για παράδειγμα:

  • Brain.buttonCheck
  • Brain.buttonLeft
  • Brain.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 Functions
void pressed( 
  void (* callback)(void) ) const;

Parameters

Παράμετρος

Τύπος

Περιγραφή

callback

void (*)(void)

Μια συνάρτηση που καλείται όταν πατηθεί το καθορισμένο κουμπί.

Return Values

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

Examples

Αυτή η συνάρτηση μπορεί να κληθεί σε οποιοδήποτε αντικείμενο κουμπιού εγκεφάλου, για παράδειγμα:

  • Brain.buttonCheck
  • Brain.buttonLeft
  • Brain.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 Functions
void released( 
  void (* callback)(void) ) const;

Parameters

Παράμετρος

Τύπος

Περιγραφή

callback

void (*)(void)

Μια συνάρτηση που καλείται όταν απελευθερώνεται το καθορισμένο κουμπί.

Return Values

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

Examples

Αυτή η συνάρτηση μπορεί να κληθεί σε οποιοδήποτε αντικείμενο κουμπιού εγκεφάλου, για παράδειγμα:

  • Brain.buttonCheck
  • Brain.buttonLeft
  • Brain.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);
}