Ελεγκτής#

Εισαγωγή#

Η κλάση ελεγκτή controller αντιπροσωπεύει έναν ελεγκτή VEX V5 συνδεδεμένο στον εγκέφαλο V5. Ένα αντικείμενο ελεγκτή controller μπορεί να χρησιμοποιηθεί για την πρόσβαση σε τιμές άξονα joystick, την ανάγνωση καταστάσεων κουμπιών, την καταγραφή επανακλήσεων κουμπιών ή joystick, την ενεργοποίηση του ελεγκτή, την εγγραφή στην οθόνη του ελεγκτή και τον έλεγχο σύνδεσης του ελεγκτή.

Το VEX V5 είναι συμβατό με τον ελεγκτή EXP. Ανατρέξτε στο EXP Controller API για περισσότερες πληροφορίες.

Όταν ένας ή περισσότεροι Ελεγκτές έχουν διαμορφωθεί στο παράθυρο Συσκευές, το VEXcode V5 παρέχει επίσης RemoteControlCodeEnabledΑυτή η καθολική μεταβλητή ενεργοποιεί ή απενεργοποιεί τις ενέργειες Ελεγκτή που έχουν διαμορφωθεί στο μενού Συσκευές.

Παράγωγες Κλάσεις#

Η κλάση ελεγκτή controller παρέχει τις ακόλουθες παράγωγες κλάσεις:

  • Axis - Παρέχει πρόσβαση σε τιμές εισόδου άξονα joystick και σε συμβάντα αλλαγής.

  • Button - Παρέχει πρόσβαση σε ανακλήσεις κατάστασης κουμπιού και συμβάντων κουμπιού.

  • Screen - Παρέχει λειτουργίες για την εγγραφή κειμένου στην οθόνη του ελεγκτή.

Κατασκευαστές#

1 - Δημιουργεί έναν ελεγκτή χρησιμοποιώντας τον κύριο τύπο ελεγκτή. Συνήθως χρησιμοποιείται όταν είναι συνδεδεμένος ένας μόνο ελεγκτής.

controller();

2 - Δημιουργεί έναν ελεγκτή για τον καθορισμένο τύπο ελεγκτή. Χρησιμοποιείται όταν είναι συνδεδεμένοι δύο ελεγκτές.

controller(
    controllerType id );

Διαθέσιμες λειτουργίες

controller();

controller(controllerType id);

Παράμετρος

Τύπος

Περιγραφή

id

controllerType

Προαιρετικό. Ο τύπος ελεγκτή που θα δημιουργηθεί: primary για τον πρωτεύοντα ελεγκτή που συνδέεται με τον εγκέφαλο ή partner για τον δεύτερο ελεγκτή που συνδέεται με τον εγκέφαλο.

Σημειώσεις

Μόνο ένας πρωτεύων ελεγκτής primary και ένας ελεγκτής συνεργάτη partner μπορούν να δημιουργηθούν σε ένα μόνο έργο.

Παράδειγμα

// Create the primary Controller
controller Controller1 = controller();

// Create a partner Controller
controller Controller2 = controller(partner);

Καταστροφέας#

~ελεγκτής#

~controller καταστρέφει το αντικείμενο ελεγκτή controller και απελευθερώνει τους σχετικούς πόρους.

Διαθέσιμη λειτουργία

~controller();

Παράμετροι#

Παράμετρος

Τύπος

Περιγραφή

id

controllerType

Ο τύπος του ελεγκτή που δημιουργείται:

  • primary - Ο πρωτεύων ελεγκτής που συνδέεται με τον Εγκέφαλο.
  • partner - Ο συνεργάτης (δεύτερος) ελεγκτής που συνδέεται με τον Εγκέφαλο.

Σημειώσεις#

  • Σε ένα μόνο έργο μπορεί να υπάρχει μόνο ένας πρωτεύων ελεγκτής primary και ένας συνεργάτης partner.

Παράδειγμα#

// Create a V5 controller instance
controller Controller = controller();

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

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

  • rumble - Εκτελεί rumble στο χειριστήριο χρησιμοποιώντας ένα μοτίβο.

  • installed - Ελέγχει εάν ο ελεγκτής είναι συνδεδεμένος στον εγκέφαλο.

σιγοβροντώ#

rumble κάνει το Controller να δονείται χρησιμοποιώντας ένα μοτίβο. Στη συμβολοσειρά μοτίβων, οι τελείες είναι σύντομες δονήσεις, οι παύλες είναι μεγάλες δονήσεις και τα κενά είναι παύσεις.

Διαθέσιμη λειτουργία

void rumble(const char *str);

Παράμετρος

Τύπος

Περιγραφή

str

const char *

Μια χορδή φτιαγμένη από τελείες, παύλες και κενά που αναπαριστούν το μοτίβο βουητού.

Επιστρεφόμενη τιμή

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

Παράδειγμα

// Rumble with a short-short-long pattern
Controller1.rumble("..-");

Λήπτης#

εγκατεστημένο#

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

Διαθέσιμη λειτουργία

bool installed();

Παράμετροι

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

Επιστρεφόμενη τιμή

Επιστρέφει μια λογική τιμή.

  • true - The controller is installed/connected.
  • false - The controller is not installed/connected.

Καθολικές Μεταβλητές#

Κωδικός Απομακρυσμένου ΕλέγχουΕνεργοποιημένος#

RemoteControlCodeEnabled ενεργοποιεί ή απενεργοποιεί τις ενέργειες του ελεγκτή που έχουν ρυθμιστεί στο μενού Συσκευές. Οι ενέργειες που έχουν ρυθμιστεί από τον ελεγκτή είναι ενεργοποιημένες από προεπιλογή.

Usage:
RemoteControlCodeEnabled = state;

Αξία

Περιγραφή

true

Ενεργοποιεί ενέργειες που έχουν ρυθμιστεί από τον ελεγκτή.

false

Απενεργοποιεί τις ενέργειες που έχουν ρυθμιστεί από τον ελεγκτή.

Values
  • true - Controller-configured actions are enabled.
  • false - Controller-configured actions are disabled.
Notes
  • Οι ενέργειες που διαμορφώνονται από τον ελεγκτή είναι ενεργοποιημένες από προεπιλογή.

Examples
// Drive forward or backward using the left joystick
RemoteControlCodeEnabled = false;

while (true) {
  if (Controller1.Axis3.position() > 0) {
    Drivetrain.drive(forward);
  }
  else if (Controller1.Axis3.position() < 0) {
    Drivetrain.drive(reverse);
  }
  // Press A to use Controller configured actions again
  else if (Controller1.ButtonA.pressing()) {
    break;
  }
  else {
    Drivetrain.stop();
  }

  wait(20, msec);
}

RemoteControlCodeEnabled = true;