Πύργος Σημάτων#

Εισαγωγή#

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();

Παράμετροι#

Παράμετρος

Τύπος

Περιγραφή

index

int32_t

The Smart Port that the Signal Tower is connected to, written as PORTx, where x is the port number (for example, PORT1).

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

// 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 Functions

1 Ορίζει τον Πύργο Σημάτων σε ένα χρώμα χρησιμοποιώντας την εντολή 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 );

4 Ορίζει τα επίπεδα φωτεινότητας για όλα τα LED ξεχωριστά.

void setColor( 
  uint8_t r, 
  uint8_t y, 
  uint8_t g, 
  uint8_t b, 
  uint8_t w );

Parameters

Παράμετρος

Τύπος

Περιγραφή

color

vex::color

The color to use:

  • red
  • yellow
  • green
  • blue
  • white
  • all

state

signaltower::state

The state for the LED:

  • on (Default) – Turns the LED on.
  • off – Turns the LED off.
  • blink – Makes the LED blink.

rgb

uint32_t

The brightness of red, green and blue LED using a 32-bit value (e.g., red on = 0xFF0000, green on = 0x00FF00, and blue on = 0x0000FF).

yw

uint32_t

The brightness of yellow and white LED using a 32-bit value (e.g., yellow on = 0xFF00 and white on = 0x00FF).

id

ledId

The index of the LED to control:

  • 0 – red
  • 1 – green
  • 2 – blue
  • 3 – white
  • 4 – yellow

value

uint32_t

Η φωτεινότητα της λυχνίας LED κυμαίνεται από 0 έως 255, με το 0 να είναι σβηστό και το 255 να είναι η μέγιστη φωτεινότητα.

r

uint8_t

Η φωτεινότητα του κόκκινου LED κυμαίνεται από 0 έως 255, με το 0 να είναι σβηστό και το 255 να είναι η μέγιστη φωτεινότητα.

y

uint8_t

Η φωτεινότητα του κίτρινου LED κυμαίνεται από 0 έως 255, με το 0 να είναι σβηστό και το 255 να είναι η μέγιστη φωτεινότητα.

g

uint8_t

Η φωτεινότητα του πράσινου LED κυμαίνεται από 0 έως 255, με το 0 να είναι σβηστό και το 255 να είναι η μέγιστη φωτεινότητα.

b

uint8_t

Η φωτεινότητα του μπλε LED κυμαίνεται από 0 έως 255, με το 0 να είναι σβηστό και το 255 να είναι η μέγιστη φωτεινότητα.

w

uint8_t

Η φωτεινότητα του λευκού LED κυμαίνεται από 0 έως 255, με το 0 να είναι σβηστό και το 255 να είναι η μέγιστη φωτεινότητα.

Return Values

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

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 Functions
void setColors( 
  signaltower::state rs, 
  signaltower::state ys, 
  signaltower::state gs, 
  signaltower::state bs, 
  signaltower::state ws );

Parameters

Παράμετρος

Τύπος

Περιγραφή

rs

signaltower::state

The state of the red LED:

  • on – Turns the LED on.
  • off – Turns the LED off.
  • blink – Makes the LED blink.

ys

signaltower::state

The state of the yellow LED:

  • on – Turns the LED on.
  • off – Turns the LED off.
  • blink – Makes the LED blink.

gs

signaltower::state

The state of the green LED:

  • on – Turns the LED on.
  • off – Turns the LED off.
  • blink – Makes the LED blink.

bs

signaltower::state

The state of the blue LED:

  • on – Turns the LED on.
  • off – Turns the LED off.
  • blink – Makes the LED blink.

ws

signaltower::state

The state of the white LED:

  • on – Turns the LED on.
  • off – Turns the LED off.
  • blink – Makes the LED blink.

Return Values

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

Examples
// Turn on all LEDs
SignalTower.setColors(signaltower::on, signaltower::on, signaltower::on, signaltower::on, signaltower::on);

setBlinkTime#

Ρυθμίζει το χρόνο μεταξύ των αναλαμπών για τις λυχνίες LED στον Πύργο Σήματος.

Available Functions
void setBlinkTime( 
  uint32_t onTime, 
  uint32_t offTime = 0 );

Parameters

Παράμετρος

Τύπος

Περιγραφή

onTime

uint32_t

Ο χρόνος σε χιλιοστά του δευτερολέπτου που η λυχνία LED θα πρέπει να είναι αναμμένη όταν αναβοσβήνει. Το μέγιστο είναι 2500ms. Η τιμή 0 από προεπιλογή έχει τιμή 500ms.

offTime

uint32_t

Ο χρόνος σε χιλιοστά του δευτερολέπτου που η λυχνία LED θα πρέπει να είναι σβηστή όταν αναβοσβήνει. Το μέγιστο είναι 2500ms. Η τιμή 0 χρησιμοποιεί την τιμή onTime. Η προεπιλογή είναι 0.

Return Values

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

pressing#

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

Available Functions
bool pressing();

Parameters

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

Return Values

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

  • true — The Signal Tower’s bumper is currently being pressed.

  • false — The Signal Tower’s bumper is not being pressed.

pressed#

Καταγράφει μια συνάρτηση που θα κληθεί όταν πατηθεί ο προφυλακτήρας του Πύργου Σήματος.

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

Parameters

Παράμετρος

Τύπος

Περιγραφή

callback

void (*)(void)

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

Return Values

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

Examples

Define 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 Functions
void released( void (* callback)(void) );

Parameters

Παράμετρος

Τύπος

Περιγραφή

callback

void (*)(void)

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

Return Values

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

Examples

Define the callback function (outside of int main())

// Display a message when bumper is released
void towerBumperReleased() {
  Brain.Screen.print("tower bumper released");
}

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);
}