Ελεγκτής#
Εισαγωγή#
Η κλάση ελεγκτή controller αντιπροσωπεύει έναν ελεγκτή VEX IQ συνδεδεμένο με το IQ Brain. Ένα αντικείμενο ελεγκτή controller μπορεί να χρησιμοποιηθεί για την πρόσβαση σε τιμές άξονα joystick, την ανάγνωση καταστάσεων κουμπιών, την καταγραφή επανακλήσεων κουμπιών ή joystick και τον έλεγχο της σύνδεσης του ελεγκτή.
Το IQ (2ης γενιάς) Brain μπορεί να συνδεθεί είτε με ένα χειριστήριο IQ (2ης γενιάς) είτε με ένα χειριστήριο IQ (1ης γενιάς). Ένα χειριστήριο IQ (1ης γενιάς) πρέπει να διαθέτει εγκατεστημένο ένα μπλε Smart Radio.
Όταν ένας ή περισσότεροι ελεγκτές έχουν διαμορφωθεί στο παράθυρο Συσκευές, το VEXcode IQ παρέχει επίσης RemoteControlCodeEnabledΑυτή η καθολική μεταβλητή ενεργοποιεί ή απενεργοποιεί τις ενέργειες ελεγκτή που έχουν διαμορφωθεί στο μενού Συσκευές.
Παράγωγες Κλάσεις#
Η κλάση ελεγκτή controller παρέχει τις ακόλουθες παράγωγες κλάσεις:
Κατασκευαστές#
1 - Δημιουργεί έναν ελεγκτή χρησιμοποιώντας τον κύριο τύπο ελεγκτή. Συνήθως χρησιμοποιείται όταν είναι συνδεδεμένος ένας μόνο ελεγκτής.
controller();
2 - Δημιουργεί έναν ελεγκτή για τον καθορισμένο τύπο ελεγκτή. Χρησιμοποιείται όταν είναι συνδεδεμένοι δύο ελεγκτές.
controller( controllerType id );
Διαθέσιμες λειτουργίες
controller();
controller(controllerType id);
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Προαιρετικό. Ο τύπος ελεγκτή που θα δημιουργηθεί: |
Σημειώσεις
Μόνο ένας πρωτεύων ελεγκτής primary και ένας ελεγκτής συνεργάτη partner μπορούν να δημιουργηθούν σε ένα μόνο έργο.
Παράδειγμα
// Create the primary controller
controller Controller1 = controller();
// Create a partner controller
controller Controller2 = controller(partner);
Καταστροφέας#
~ελεγκτής#
~controller καταστρέφει το αντικείμενο ελεγκτή controller και απελευθερώνει τους σχετικούς πόρους.
Διαθέσιμη λειτουργία
~controller();
Παράμετροι#
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Ο τύπος του ελεγκτή που δημιουργείται:
|
Σημειώσεις#
Σε ένα μόνο έργο μπορεί να υπάρχει μόνο ένας πρωτεύων ελεγκτής
primaryκαι ένας συνεργάτηςpartner.
Παράδειγμα#
// Create a controller instance
controller Controller = controller();
Συναρτήσεις Μελών#
Η κλάση ελεγκτή controller περιλαμβάνει την ακόλουθη συνάρτηση-μέλος:
installed- Ελέγχει εάν ο ελεγκτής είναι συνδεδεμένος στον εγκέφαλο.
εγκατεστημένο#
installed επιστρέφει εάν ο ελεγκτής είναι συνδεδεμένος στον εγκέφαλο.
Διαθέσιμη λειτουργία
bool installed();
Παράμετροι
Αυτή η συνάρτηση δεν έχει παραμέτρους.
Επιστρεφόμενη τιμή
Επιστρέφει μια λογική τιμή.
true- The controller is installed/connected.false- The controller is not installed/connected.
Καθολικές Μεταβλητές#
Κωδικός Απομακρυσμένου ΕλέγχουΕνεργοποιημένος#
RemoteControlCodeEnabled ενεργοποιεί ή απενεργοποιεί τις ενέργειες του ελεγκτή που έχουν ρυθμιστεί στο μενού Συσκευές. Οι ενέργειες που έχουν ρυθμιστεί από τον ελεγκτή είναι ενεργοποιημένες από προεπιλογή.
Usage:
RemoteControlCodeEnabled = state;
Αξία |
Περιγραφή |
|---|---|
|
Ενεργοποιεί ενέργειες που έχουν ρυθμιστεί από τον ελεγκτή. |
|
Απενεργοποιεί τις ενέργειες που έχουν ρυθμιστεί από τον ελεγκτή. |
true- Controller-configured actions are enabled.false- Controller-configured actions are disabled.
Οι ενέργειες που διαμορφώνονται από τον ελεγκτή είναι ενεργοποιημένες από προεπιλογή.
// Drive forward or backward using the left joystick
RemoteControlCodeEnabled = false;
while (true) {
if (Controller1.AxisA.position() > 0) {
Drivetrain.drive(forward);
}
else if (Controller1.AxisA.position() < 0) {
Drivetrain.drive(reverse);
}
// Press E Up to use controller configured actions again
else if (Controller1.ButtonEUp.pressing()) {
break;
}
else {
Drivetrain.stop();
}
wait(20, msec);
}
RemoteControlCodeEnabled = true;