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

index

int32_t

Älyportti, johon signaalitorni on kytketty, kirjoitetaan muodossa PORTx, jossa x on portin numero (esimerkiksi PORT1).

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 Functions

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

4 — Asettaa kaikkien LEDien kirkkaustasot erikseen.

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

Parameters

Parametri

Tyyppi

Kuvaus

color

vex::color

Käytettävä väri:

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

state

signaltower::state

LED-valon tila:

  • on (oletus) – Sytyttää LED-valon.
  • off – Sammuttaa LED-valon.
  • blink – Saa LED-valon vilkkumaan.

rgb

uint32_t

Punaisen, vihreän ja sinisen LEDin kirkkaus käyttäen 32-bittistä arvoa (esim. punainen päällä = 0xFF0000, vihreä päällä = 0x00FF00ja sininen päällä = 0x0000FF).

yw

uint32_t

Keltaisen ja valkoisen LEDin kirkkaus käyttäen 32-bittistä arvoa (esim. keltainen päällä = 0xFF00 ja valkoinen päällä = 0x00FF).

id

ledId

Ohjattavan LEDin indeksi:

  • 0 – punainen
  • 1 – vihreä
  • 2 – sininen
  • 3 – valkoinen
  • 4 – keltainen

value

uint32_t

LEDin kirkkaus 0 - 255, jossa 0 on pois päältä ja 255 on suurin kirkkaus.

r

uint8_t

Punaisen LEDin kirkkaus 0 - 255, jossa 0 on pois päältä ja 255 on suurin kirkkaus.

y

uint8_t

Keltaisen LEDin kirkkaus 0 - 255, jossa 0 on pois päältä ja 255 on suurin kirkkaus.

g

uint8_t

Vihreän LEDin kirkkaus 0 - 255, jossa 0 on pois päältä ja 255 on suurin kirkkaus.

b

uint8_t

Sinisen LEDin kirkkaus 0 - 255, jossa 0 on pois päältä ja 255 on suurin kirkkaus.

w

uint8_t

Valkoisen LEDin kirkkaus 0 - 255, jossa 0 on pois päältä ja 255 on suurin kirkkaus.

Return Values

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

Parameters

Parametri

Tyyppi

Kuvaus

rs

signaltower::state

Punaisen LED-valon tila:

  • on – Sytyttää LED-valon.
  • off – Sammuttaa LED-valon.
  • blink – Saa LED-valon vilkkumaan.

ys

signaltower::state

Keltaisen LED-valon tila:

  • on – Sytyttää LED-valon.
  • off – Sammuttaa LED-valon.
  • blink – Saa LED-valon vilkkumaan.

gs

signaltower::state

Vihreän LED-valon tila:

  • on – Sytyttää LED-valon.
  • off – Sammuttaa LED-valon.
  • blink – Saa LED-valon vilkkumaan.

bs

signaltower::state

Sinisen LED-valon tila:

  • on – Sytyttää LED-valon.
  • off – Sammuttaa LED-valon.
  • blink – Saa LED-valon vilkkumaan.

ws

signaltower::state

Valkoisen LED-valon tila:

  • on – Sytyttää LED-valon.
  • off – Sammuttaa LED-valon.
  • blink – Saa LED-valon vilkkumaan.

Return Values

Tämä funktio ei palauta arvoa.

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

setBlinkTime#

Asettaa signaalitornin LED-valojen vilkkumisten välisen ajan.

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

Parameters

Parametri

Tyyppi

Kuvaus

onTime

uint32_t

LED-valon vilkkumisaika millisekunteina. Enimmäisarvo on 2500 ms. Arvo 0 on oletusarvo 500 ms.

offTime

uint32_t

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.

Return Values

Tämä funktio ei palauta arvoa.

pressing#

Palauttaa tiedon siitä, painetaanko signaalitornin puskuria parhaillaan. Tätä voidaan käyttää hätäpysäytyksenä.

Available Functions
bool pressing();

Parameters

Tällä funktiolla ei ole parametreja.

Return Values

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

Parameters

Parametri

Tyyppi

Kuvaus

callback

void (*)(void)

Osoitin funktioon, jota kutsutaan, kun puskuria painetaan.

Return Values

Tämä funktio ei palauta arvoa.

Examples

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

Parameters

Parametri

Tyyppi

Kuvaus

callback

void (*)(void)

Osoitin funktioon, jota kutsutaan, kun puskuri vapautetaan.

Return Values

Tämä funktio ei palauta arvoa.

Examples

Määrittele takaisinkutsufunktio ( int main())

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

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