Αξονας#

Εισαγωγή#

Η κλάση axis είναι μια παράγωγη κλάση της κλάσης controller. Παρέχει πρόσβαση στις τιμές του άξονα του joystick του ελεγκτή και στις επανακλήσεις αλλαγής του άξονα του joystick.

Ένα αντικείμενο axis είναι προσβάσιμο μέσω ενός αντικειμένου controller Δεν κατασκευάζεται απευθείας.

Το χειριστήριο IQ 2ης γενιάς με τους τέσσερις άξονες του joystick επισημασμένους. Στο αριστερό joystick, ο Άξονας 3 είναι κάθετος και ο Άξονας 4 είναι οριζόντιος. Στο δεξί joystick, ο Άξονας 1 είναι οριζόντιος και ο Άξονας 2 είναι κάθετος.

Πρόσβαση#

The controller class provides the following axis objects. Each object is an instance of the axis class.

Αντικείμενο άξονα

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

Περιγραφή

Axis1

Controller.Axis1.position()

Οριζόντιος άξονας δεξιού joystick.

Axis2

Controller.Axis2.position()

Κάθετος άξονας δεξιού joystick.

Axis3

Controller.Axis3.position()

Αριστερό κάθετο άξονα joystick.

Axis4

Controller.Axis4.position()

Οριζόντιος άξονας αριστερού joystick.

Σημειώσεις#

  • Πριν χρησιμοποιήσετε μια συνάρτηση μέλους axis , δημιουργήστε ένα αντικείμενο controller.

  • Η θέση position επιστρέφει μια τιμή από -100 έως 100.

// Create a controller object
controller Controller = controller();

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

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

Getter — Ανάγνωση της θέσης του άξονα του joystick.

  • position — Επιστρέφει τη θέση του άξονα του joystick.

Επανάκληση — Εκτέλεση συνάρτησης όταν αλλάζει η θέση του joystick κατά μήκος ενός άξονα.

  • changed — Εκτελεί μια συνάρτηση όταν η θέση του joystick αλλάζει κατά μήκος αυτού του άξονα.

Λήπτης#

position#

Η θέση position επιστρέφει τη θέση του άξονα του joystick ως τιμή από -100 έως 100.

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

int32_t position(percentUnits units = percentUnits::pct) const;

Παράμετρος

Τύπος

Περιγραφή

units

percentUnits

Προαιρετικό. Η μονάδα που χρησιμοποιείται για την επιστρεφόμενη τιμή άξονα. Η προεπιλογή είναι percentUnits::pct.

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

Επιστρέφει μια τιμή int32_t από -100 έως 100.

  • 100 — Ο άξονας του joystick έχει μετακινηθεί πλήρως προς τη θετική κατεύθυνση.

  • 0 — Ο άξονας του joystick είναι κεντραρισμένος.

  • -100 — Ο άξονας του joystick έχει μετακινηθεί πλήρως προς την αρνητική κατεύθυνση.

Παράδειγμα

// Turn with the left joystick
while (true) {
  if (Controller.Axis4.position() > 10) {
    Drivetrain.turn(right);
  }
  else if (Controller.Axis4.position() < -10) {
    Drivetrain.turn(left);
  }
  else {
    Drivetrain.stop();
  }

  wait(20, msec);
}

Επανάκληση#

changed#

changed εκτελεί μια συνάρτηση όταν η θέση του joystick αλλάζει κατά μήκος αυτού του άξονα.

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

void changed(void (* callback)(void)) const;

Παράμετρος

Τύπος

Περιγραφή

callback

void (*)(void)

Μια συνάρτηση που εκτελείται κάθε φορά που αλλάζει η θέση του joystick κατά μήκος αυτού του άξονα.

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

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

Παράδειγμα

Ορίστε τη συνάρτηση επανάκλησης εκτός του main.

// Play a sound when the left joystick moves
void playSound() {
  Brain.playSound(siren);
}

Καταχωρίστε την επανάκληση μέσα στο main.

int main() {
  vexcodeInit();

  // Run playSound when the joystick's position changes along Axis4
  Controller.Axis4.changed(playSound);
}