Signaalitorni#
Johdanto#
Luokkaa signaltower käytetään valojen vaihtamiseen ja CTE-signaalitornin kanssa tapahtuvien vuorovaikutusten havaitsemiseen.
Luokanrakentajat#
signaltower(
int32_t index );
Luokan tuhoaja#
Tuhoaa signaltower -objektin ja vapauttaa siihen liittyvät resurssit.
virtual ~signaltower();
Parametrit#
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Älyportti, johon signaalitorni on kytketty, kirjoitetaan muodossa |
Esimerkkejä#
// Create a signal tower instance in Port 1
signaltower SignalTower = signaltower(PORT1);
Jäsenten toiminnot#
Luokka signaltower tarjoaa seuraavat jäsenfunktiot:
setColor - Ohjaa signaalitornin LED-värejä ja tiloja erilaisilla syöttötavoilla.
setColors - Asettaa kaikkien signaalitornin LEDien tilan erikseen.
setBlink - Asettaa signaalitornin LED-valon vilkkumistilan LED-valon ID:n perusteella.
setBlinkTime - Asettaa signaalitornin LED-valojen vilkkumisten välisen ajan.
enableBlink - Ottaa käyttöön useiden merkkivalojen vilkkumisen signaalitornissa niiden tunnisteiden mukaan.
disableBlink - Poistaa käytöstä useiden merkkivalojen vilkkumisen niiden ID-tunnusten mukaan signaalitornissa.
painaminen - Palauttaa, painetaanko signaalitornin puskuria parhaillaan.
painettu - Rekisteröi funktion, joka kutsutaan, kun signaalitornin puskuria painetaan.
released - Rekisteröi funktion, joka kutsutaan, kun signaalitornin puskuri vapautetaan.
setColor#
Ohjaa signaalitornin LED-värejä ja tiloja erilaisilla syöttötavoilla. Näitä valoja voidaan käyttää robotin sijainnin seuraamiseen projektissa tai tiettyjen ehtojen täyttymisen osoittamiseen.
Available Functions1 — Asettaa signaalitornin värin käyttämällä vex::color-muuttujaa.
void setColor( vex::color color, signaltower::state state = signaltower::state::on );
2 — Asettaa LED-värit käyttämällä 32-bittisiä RGB- ja YW-arvoja.
void setColor( uint32_t rgb, uint32_t yw );
3 — Asettaa yksittäisen LEDin kirkkautta LED-tunnuksen perusteella.
void setColor( ledId id, uint32_t value );
Parameters4 — Asettaa kaikkien LEDien kirkkaustasot erikseen.
void setColor( uint8_t r, uint8_t y, uint8_t g, uint8_t b, uint8_t w );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Käytettävä väri:
|
|
|
LED-valon tila:
|
|
|
Punaisen, vihreän ja sinisen LEDin kirkkaus käyttäen 32-bittistä arvoa (esim. punainen päällä = |
|
|
Keltaisen ja valkoisen LEDin kirkkaus käyttäen 32-bittistä arvoa (esim. keltainen päällä = |
|
|
Ohjattavan LEDin indeksi:
|
|
|
LEDin kirkkaus 0 - 255, jossa 0 on pois päältä ja 255 on suurin kirkkaus. |
|
|
Punaisen LEDin kirkkaus 0 - 255, jossa 0 on pois päältä ja 255 on suurin kirkkaus. |
|
|
Keltaisen LEDin kirkkaus 0 - 255, jossa 0 on pois päältä ja 255 on suurin kirkkaus. |
|
|
Vihreän LEDin kirkkaus 0 - 255, jossa 0 on pois päältä ja 255 on suurin kirkkaus. |
|
|
Sinisen LEDin kirkkaus 0 - 255, jossa 0 on pois päältä ja 255 on suurin kirkkaus. |
|
|
Valkoisen LEDin kirkkaus 0 - 255, jossa 0 on pois päältä ja 255 on suurin kirkkaus. |
Tämä funktio ei palauta arvoa.
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#
Asettaa signaalitornin kaikkien LED-valojen tilan erikseen. Näitä valoja voidaan käyttää robotin sijainnin seuraamiseen projektissa tai tiettyjen ehtojen täyttymisen osoittamiseen.
Available Functionsvoid setColors(
signaltower::state rs,
signaltower::state ys,
signaltower::state gs,
signaltower::state bs,
signaltower::state ws );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Punaisen LED-valon tila:
|
|
|
Keltaisen LED-valon tila:
|
|
|
Vihreän LED-valon tila:
|
|
|
Sinisen LED-valon tila:
|
|
|
Valkoisen LED-valon tila:
|
Tämä funktio ei palauta arvoa.
Examples// Turn on all LEDs
SignalTower.setColors(signaltower::on, signaltower::on, signaltower::on, signaltower::on, signaltower::on);
setBlink#
Asettaa signaalitornin LED-valon vilkkumistilan LED-tunnuksen perusteella. Näitä vilkkuvia valoja voidaan käyttää osoittamaan, milloin tietyt ehdot täyttyvät, kuten milloin robotti odottaa tai milloin se tarvitsee huomiota.
Available Functionsvoid setBlink(
ledId id,
bool enable );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
LED-tunnus:
|
|
|
|
Tämä funktio ei palauta arvoa.
setBlinkTime#
Asettaa signaalitornin LED-valojen vilkkumisten välisen ajan.
Available Functionsvoid setBlinkTime(
uint32_t onTime,
uint32_t offTime = 0 );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
LED-valon vilkkumisaika millisekunteina. Enimmäisarvo on 2500 ms. Arvo 0 on oletusarvo 500 ms. |
|
|
Aika millisekunteina, jonka LEDin tulisi olla pois päältä vilkkuessaan. Enimmäisarvo on 2500 ms. Arvo 0 käyttää päälläoloaika-arvoa. Oletusarvo on 0. |
Tämä funktio ei palauta arvoa.
enableBlink#
Mahdollistaa useiden merkkivalojen vilkkumisen signaalitornissa niiden tunnisteiden mukaan.
Available Functionsvoid enableBlink(
ledId id0,
ledId id1 = ledId::none,
ledId id2 = ledId::none,
ledId id3 = ledId::none,
ledId id4 = ledId::none );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
LED-tunnus:
|
|
|
Toisen LEDin indeksi (valinnainen). Oletusarvo on
|
|
|
Kolmannen LEDin indeksi (valinnainen). Oletusarvo on
|
|
|
Neljännen LEDin indeksi (valinnainen). Oletusarvo on
|
|
|
Viidennen LEDin indeksi (valinnainen). Oletusarvo on
|
Tämä funktio ei palauta arvoa.
disableBlink#
Poistaa käytöstä useiden merkkivalojen vilkkumisen signaalitornissa niiden tunnisteiden mukaan.
Available Functionsvoid disableBlink(
ledId id0,
ledId id1 = ledId::none,
ledId id2 = ledId::none,
ledId id3 = ledId::none,
ledId id4 = ledId::none );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Ensimmäisen LEDin indeksi.
|
|
|
Toisen LEDin indeksi (valinnainen). Oletusarvo on
|
|
|
Kolmannen LEDin indeksi (valinnainen). Oletusarvo on
|
|
|
Neljännen LEDin indeksi (valinnainen). Oletusarvo on
|
|
|
Viidennen LEDin indeksi (valinnainen). Oletusarvo on
|
Tämä funktio ei palauta arvoa.
pressing#
Palauttaa tiedon siitä, painetaanko signaalitornin puskuria parhaillaan. Tätä voidaan käyttää hätäpysäytyksenä.
Available Functionsbool pressing();
Tällä funktiolla ei ole parametreja.
Return ValuesPalauttaa totuusarvon, joka ilmaisee, painetaanko signaalitornin puskuria parhaillaan.
true— Signaalitornin puskuria painetaan parhaillaan.false— Signaalitornin puskuria ei paineta.
pressed#
Rekisteröi funktion, joka kutsutaan, kun signaalitornin puskuria painetaan.
Available Functionsvoid pressed( void (* callback)(void) );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Osoitin funktioon, jota kutsutaan, kun puskuria painetaan. |
Tämä funktio ei palauta arvoa.
ExamplesMäärittele takaisinkutsufunktio (
int main())// Display a message when bumper is pressed void towerBumperPressed() { Brain.Screen.print("tower bumper pressed"); }Rekisteröi takaisinkutsu
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#
Rekisteröi funktion, joka kutsutaan, kun signaalitornin puskuri vapautetaan.
Available Functionsvoid released( void (* callback)(void) );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Osoitin funktioon, jota kutsutaan, kun puskuri vapautetaan. |
Tämä funktio ei palauta arvoa.
ExamplesMäärittele takaisinkutsufunktio (
int main())// Display a message when bumper is pressed void towerBumperReleased() { Brain.Screen.print("tower bumper pressed"); }Rekisteröi takaisinkutsu
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); }