Signalturm#
Einführung#
Die Klasse signaltower dient dazu, Ampeln zu schalten und Interaktionen mit dem CTE-Signalturm zu erkennen.
Klassenkonstruktoren#
signaltower(
int32_t index );
Klassendestruktor#
Destroys the signaltower object and releases associated resources.
virtual ~signaltower();
Parameter#
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Der Smart Port, an den der Signal Tower angeschlossen ist, wird als |
Beispiele#
// Create a signal tower instance in Port 1
signaltower SignalTower = signaltower(PORT1);
Mitgliedsfunktionen#
Die Klasse signaltower stellt die folgenden Memberfunktionen bereit:
setColor - Steuert die LED-Farben und -Zustände am Signalturm mithilfe verschiedener Eingabemethoden.
setColors - Legt den Zustand aller LEDs am Signalturm einzeln fest.
setBlink - Legt den Blinkzustand einer LED am Signalturm anhand der LED-ID fest.
setBlinkTime - Legt die Zeit zwischen den Blinkvorgängen der LEDs am Signalturm fest.
enableBlink - Aktiviert das Blinken mehrerer LEDs am Signalturm anhand ihrer IDs.
disableBlink - Deaktiviert das Blinken mehrerer LEDs am Signalturm anhand ihrer IDs.
pressing - Gibt zurück, ob der Signal Tower Bumper gerade gedrückt wird.
gedrückt - Registriert eine Funktion, die aufgerufen werden soll, wenn der Signalturm-Stoßdämpfer gedrückt wird.
released - Registriert eine Funktion, die aufgerufen wird, wenn der Signal Tower Bumper losgelassen wird.
setColor#
Steuert die LED-Farben und -Zustände am Signalturm über verschiedene Eingabemethoden. Diese Leuchten können verwendet werden, um die Position des Roboters in einem Projekt zu verfolgen oder um anzuzeigen, wann bestimmte Bedingungen erfüllt sind.
Available Functions1 — Legt die Farbe des Signalturms mithilfe von vex::color fest.
void setColor( vex::color color, signaltower::state state = signaltower::state::on );
2 — Legt die LED-Farben mithilfe von 32-Bit-RGB- und YW-Werten fest.
void setColor( uint32_t rgb, uint32_t yw );
3 — Legt die Helligkeit einzelner LEDs anhand der LED-ID fest.
void setColor( ledId id, uint32_t value );
Parameters4 — Legt die Helligkeitsstufen für alle LEDs einzeln fest.
void setColor( uint8_t r, uint8_t y, uint8_t g, uint8_t b, uint8_t w );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Die zu verwendende Farbe:
|
|
|
Der Zustand der LED:
|
|
|
Die Helligkeit der roten, grünen und blauen LED wird mit einem 32-Bit-Wert angegeben (z. B. rot an = |
|
|
Die Helligkeit der gelben und weißen LED wird mit einem 32-Bit-Wert angegeben (z. B. gelb an = |
|
|
Index der zu steuernden LED:
|
|
|
Die Helligkeit der LED reicht von 0 bis 255, wobei 0 für Aus und 255 für maximale Helligkeit steht. |
|
|
Die Helligkeit der roten LED reicht von 0 bis 255, wobei 0 für aus und 255 für maximale Helligkeit steht. |
|
|
Die Helligkeit der gelben LED reicht von 0 bis 255, wobei 0 für aus und 255 für maximale Helligkeit steht. |
|
|
Die Helligkeit der grünen LED reicht von 0 bis 255, wobei 0 für aus und 255 für maximale Helligkeit steht. |
|
|
Die Helligkeit der blauen LED reicht von 0 bis 255, wobei 0 für aus und 255 für maximale Helligkeit steht. |
|
|
Die Helligkeit der weißen LED reicht von 0 bis 255, wobei 0 für aus und 255 für maximale Helligkeit steht. |
Diese Funktion gibt keinen Wert zurück.
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#
Legt den Status aller LEDs am Signalturm individuell fest. Diese Leuchten können verwendet werden, um die Position des Roboters in einem Projekt zu verfolgen oder um anzuzeigen, wann bestimmte Bedingungen erfüllt sind.
Available Functionsvoid setColors(
signaltower::state rs,
signaltower::state ys,
signaltower::state gs,
signaltower::state bs,
signaltower::state ws );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Der Zustand der roten LED:
|
|
|
Der Zustand der gelben LED:
|
|
|
Der Zustand der grünen LED:
|
|
|
Der Zustand der blauen LED:
|
|
|
Der Zustand der weißen LED:
|
Diese Funktion gibt keinen Wert zurück.
Examples// Turn on all LEDs
SignalTower.setColors(signaltower::on, signaltower::on, signaltower::on, signaltower::on, signaltower::on);
setBlink#
Legt den Blinkzustand einer LED am Signalturm anhand ihrer ID fest. Diese blinkenden Lichter können verwendet werden, um anzuzeigen, wann bestimmte Bedingungen erfüllt sind, z. B. wenn der Roboter wartet oder Aufmerksamkeit benötigt wird.
Available Functionsvoid setBlink(
ledId id,
bool enable );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Die LED-ID:
|
|
|
|
Diese Funktion gibt keinen Wert zurück.
setBlinkTime#
Legt die Zeit zwischen den Blinksignalen der LEDs am Signalturm fest.
Available Functionsvoid setBlinkTime(
uint32_t onTime,
uint32_t offTime = 0 );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Die Blinkdauer der LED in Millisekunden. Maximalwert: 2500 ms. Der Wert 0 entspricht standardmäßig 500 ms. |
|
|
Die Zeit in Millisekunden, die die LED beim Blinken ausgeschaltet sein soll. Maximalwert: 2500 ms. Der Wert 0 entspricht dem Wert für die Einschaltzeit. Standardwert: 0. |
Diese Funktion gibt keinen Wert zurück.
enableBlink#
Ermöglicht das Blinken mehrerer LEDs am Signalturm anhand ihrer IDs.
Available Functionsvoid enableBlink(
ledId id0,
ledId id1 = ledId::none,
ledId id2 = ledId::none,
ledId id3 = ledId::none,
ledId id4 = ledId::none );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Die LED-ID:
|
|
|
Index der zweiten LED (optional). Standardwert ist
|
|
|
Index der dritten LED (optional). Standardwert ist
|
|
|
Index der vierten LED (optional). Standardwert ist
|
|
|
Index der fünften LED (optional). Standardwert ist
|
Diese Funktion gibt keinen Wert zurück.
disableBlink#
Deaktiviert das Blinken mehrerer LEDs am Signalturm anhand ihrer IDs.
Available Functionsvoid disableBlink(
ledId id0,
ledId id1 = ledId::none,
ledId id2 = ledId::none,
ledId id3 = ledId::none,
ledId id4 = ledId::none );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Index der ersten LED.
|
|
|
Index der zweiten LED (optional). Standardwert ist
|
|
|
Index der dritten LED (optional). Standardwert ist
|
|
|
Index der vierten LED (optional). Standardwert ist
|
|
|
Index der fünften LED (optional). Standardwert ist
|
Diese Funktion gibt keinen Wert zurück.
pressing#
Gibt zurück, ob der Stoßdämpfer des Signalturms gerade betätigt wird. Dies kann als Notstopp verwendet werden.
Available Functionsbool pressing();
Diese Funktion hat keine Parameter.
Return ValuesGibt einen booleschen Wert zurück, der angibt, ob der Stoßdämpfer des Signalturms gerade gedrückt wird.
true— Der Stoßfänger des Signalturms wird gerade gedrückt.false— Der Stoßfänger des Signalturms wird nicht gedrückt.
pressed#
Registriert eine Funktion, die aufgerufen werden soll, wenn der Signalturm-Stoßdämpfer gedrückt wird.
Available Functionsvoid pressed( void (* callback)(void) );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Ein Zeiger auf eine Funktion, die beim Drücken des Stoßfängers aufgerufen wird. |
Diese Funktion gibt keinen Wert zurück.
ExamplesDefiniere die Callback-Funktion (außerhalb von
int main())// Display a message when bumper is pressed void towerBumperPressed() { Brain.Screen.print("tower bumper pressed"); }Registriere den Callback innerhalb von
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#
Registriert eine Funktion, die aufgerufen werden soll, wenn der Signalturm-Stoßdämpfer losgelassen wird.
Available Functionsvoid released( void (* callback)(void) );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Ein Zeiger auf eine Funktion, die aufgerufen wird, wenn der Stoßdämpfer losgelassen wird. |
Diese Funktion gibt keinen Wert zurück.
ExamplesDefiniere die Callback-Funktion (außerhalb von
int main())// Display a message when bumper is released void towerBumperReleased() { Brain.Screen.print("tower bumper released"); }Registriere den Callback innerhalb von
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); }