Signální věž#
Zavedení#
Třída signaltower se používá ke změně světel a detekci interakcí se signální věží CTE.
Konstruktory tříd#
signaltower(
int32_t index );
Destruktor tříd#
Zničí objekt signaltower a uvolní související zdroje.
virtual ~signaltower();
Parametry#
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Inteligentní port, ke kterému je připojena signální věž, zapsaný jako |
Příklady#
// Create a signal tower instance in Port 1
signaltower SignalTower = signaltower(PORT1);
Členské funkce#
Třída signaltower poskytuje následující členské funkce:
setColor - Ovládá barvy a stavy LED diod na signální věži pomocí různých vstupních metod.
setColors - Nastaví stav všech LED diod na signální věži jednotlivě.
setBlink - Nastaví stav blikání LED diody na signální věži podle ID LED diody.
setBlinkTime - Nastaví dobu mezi bliknutími LED diod na signální věži.
enableBlink – Povolí blikání více LED diod na signální věži podle jejich ID.
disableBlink - Zakáže blikání více LED diod na signální věži podle jejich ID.
pressing – Vrátí, zda je nárazník Signal Tower aktuálně stisknut.
stisknuto - Registruje funkci, která se má volat při stisknutí nárazníku Signal Tower.
uvolněno – Registruje funkci, která se má zavolat při uvolnění nárazníku Signal Tower.
setColor#
Ovládá barvy a stavy LED diod na signální věži pomocí různých metod zadávání. Tato světla lze použít ke sledování, kde se robot v projektu nachází, nebo k indikaci splnění určitých podmínek.
Available Functions1 — Nastaví barvu signální věže pomocí vex::color.
void setColor( vex::color color, signaltower::state state = signaltower::state::on );
2 — Nastavuje barvy LED diod pomocí 32bitových hodnot RGB a YW.
void setColor( uint32_t rgb, uint32_t yw );
3 — Nastavuje jas jednotlivých LED diod podle ID LED diody.
void setColor( ledId id, uint32_t value );
Parameters4 — Nastavuje úrovně jasu pro všechny LED diody jednotlivě.
void setColor( uint8_t r, uint8_t y, uint8_t g, uint8_t b, uint8_t w );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Použitá barva:
|
|
|
Stav LED diody:
|
|
|
Jas červené, zelené a modré LED diody s použitím 32bitové hodnoty (např. červená zapnutá = |
|
|
Jas žluté a bílé LED diody s použitím 32bitové hodnoty (např. žlutá zapnutá = |
|
|
Index ovládané LED diody:
|
|
|
Jas LED diody od 0 do 255, kde 0 je vypnuto a 255 je maximální jas. |
|
|
Jas červené LED diody od 0 do 255, kde 0 je vypnuto a 255 je maximální jas. |
|
|
Jas žluté LED diody od 0 do 255, kde 0 znamená vypnuto a 255 je maximální jas. |
|
|
Jas zelené LED diody od 0 do 255, kde 0 je vypnuto a 255 je maximální jas. |
|
|
Jas modré LED diody od 0 do 255, kde 0 je vypnuto a 255 je maximální jas. |
|
|
Jas bílé LED diody od 0 do 255, kde 0 je vypnuto a 255 je maximální jas. |
Tato funkce nevrací hodnotu.
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#
Nastavuje stav všech LED diod na signální věži jednotlivě. Tato světla lze použít ke sledování, kde se robot v projektu nachází, nebo k indikaci splnění určitých podmínek.
Available Functionsvoid setColors(
signaltower::state rs,
signaltower::state ys,
signaltower::state gs,
signaltower::state bs,
signaltower::state ws );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Stav červené LED diody:
|
|
|
Stav žluté LED diody:
|
|
|
Stav zelené LED diody:
|
|
|
Stav modré LED diody:
|
|
|
Stav bílé LED diody:
|
Tato funkce nevrací hodnotu.
Examples// Turn on all LEDs
SignalTower.setColors(signaltower::on, signaltower::on, signaltower::on, signaltower::on, signaltower::on);
setBlink#
Nastavuje stav blikání LED diody na signální věži podle ID LED diody. Tato blikající světla lze použít k signalizaci splnění určitých podmínek, například když robot čeká nebo když je nutná jeho pozornost.
Available Functionsvoid setBlink(
ledId id,
bool enable );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
ID LED:
|
|
|
|
Tato funkce nevrací hodnotu.
setBlinkTime#
Nastavuje dobu mezi bliknutími LED diod na signální věži.
Available Functionsvoid setBlinkTime(
uint32_t onTime,
uint32_t offTime = 0 );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Doba v milisekundách, po kterou by měla LED dioda blikat. Maximální hodnota je 2500 ms. Hodnota 0 je výchozí hodnota 500 ms. |
|
|
Doba v milisekundách, po kterou by LED dioda měla být při blikání zhasnutá. Maximální hodnota je 2500 ms. Hodnota 0 používá hodnotu onTime. Výchozí hodnota je 0. |
Tato funkce nevrací hodnotu.
enableBlink#
Umožňuje blikání více LED diod na signální věži podle jejich ID.
Available Functionsvoid enableBlink(
ledId id0,
ledId id1 = ledId::none,
ledId id2 = ledId::none,
ledId id3 = ledId::none,
ledId id4 = ledId::none );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
ID LED:
|
|
|
Index druhé LED diody (volitelné). Výchozí hodnota je
|
|
|
Index třetí LED diody (volitelné). Výchozí hodnota je
|
|
|
Index čtvrté LED diody (volitelné). Výchozí hodnota je
|
|
|
Index páté LED diody (volitelné). Výchozí hodnota je
|
Tato funkce nevrací hodnotu.
disableBlink#
Zakáže blikání více LED diod na signální věži podle jejich ID.
Available Functionsvoid disableBlink(
ledId id0,
ledId id1 = ledId::none,
ledId id2 = ledId::none,
ledId id3 = ledId::none,
ledId id4 = ledId::none );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Index první LED diody.
|
|
|
Index druhé LED diody (volitelné). Výchozí hodnota je
|
|
|
Index třetí LED diody (volitelné). Výchozí hodnota je
|
|
|
Index čtvrté LED diody (volitelné). Výchozí hodnota je
|
|
|
Index páté LED diody (volitelné). Výchozí hodnota je
|
Tato funkce nevrací hodnotu.
pressing#
Vrací, zda je nárazník signální věže aktuálně stisknutý. Toto lze použít jako nouzové zastavení.
Available Functionsbool pressing();
Tato funkce nemá parametry.
Return ValuesVrací booleovskou hodnotu označující, zda je nárazník signální věže aktuálně stisknut.
true— Nárazník signální věže se právě lisuje.false— Nárazník signální věže není stlačen.
pressed#
Registruje funkci, která se má volat při stisknutí nárazníku Signal Tower.
Available Functionsvoid pressed( void (* callback)(void) );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Ukazatel na funkci, která bude volána při stisknutí nárazníku. |
Tato funkce nevrací hodnotu.
ExamplesDefinujte callback funkci (mimo
int main())// Display a message when bumper is pressed void towerBumperPressed() { Brain.Screen.print("tower bumper pressed"); }Zaregistrujte zpětné volání uvnitř
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#
Registruje funkci, která se má zavolat při uvolnění nárazníku Signal Tower.
Available Functionsvoid released( void (* callback)(void) );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Ukazatel na funkci, která bude volána při uvolnění nárazníku. |
Tato funkce nevrací hodnotu.
ExamplesDefinujte callback funkci (mimo
int main())// Display a message when bumper is released void towerBumperReleased() { Brain.Screen.print("tower bumper released"); }Zaregistrujte zpětné volání uvnitř
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); }