Πύργος Σημάτων#
Εισαγωγή#
The signaltower class is used to change lights and detect interactions with the CTE Signal Tower.
Κατασκευαστές κλάσεων#
signaltower(
int32_t index );
Καταστροφέας κλάσης#
Destroys the signaltower object and releases associated resources.
virtual ~signaltower();
Παράμετροι#
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
The Smart Port that the Signal Tower is connected to, written as |
Παραδείγματα#
// Create a signal tower instance in Port 1
signaltower SignalTower = signaltower(PORT1);
Συναρτήσεις Μελών#
The signaltower class provides the following member functions:
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 );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
The color to use:
|
|
|
The state for the LED:
|
|
|
The brightness of red, green and blue LED using a 32-bit value (e.g., red on = |
|
|
The brightness of yellow and white LED using a 32-bit value (e.g., yellow on = |
|
|
The index of the LED to control:
|
|
|
Η φωτεινότητα της λυχνίας 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 );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
The state of the red LED:
|
|
|
The state of the yellow LED:
|
|
|
The state of the green LED:
|
|
|
The state of the blue LED:
|
|
|
The state of the white 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 );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
The LED ID:
|
|
|
|
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
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 );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
The LED ID:
|
|
|
The index of the second LED (optional). Default is
|
|
|
The index of the third LED (optional). Default is
|
|
|
The index of the fourth LED (optional). Default is
|
|
|
The index of the fifth LED (optional). Default is
|
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
disableBlink#
Απενεργοποιεί το αναβόσβημα πολλαπλών LED στον Πύργο Σημάτων με βάση τα αναγνωριστικά τους.
Available Functionsvoid disableBlink(
ledId id0,
ledId id1 = ledId::none,
ledId id2 = ledId::none,
ledId id3 = ledId::none,
ledId id4 = ledId::none );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
The index of the first LED.
|
|
|
The index of the second LED (optional). Default is
|
|
|
The index of the third LED (optional). Default is
|
|
|
The index of the fourth LED (optional). Default is
|
|
|
The index of the fifth LED (optional). Default is
|
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
pressing#
Επιστρέφει εάν ο προφυλακτήρας του Πύργου Σημάτων πιέζεται αυτήν τη στιγμή. Αυτό μπορεί να χρησιμοποιηθεί ως διακοπή έκτακτης ανάγκης.
Available Functionsbool pressing();
Αυτή η συνάρτηση δεν έχει παραμέτρους.
Return ValuesΕπιστρέφει μια λογική τιμή που υποδεικνύει εάν ο προφυλακτήρας του Πύργου Σημάτων πατιέται αυτήν τη στιγμή.
true— The Signal Tower’s bumper is currently being pressed.false— The Signal Tower’s bumper is not being pressed.
pressed#
Καταγράφει μια συνάρτηση που θα κληθεί όταν πατηθεί ο προφυλακτήρας του Πύργου Σήματος.
Available Functionsvoid pressed( void (* callback)(void) );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Ένας δείκτης σε μια συνάρτηση που θα κληθεί όταν πατηθεί ο προφυλακτήρας. |
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
ExamplesDefine the callback function (outside of
int main())// Display a message when bumper is pressed void towerBumperPressed() { Brain.Screen.print("tower bumper pressed"); }Register the callback inside
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) );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Ένας δείκτης σε μια συνάρτηση που θα κληθεί όταν απελευθερωθεί ο προφυλακτήρας. |
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
ExamplesDefine the callback function (outside of
int main())// Display a message when bumper is pressed void towerBumperReleased() { Brain.Screen.print("tower bumper pressed"); }Register the callback inside
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); }