Πύργος Σημάτων#
Εισαγωγή#
Η κλάση signaltower χρησιμοποιείται για την αλλαγή φώτων και την ανίχνευση αλληλεπιδράσεων με τον Πύργο Σημάτων CTE.
Κατασκευαστές κλάσεων#
signaltower(
int32_t index );
Καταστροφέας κλάσης#
Καταστρέφει το αντικείμενο signaltower και απελευθερώνει τους σχετικούς πόρους.
virtual ~signaltower();
Παράμετροι#
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η Έξυπνη Θύρα στην οποία είναι συνδεδεμένος ο Πύργος Σημάτων, γράφεται ως |
Παραδείγματα#
// Create a signal tower instance in Port 1
signaltower SignalTower = signaltower(PORT1);
Συναρτήσεις Μελών#
Η κλάση signaltower παρέχει τις ακόλουθες συναρτήσεις-μέλη:
setColor - Ελέγχει τα χρώματα και τις καταστάσεις των LED στον Πύργο Σημάτων χρησιμοποιώντας διάφορες μεθόδους εισαγωγής.
setColors - Ορίζει την κατάσταση όλων των LED στον Πύργο Σήματος ξεχωριστά.
setBlink - Ορίζει την κατάσταση αναλαμπής μιας λυχνίας LED στον Πύργο Σημάτων με βάση το αναγνωριστικό της λυχνίας LED.
setBlinkTime - Ορίζει το χρόνο μεταξύ των αναλαμπών για τις λυχνίες LED στον Πύργο Σήματος.
enableBlink - Ενεργοποιεί το αναβόσβημα πολλαπλών LED στον Πύργο Σημάτων με βάση τα αναγνωριστικά τους.
disableBlink - Απενεργοποιεί το αναβόσβημα πολλαπλών LED στον Πύργο Σημάτων με βάση τα αναγνωριστικά τους.
πίεση - Επιστρέφει εάν ο προφυλακτήρας του Πύργου Σήματος πατιέται αυτήν τη στιγμή.
πατημένο - Καταγράφει μια συνάρτηση που θα κληθεί όταν πατηθεί ο προφυλακτήρας του Πύργου Σήματος.
released - Καταγράφει μια συνάρτηση που θα κληθεί όταν απελευθερωθεί ο προφυλακτήρας του Πύργου Σήματος.
setColor#
Ελέγχει τα χρώματα και τις καταστάσεις των LED στον Πύργο Σημάτων χρησιμοποιώντας διάφορες μεθόδους εισαγωγής. Αυτά τα φώτα μπορούν να χρησιμοποιηθούν για την παρακολούθηση της θέσης του ρομπότ σε ένα έργο ή για να δείξουν πότε πληρούνται ορισμένες συνθήκες.
Available Functions1 — Ορίζει τον Πύργο Σημάτων σε ένα χρώμα χρησιμοποιώντας την εντολή vex::color.
void setColor( vex::color color, signaltower::state state = signaltower::state::on );
2 — Ορίζει τα χρώματα των LED χρησιμοποιώντας τιμές RGB και YW 32-bit.
void setColor( uint32_t rgb, uint32_t yw );
3 — Ορίζει τη φωτεινότητα κάθε LED με βάση το αναγνωριστικό LED.
void setColor( ledId id, uint32_t value );
Parameters4 — Ορίζει τα επίπεδα φωτεινότητας για όλα τα LED ξεχωριστά.
void setColor( uint8_t r, uint8_t y, uint8_t g, uint8_t b, uint8_t w );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Το χρώμα που θα χρησιμοποιηθεί:
|
|
|
Η κατάσταση για τη λυχνία LED:
|
|
|
Η φωτεινότητα του κόκκινου, του πράσινου και του μπλε LED χρησιμοποιώντας μια τιμή 32-bit (π.χ., κόκκινο ενεργοποιημένο = |
|
|
Η φωτεινότητα του κίτρινου και του λευκού LED χρησιμοποιώντας μια τιμή 32-bit (π.χ., κίτρινο ενεργοποιημένο = |
|
|
Ο δείκτης της λυχνίας LED προς έλεγχο:
|
|
|
Η φωτεινότητα της λυχνίας LED κυμαίνεται από 0 έως 255, με το 0 να είναι σβηστό και το 255 να είναι η μέγιστη φωτεινότητα. |
|
|
Η φωτεινότητα του κόκκινου LED κυμαίνεται από 0 έως 255, με το 0 να είναι σβηστό και το 255 να είναι η μέγιστη φωτεινότητα. |
|
|
Η φωτεινότητα του κίτρινου LED κυμαίνεται από 0 έως 255, με το 0 να είναι σβηστό και το 255 να είναι η μέγιστη φωτεινότητα. |
|
|
Η φωτεινότητα του πράσινου LED κυμαίνεται από 0 έως 255, με το 0 να είναι σβηστό και το 255 να είναι η μέγιστη φωτεινότητα. |
|
|
Η φωτεινότητα του μπλε LED κυμαίνεται από 0 έως 255, με το 0 να είναι σβηστό και το 255 να είναι η μέγιστη φωτεινότητα. |
|
|
Η φωτεινότητα του λευκού LED κυμαίνεται από 0 έως 255, με το 0 να είναι σβηστό και το 255 να είναι η μέγιστη φωτεινότητα. |
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
Examples// Set the Signal Tower to start blinking blue
SignalTower.setColor(vex::color::blue, signaltower::blink);
// Set the red, blue and white LEDs using hex values
SignalTower.setColor(0xFF00FF, 0x00FF);
// Set the green LED to full brightness by ID
SignalTower.setColor(1, 255);
// Set all LEDs to full brightness
SignalTower.setColor(255, 255, 255, 255, 255);
setColors#
Ορίζει την κατάσταση όλων των LED στον Πύργο Σημάτων ξεχωριστά. Αυτά τα φώτα μπορούν να χρησιμοποιηθούν για την παρακολούθηση της θέσης του ρομπότ σε ένα έργο ή για να δείξουν πότε πληρούνται ορισμένες συνθήκες.
Available Functionsvoid setColors(
signaltower::state rs,
signaltower::state ys,
signaltower::state gs,
signaltower::state bs,
signaltower::state ws );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η κατάσταση της κόκκινης λυχνίας LED:
|
|
|
Η κατάσταση της κίτρινης λυχνίας LED:
|
|
|
Η κατάσταση της πράσινης λυχνίας LED:
|
|
|
Η κατάσταση της μπλε λυχνίας LED:
|
|
|
Η κατάσταση της λευκής λυχνίας LED:
|
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
Examples// Turn on all LEDs
SignalTower.setColors(signaltower::on, signaltower::on, signaltower::on, signaltower::on, signaltower::on);
setBlink#
Ορίζει την κατάσταση αναλαμπής μιας λυχνίας LED στον Πύργο Σημάτων με βάση το αναγνωριστικό της λυχνίας LED. Αυτές οι λυχνίες που αναβοσβήνουν μπορούν να χρησιμοποιηθούν για να δείξουν πότε πληρούνται ορισμένες συνθήκες, όπως πότε το ρομπότ περιμένει ή πότε χρειάζεται προσοχή.
Available Functionsvoid setBlink(
ledId id,
bool enable );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Το αναγνωριστικό LED:
|
|
|
|
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
setBlinkTime#
Ρυθμίζει το χρόνο μεταξύ των αναλαμπών για τις λυχνίες LED στον Πύργο Σήματος.
Available Functionsvoid setBlinkTime(
uint32_t onTime,
uint32_t offTime = 0 );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Ο χρόνος σε χιλιοστά του δευτερολέπτου που η λυχνία LED θα πρέπει να είναι αναμμένη όταν αναβοσβήνει. Το μέγιστο είναι 2500ms. Η τιμή 0 από προεπιλογή έχει τιμή 500ms. |
|
|
Ο χρόνος σε χιλιοστά του δευτερολέπτου που η λυχνία LED θα πρέπει να είναι σβηστή όταν αναβοσβήνει. Το μέγιστο είναι 2500ms. Η τιμή 0 χρησιμοποιεί την τιμή onTime. Η προεπιλογή είναι 0. |
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
enableBlink#
Επιτρέπει το αναβόσβημα πολλαπλών LED στον Πύργο Σημάτων με βάση τα αναγνωριστικά τους.
Available Functionsvoid enableBlink(
ledId id0,
ledId id1 = ledId::none,
ledId id2 = ledId::none,
ledId id3 = ledId::none,
ledId id4 = ledId::none );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Το αναγνωριστικό LED:
|
|
|
Ο δείκτης του δεύτερου LED (προαιρετικό). Η προεπιλογή είναι
|
|
|
Ο δείκτης της τρίτης λυχνίας LED (προαιρετικό). Η προεπιλογή είναι
|
|
|
Ο δείκτης της τέταρτης λυχνίας LED (προαιρετικό). Η προεπιλογή είναι
|
|
|
Ο δείκτης της πέμπτης λυχνίας LED (προαιρετικά). Η προεπιλογή είναι
|
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
disableBlink#
Απενεργοποιεί το αναβόσβημα πολλαπλών LED στον Πύργο Σημάτων με βάση τα αναγνωριστικά τους.
Available Functionsvoid disableBlink(
ledId id0,
ledId id1 = ledId::none,
ledId id2 = ledId::none,
ledId id3 = ledId::none,
ledId id4 = ledId::none );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Ο δείκτης του πρώτου LED.
|
|
|
Ο δείκτης του δεύτερου LED (προαιρετικό). Η προεπιλογή είναι
|
|
|
Ο δείκτης της τρίτης λυχνίας LED (προαιρετικό). Η προεπιλογή είναι
|
|
|
Ο δείκτης της τέταρτης λυχνίας LED (προαιρετικό). Η προεπιλογή είναι
|
|
|
Ο δείκτης της πέμπτης λυχνίας LED (προαιρετικά). Η προεπιλογή είναι
|
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
pressing#
Επιστρέφει εάν ο προφυλακτήρας του Πύργου Σημάτων πιέζεται αυτήν τη στιγμή. Αυτό μπορεί να χρησιμοποιηθεί ως διακοπή έκτακτης ανάγκης.
Available Functionsbool pressing();
Αυτή η συνάρτηση δεν έχει παραμέτρους.
Return ValuesΕπιστρέφει μια λογική τιμή που υποδεικνύει εάν ο προφυλακτήρας του Πύργου Σημάτων πατιέται αυτήν τη στιγμή.
true— Ο προφυλακτήρας του Πύργου Σημάτων σιδερώνεται αυτήν τη στιγμή.false— Ο προφυλακτήρας του Πύργου Σημάτων δεν πιέζεται.
pressed#
Καταγράφει μια συνάρτηση που θα κληθεί όταν πατηθεί ο προφυλακτήρας του Πύργου Σήματος.
Available Functionsvoid pressed( void (* callback)(void) );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Ένας δείκτης σε μια συνάρτηση που θα κληθεί όταν πατηθεί ο προφυλακτήρας. |
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
ExamplesΟρίστε τη συνάρτηση επανάκλησης (εκτός από
int main())// Display a message when bumper is pressed void towerBumperPressed() { Brain.Screen.print("tower bumper pressed"); }Καταχωρίστε την επανάκληση μέσα στο
int main()int main() { /* vexcodeInit() is only required when using VEXcode. Remove vexcodeInit() if compiling in VS Code. */ vexcodeInit(); // Run towerBumperPressed when the tower bumper // is pressed SignalTower.pressed(towerBumperPressed); }
released#
Καταγράφει μια συνάρτηση που θα κληθεί όταν απελευθερωθεί ο προφυλακτήρας του Πύργου Σήματος.
Available Functionsvoid released( void (* callback)(void) );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Ένας δείκτης σε μια συνάρτηση που θα κληθεί όταν απελευθερωθεί ο προφυλακτήρας. |
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
ExamplesΟρίστε τη συνάρτηση επανάκλησης (εκτός από
int main())// Display a message when bumper is pressed void towerBumperReleased() { Brain.Screen.print("tower bumper pressed"); }Καταχωρίστε την επανάκληση μέσα στο
int main()int main() { /* vexcodeInit() is only required when using VEXcode. Remove vexcodeInit() if compiling in VS Code. */ vexcodeInit(); // Run towerBumperReleased when the tower bumper // is released SignalTower.released(towerBumperReleased); }