Κουμπί#

Εισαγωγή#

The button class is derived from the brain base class and provides access to the IQ (1st gen) Brain’s buttons, allowing your robot to monitor presses to the brain’s buttons.

Πρόσβαση#

The brain class provides twelve button objects. Each object is an instance of the button class and can be accessed through a brain instance.

Αντικείμενο

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

Περιγραφή

buttonCheck

Brain.buttonCheck.pressing()

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

buttonLeft

Brain.buttonLeft.pressing()

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

buttonRight

Brain.buttonRight.pressing()

Δεξί κουμπί

Σημειώσεις#

  • The button object is provided by the brain. It is not constructed directly.

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

The Button class includes the following member functions:

  • pressed — Registers a function to be called when the specified button is pressed.

  • released — Registers a function to be called when the specified button is released.

  • pressing — Returns whether the specified button is being pressed.

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

// Create a brain instance
brain();

pressed#

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

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

Parameters

Παράμετρος

Τύπος

Περιγραφή

callback

void (*)(void)

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

Return Values

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

Examples

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

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

Define the callback function (outside of int main())

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

Register the callback inside 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 Functions
void released( 
  void (* callback)(void) ) const;

Παράμετροι#

Παράμετρος

Τύπος

Περιγραφή

callback

void (*)(void)

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

Return Values

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

Examples

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

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

Define the callback function (outside of int main())

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

Register the callback inside 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 Functions
bool pressing() const;

Parameters

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

Return Values

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

  • true — The button is being pressed.

  • false — The button is not being pressed.

Examples

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

  • 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);
}