Ανταγωνισμός#
Εισαγωγή#
Η κλάση 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 Functionsvoid autonomous( void (* callback)(void) );
Ονομα |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Ένας δείκτης προς μια συνάρτηση που δεν δέχεται παραμέτρους και δεν επιστρέφει τιμή. Αυτή η συνάρτηση θα εκτελεστεί όταν ξεκινήσει η Αυτόνομη περίοδος. |
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
Examplesvoid 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 Functionsvoid drivercontrol( void (* callback)(void) );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Ένας δείκτης προς μια συνάρτηση που δεν δέχεται παραμέτρους και δεν επιστρέφει τιμή. Αυτή η συνάρτηση θα εκτελεστεί όταν ξεκινήσει η περίοδος Ελέγχου Οδηγού. |
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
Examplesvoid 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 Functionsbool isEnabled();
Αυτή η συνάρτηση δεν δέχεται καμία παράμετρο.
Return ValuesΕπιστρέφει μια λογική τιμή που υποδεικνύει εάν η περίοδος αυτόνομου ελέγχου ή ελέγχου οδηγού είναι ενεργή:
true– Η περίοδος αυτόνομου ελέγχου ή ελέγχου οδηγού είναι ενεργή.false– Καμία από τις δύο περιόδους ελέγχου δεν είναι ενεργή.
isDriverControl#
Επιστρέφει μια λογική τιμή που υποδεικνύει εάν το ρομπότ βρίσκεται σε λειτουργία ελέγχου προγράμματος οδήγησης.
Available Functionsbool isDriverControl();
Αυτή η συνάρτηση δεν δέχεται καμία παράμετρο.
Return ValuesΕπιστρέφει μια λογική τιμή που υποδεικνύει εάν το ρομπότ βρίσκεται σε λειτουργία ελέγχου προγράμματος οδήγησης:
true– Το ρομπότ βρίσκεται σε λειτουργία ελέγχου οδηγού.false– Το ρομπότ δεν βρίσκεται σε λειτουργία ελέγχου οδηγού.
isAutonomous#
Επιστρέφει μια λογική τιμή που υποδεικνύει εάν το ρομπότ βρίσκεται σε αυτόνομη λειτουργία.
Available Functionsbool isAutonomous();
Αυτή η συνάρτηση δεν δέχεται καμία παράμετρο.
Return ValuesΕπιστρέφει μια λογική τιμή που υποδεικνύει εάν το ρομπότ βρίσκεται σε αυτόνομη λειτουργία:
true– Το ρομπότ βρίσκεται σε αυτόνομη λειτουργία.false– Το ρομπότ δεν βρίσκεται σε αυτόνομη λειτουργία.
isCompetitionSwitch#
Επιστρέφει μια λογική τιμή που υποδεικνύει εάν ο διακόπτης ελέγχου ανταγωνισμού είναι συνδεδεμένος:
Available Functionsbool isCompetitionSwitch();
Αυτή η συνάρτηση δεν δέχεται καμία παράμετρο.
NotesΑυτή η λειτουργία ελέγχει εάν είναι συνδεδεμένος ο Διακόπτης Ελέγχου Αγώνα. Ο Διακόπτης Ελέγχου Αγώνα χρησιμοποιείται πριν από την εγκατάσταση του Συστήματος Ελέγχου Πεδίου V5.
Επιστρέφει μια λογική τιμή που υποδεικνύει εάν ο διακόπτης ελέγχου ανταγωνισμού είναι συνδεδεμένος:
true– Ο διακόπτης ελέγχου ανταγωνισμού είναι συνδεδεμένος.false– Ο διακόπτης ελέγχου ανταγωνισμού δεν είναι συνδεδεμένος.
isFieldControl#
Επιστρέφει μια λογική τιμή που υποδεικνύει εάν ο ελεγκτής πεδίου είναι συνδεδεμένος.
Available Functionsbool isFieldControl();
Αυτή η συνάρτηση δεν δέχεται καμία παράμετρο.
Return ValuesΕπιστρέφει μια λογική τιμή που υποδεικνύει εάν ο Ελεγκτής Πεδίου είναι συνδεδεμένος:
true– Ο ελεγκτής πεδίου είναι συνδεδεμένος.false– Ο ελεγκτής πεδίου δεν είναι συνδεδεμένος.