Ανταγωνισμός#

Εισαγωγή#

Η κλάση competition σάς βοηθά να δομήσετε ένα έργο V5 για επίσημο έλεγχο ανταγωνισμού. Σας επιτρέπει να καταχωρίσετε συναρτήσεις που θα εκτελούνται κατά τη διάρκεια του Αυτόνομου Ελέγχου και του Ελέγχου Οδηγού και παρέχει απλούς ελέγχους κατάστασης, ώστε ο κώδικάς σας να μπορεί να ανταποκριθεί στην κατάσταση αντιστοίχισης (ενεργοποιημένο/απενεργοποιημένο, αυτόνομο/οδηγό, έλεγχος πεδίου, κ.λπ.).

Κατασκευαστές κλάσεων#

competition();

Καταστροφέας κλάσης#

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

~competition();

Παράμετροι#

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

Παραδείγματα#

// Create the competition instance
competition Competition = competition();

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

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

  • autonomous — Καταχωρεί μια συνάρτηση που θα κληθεί όταν ξεκινήσει η περίοδος Αυτόνομης Λειτουργίας.

  • drivercontrol — Καταγράφει μια συνάρτηση που θα κληθεί όταν ξεκινήσει η περίοδος Ελέγχου Οδηγού.

  • isEnabled — Επιστρέφει την κατάσταση του ρομπότ σας όταν βρίσκεται υπό έλεγχο ανταγωνισμού.

  • isDriverControl — Επιστρέφει εάν η κατάσταση του ρομπότ είναι έλεγχος από τον οδηγό.

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

  • isCompetitionSwitch — Επιστρέφει εάν ο διακόπτης ανταγωνισμού είναι συνδεδεμένος.

  • isFieldControl — Επιστρέφει εάν το στοιχείο ελέγχου πεδίου είναι συνδεδεμένο.

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

// Create the competition instance
competition Competition = competition();

autonomous#

Καταχωρεί μια συνάρτηση που θα κληθεί όταν ξεκινήσει η Αυτόνομη περίοδος.

Available Functions
void autonomous( void (* callback)(void) );

Parameters

Ονομα

Τύπος

Περιγραφή

callback

void (*)(void)

Ένας δείκτης προς μια συνάρτηση που δεν δέχεται παραμέτρους και δεν επιστρέφει τιμή. Αυτή η συνάρτηση θα εκτελεστεί όταν ξεκινήσει η Αυτόνομη περίοδος.

Return Values

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

Examples
void autonomousControl(void) {
  // Place automonous code here.
  Brain.Screen.clearScreen();
  Brain.Screen.print("autonomous");
}

int main(){
    // Create competition instance.
    competition Competition;

    // Set up callback for the autonomous control period.
    Competition.autonomous(autonomousControl);

    // Prevent main from exiting with an infinite loop.
    while (true) {
        wait(100, msec);
    }
}

drivercontrol#

Καταγράφει μια συνάρτηση που θα κληθεί όταν ξεκινήσει η περίοδος Ελέγχου Οδηγού.

Available Functions
void drivercontrol( void (* callback)(void) );

Parameters

Παράμετρος

Τύπος

Περιγραφή

callback

void (*)(void)

Ένας δείκτης προς μια συνάρτηση που δεν δέχεται παραμέτρους και δεν επιστρέφει τιμή. Αυτή η συνάρτηση θα εκτελεστεί όταν ξεκινήσει η περίοδος Ελέγχου Οδηγού.

Return Values

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

Examples
void userControl(void) {
  Brain.Screen.clearScreen();
  // place driver control in this while loop
  while (true) {
    wait(20, msec);
  }
}

int main(){
    // Create competition instance.
    competition Competition;

    // Set up callback for the driver control period.
    Competition.drivercontrol(userControl);

    // Prevent main from exiting with an infinite loop.
    while (true) {
        wait(100, msec);
    }
}

isEnabled#

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

Available Functions
bool isEnabled();

Parameters

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

Return Values

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

  • true – Η περίοδος αυτόνομου ελέγχου ή ελέγχου οδηγού είναι ενεργή.

  • false – Καμία από τις δύο περιόδους ελέγχου δεν είναι ενεργή.

isDriverControl#

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

Available Functions
bool isDriverControl();

Parameters

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

Return Values

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

  • true – Το ρομπότ βρίσκεται σε λειτουργία ελέγχου οδηγού.

  • false – Το ρομπότ δεν βρίσκεται σε λειτουργία ελέγχου οδηγού.

isAutonomous#

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

Available Functions
bool isAutonomous();

Parameters

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

Return Values

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

  • true – Το ρομπότ βρίσκεται σε αυτόνομη λειτουργία.

  • false – Το ρομπότ δεν βρίσκεται σε αυτόνομη λειτουργία.

isCompetitionSwitch#

Επιστρέφει μια λογική τιμή που υποδεικνύει εάν ο διακόπτης ελέγχου ανταγωνισμού είναι συνδεδεμένος:

Available Functions
bool isCompetitionSwitch();

Parameters

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

Notes
  • Αυτή η λειτουργία ελέγχει εάν είναι συνδεδεμένος ο Διακόπτης Ελέγχου Αγώνα. Ο Διακόπτης Ελέγχου Αγώνα χρησιμοποιείται πριν από την εγκατάσταση του Συστήματος Ελέγχου Πεδίου V5.

Return Values

Επιστρέφει μια λογική τιμή που υποδεικνύει εάν ο διακόπτης ελέγχου ανταγωνισμού είναι συνδεδεμένος:

  • true – Ο διακόπτης ελέγχου ανταγωνισμού είναι συνδεδεμένος.

  • false – Ο διακόπτης ελέγχου ανταγωνισμού δεν είναι συνδεδεμένος.

isFieldControl#

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

Available Functions
bool isFieldControl();

Parameters

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

Return Values

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

  • true – Ο ελεγκτής πεδίου είναι συνδεδεμένος.

  • false – Ο ελεγκτής πεδίου δεν είναι συνδεδεμένος.