Jelzőtorony#

Bevezetés#

A signaltower osztályát a lámpák váltására és a CTE jelzőtoronnyal való interakciók észlelésére használják.

Osztálykonstruktorok#

signaltower( 
  int32_t  index );

Osztálydestruktor#

Megsemmisíti a signaltower objektumot és felszabadítja a hozzá tartozó erőforrásokat.

virtual ~signaltower();

Paraméterek#

Paraméter

Típus

Leírás

index

int32_t

Az az intelligens port, amelyhez a jelzőtorony csatlakozik, PORTxformában írva, ahol x a portszám (például PORT1).

Példák#

// Create a signal tower instance in Port 1
signaltower SignalTower = signaltower(PORT1);

Tagfüggvények#

A signaltower osztály a következő tagfüggvényeket biztosítja:

  • setColor – Különböző beviteli módszerek segítségével vezérli a jelzőtorony LED-színeit és állapotait.

  • setColors – Egyenként állítja be a jelzőtorony összes LED-jének állapotát.

  • setBlink – Beállítja a jelzőtorony LED-jének villogási állapotát a LED azonosítója alapján.

  • setBlinkTime – Beállítja a jelzőtorony LED-jeinek villogása közötti időt.

  • enableBlink - Engedélyezi a jelzőtorony több LED-jének villogását az azonosítójuk szerint.

  • disableBlink - Letiltja a villogást a jelzőtoronyon lévő több LED esetében az azonosítójuk szerint.

  • pressing – Visszaadja, hogy a jelzőtorony lökhárítóját jelenleg lenyomják-e.

  • lenyomva – Regisztrál egy függvényt, amely a jelzőtorony lökhárítójának megnyomásakor hívódik meg.

  • released - Regisztrál egy függvényt, amely meghívódik, amikor a jelzőtorony lökhárítóját elengedik.

setColor#

Különböző beviteli módszerekkel vezérli a jelzőtorony LED-színeit és állapotait. Ezek a lámpák felhasználhatók annak nyomon követésére, hogy a robot hol tartózkodik egy projektben, vagy bizonyos feltételek teljesülésének jelzésére.

Available Functions

1 — A jelzőtorony színét a vex::color paraméter használatával állítja be.

void setColor( 
  vex::color         color, 
  signaltower::state state = signaltower::state::on );

2 — A LED színeit 32 bites RGB és YW értékek használatával állítja be.

void setColor( 
  uint32_t rgb, 
  uint32_t yw );

3 — Beállítja az egyes LED-ek fényerejét a LED azonosító alapján.

void setColor( 
  ledId id, 
  uint32_t value );

4 — Az összes LED fényerejét külön állítja be.

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

Parameters

Paraméter

Típus

Leírás

color

vex::color

A használandó szín:

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

state

signaltower::state

A LED állapota:

  • on (Alapértelmezett) – Bekapcsolja a LED-et.
  • off – Kikapcsolja a LED-et.
  • blink – Villogtatni kezdi a LED-et.

rgb

uint32_t

A piros, zöld és kék LED fényereje 32 bites érték használatával (pl. piros bekapcsolva = 0xFF0000, zöld bekapcsolva = 0x00FF00és kék bekapcsolva = 0x0000FF).

yw

uint32_t

A sárga és fehér LED fényereje 32 bites érték használatával (pl. sárga bekapcsolva = 0xFF00 és fehér bekapcsolva = 0x00FF).

id

ledId

A vezérlő LED indexe:

  • 0 – piros
  • 1 – zöld
  • 2 – kék
  • 3 – fehér
  • 4 – sárga

value

uint32_t

A LED fényereje 0 és 255 között állítható, ahol a 0 kikapcsolt, a 255 pedig a maximális fényerőt jelenti.

r

uint8_t

A piros LED fényereje 0 és 255 között állítható, ahol a 0 a kikapcsolt, a 255 pedig a maximális fényerőt jelenti.

y

uint8_t

A sárga LED fényereje 0 és 255 között állítható, ahol a 0 a kikapcsolt, a 255 pedig a maximális fényerőt jelenti.

g

uint8_t

A zöld LED fényereje 0 és 255 között állítható, ahol a 0 a kikapcsolt, a 255 pedig a maximális fényerőt jelenti.

b

uint8_t

A kék LED fényereje 0 és 255 között állítható, ahol a 0 kikapcsolt, a 255 pedig a maximális fényerőt jelenti.

w

uint8_t

A fehér LED fényereje 0 és 255 között állítható, ahol a 0 a kikapcsolt, a 255 pedig a maximális fényerőt jelenti.

Return Values

Ez a függvény nem ad vissza értéket.

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#

A jelzőtorony összes LED-jének állapotát egyenként állítja be. Ezek a lámpák segítségével nyomon követhető a robot aktuális helyzete egy projektben, vagy jelezhető, ha bizonyos feltételek teljesülnek.

Available Functions
void setColors( 
  signaltower::state rs, 
  signaltower::state ys, 
  signaltower::state gs, 
  signaltower::state bs, 
  signaltower::state ws );

Parameters

Paraméter

Típus

Leírás

rs

signaltower::state

A piros LED állapota:

  • on – Bekapcsolja a LED-et.
  • off – Kikapcsolja a LED-et.
  • blink – Villogtatni kezdi a LED-et.

ys

signaltower::state

A sárga LED állapota:

  • on – Bekapcsolja a LED-et.
  • off – Kikapcsolja a LED-et.
  • blink – Villogtatni kezdi a LED-et.

gs

signaltower::state

A zöld LED állapota:

  • on – Bekapcsolja a LED-et.
  • off – Kikapcsolja a LED-et.
  • blink – Villogtatni kezdi a LED-et.

bs

signaltower::state

A kék LED állapota:

  • on – Bekapcsolja a LED-et.
  • off – Kikapcsolja a LED-et.
  • blink – Villogtatni kezdi a LED-et.

ws

signaltower::state

A fehér LED állapota:

  • on – Bekapcsolja a LED-et.
  • off – Kikapcsolja a LED-et.
  • blink – Villogtatni kezdi a LED-et.

Return Values

Ez a függvény nem ad vissza értéket.

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

setBlinkTime#

Beállítja a jelzőtorony LED-jeinek villogása közötti időt.

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

Parameters

Paraméter

Típus

Leírás

onTime

uint32_t

Az az időtartam milliszekundumban, ameddig a LED-nek villognia kell. A maximum 2500 ms. A 0 érték alapértelmezett értéke 500 ms.

offTime

uint32_t

Az az időtartam milliszekundumban, ameddig a LED-nek villogás közben ki kell kapcsolnia. A maximum 2500 ms. A 0 érték a bekapcsolási időt használja. Az alapértelmezett érték 0.

Return Values

Ez a függvény nem ad vissza értéket.

pressing#

Visszaadja, hogy a jelzőtorony lökhárítóját jelenleg lenyomják-e. Ez vészleállítóként használható.

Available Functions
bool pressing();

Parameters

Ennek a függvénynek nincsenek paraméterei.

Return Values

Egy logikai értéket ad vissza, amely azt jelzi, hogy a jelzőtorony lökhárítója jelenleg le van-e nyomva.

  • true — A jelzőtorony lökhárítóját jelenleg lenyomják.

  • false — A jelzőtorony lökhárítóját nem nyomják meg.

pressed#

Regisztrál egy függvényt, amely meghívódik, amikor a jelzőtorony lökhárítóját megnyomják.

Available Functions
void pressed( void (* callback)(void) );

Parameters

Paraméter

Típus

Leírás

callback

void (*)(void)

Egy mutató egy függvényre, amely a lökhárító megnyomásakor hívódik meg.

Return Values

Ez a függvény nem ad vissza értéket.

Examples

Definiáljuk a visszahívó függvényt ( int main())

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

Regisztrálja a visszahívást a int main() függvényen belül.

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#

Regisztrál egy függvényt, amely meghívódik, amikor a jelzőtorony lökhárítóját elengedik.

Available Functions
void released( void (* callback)(void) );

Parameters

Paraméter

Típus

Leírás

callback

void (*)(void)

Egy mutató egy függvényre, amely a lökhárító elengedésekor hívódik meg.

Return Values

Ez a függvény nem ad vissza értéket.

Examples

Definiáljuk a visszahívó függvényt ( int main())

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

Regisztrálja a visszahívást a int main() függvényen belül.

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