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

index

int32_t

Inteligentní port, ke kterému je připojena signální věž, zapsaný jako PORTx, kde x je číslo portu (například PORT1).

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 Functions

1 — 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 );

4 — 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 );

Parameters

Parametr

Typ

Popis

color

vex::color

Použitá barva:

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

state

signaltower::state

Stav LED diody:

  • on (výchozí) – Zapne LED diodu.
  • off – Vypne LED diodu.
  • blink – Zajistí, aby LED dioda blikala.

rgb

uint32_t

Jas červené, zelené a modré LED diody s použitím 32bitové hodnoty (např. červená zapnutá = 0xFF0000, zelená zapnutá = 0x00FF00a modrá zapnutá = 0x0000FF).

yw

uint32_t

Jas žluté a bílé LED diody s použitím 32bitové hodnoty (např. žlutá zapnutá = 0xFF00 a bílá zapnutá = 0x00FF).

id

ledId

Index ovládané LED diody:

  • 0 – červená
  • 1 – zelená
  • 2 – modrá
  • 3 – bílá
  • 4 – žlutá

value

uint32_t

Jas LED diody od 0 do 255, kde 0 je vypnuto a 255 je maximální jas.

r

uint8_t

Jas červené LED diody od 0 do 255, kde 0 je vypnuto a 255 je maximální jas.

y

uint8_t

Jas žluté LED diody od 0 do 255, kde 0 znamená vypnuto a 255 je maximální jas.

g

uint8_t

Jas zelené LED diody od 0 do 255, kde 0 je vypnuto a 255 je maximální jas.

b

uint8_t

Jas modré LED diody od 0 do 255, kde 0 je vypnuto a 255 je maximální jas.

w

uint8_t

Jas bílé LED diody od 0 do 255, kde 0 je vypnuto a 255 je maximální jas.

Return Values

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

Parameters

Parametr

Typ

Popis

rs

signaltower::state

Stav červené LED diody:

  • on – Zapne LED diodu.
  • off – Vypne LED diodu.
  • blink – Zapne LED diodu.

ys

signaltower::state

Stav žluté LED diody:

  • on – Zapne LED diodu.
  • off – Vypne LED diodu.
  • blink – Zapne LED diodu.

gs

signaltower::state

Stav zelené LED diody:

  • on – Zapne LED diodu.
  • off – Vypne LED diodu.
  • blink – Zapne blikání LED diody.

bs

signaltower::state

Stav modré LED diody:

  • on – Zapne LED diodu.
  • off – Vypne LED diodu.
  • blink – Zapne blikání LED diody.

ws

signaltower::state

Stav bílé LED diody:

  • on – Zapne LED diodu.
  • off – Vypne LED diodu.
  • blink – Zapne LED diodu.

Return Values

Tato funkce nevrací hodnotu.

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

setBlinkTime#

Nastavuje dobu mezi bliknutími LED diod na signální věži.

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

Parameters

Parametr

Typ

Popis

onTime

uint32_t

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.

offTime

uint32_t

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.

Return Values

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 Functions
bool pressing();

Parameters

Tato funkce nemá parametry.

Return Values

Vrací 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 Functions
void pressed( void (* callback)(void) );

Parameters

Parametr

Typ

Popis

callback

void (*)(void)

Ukazatel na funkci, která bude volána při stisknutí nárazníku.

Return Values

Tato funkce nevrací hodnotu.

Examples

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

Parameters

Parametr

Typ

Popis

callback

void (*)(void)

Ukazatel na funkci, která bude volána při uvolnění nárazníku.

Return Values

Tato funkce nevrací hodnotu.

Examples

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