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 |
|---|---|---|
|
|
Az az intelligens port, amelyhez a jelzőtorony csatlakozik, |
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 Functions1 — 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 );
Parameters4 — 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 );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
A használandó szín:
|
|
|
A LED állapota:
|
|
|
A piros, zöld és kék LED fényereje 32 bites érték használatával (pl. piros bekapcsolva = |
|
|
A sárga és fehér LED fényereje 32 bites érték használatával (pl. sárga bekapcsolva = |
|
|
A vezérlő LED indexe:
|
|
|
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. |
|
|
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. |
|
|
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. |
|
|
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. |
|
|
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. |
|
|
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. |
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 Functionsvoid setColors(
signaltower::state rs,
signaltower::state ys,
signaltower::state gs,
signaltower::state bs,
signaltower::state ws );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
A piros LED állapota:
|
|
|
A sárga LED állapota:
|
|
|
A zöld LED állapota:
|
|
|
A kék LED állapota:
|
|
|
A fehér LED állapota:
|
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);
setBlink#
A LED azonosítója alapján állítja be a jelzőtorony LED-jének villogási állapotát. Ezek a villogó fények bizonyos feltételek teljesülésének jelzésére használhatók, például amikor a robot várakozik, vagy amikor figyelemre van szükség.
Available Functionsvoid setBlink(
ledId id,
bool enable );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
A LED azonosítója:
|
|
|
|
Ez a függvény nem ad vissza értéket.
setBlinkTime#
Beállítja a jelzőtorony LED-jeinek villogása közötti időt.
Available Functionsvoid setBlinkTime(
uint32_t onTime,
uint32_t offTime = 0 );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
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. |
|
|
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. |
Ez a függvény nem ad vissza értéket.
enableBlink#
Lehetővé teszi a jelzőtorony több LED-jének villogását az azonosítóik szerint.
Available Functionsvoid enableBlink(
ledId id0,
ledId id1 = ledId::none,
ledId id2 = ledId::none,
ledId id3 = ledId::none,
ledId id4 = ledId::none );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
A LED azonosítója:
|
|
|
A második LED indexe (opcionális). Az alapértelmezett érték
|
|
|
A harmadik LED indexe (opcionális). Az alapértelmezett érték
|
|
|
A negyedik LED indexe (opcionális). Az alapértelmezett érték
|
|
|
Az ötödik LED indexe (opcionális). Az alapértelmezett érték
|
Ez a függvény nem ad vissza értéket.
disableBlink#
Letiltja a jelzőtoronyon lévő több LED villogását az azonosítóik szerint.
Available Functionsvoid disableBlink(
ledId id0,
ledId id1 = ledId::none,
ledId id2 = ledId::none,
ledId id3 = ledId::none,
ledId id4 = ledId::none );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Az első LED indexe.
|
|
|
A második LED indexe (opcionális). Az alapértelmezett érték
|
|
|
A harmadik LED indexe (opcionális). Az alapértelmezett érték
|
|
|
A negyedik LED indexe (opcionális). Az alapértelmezett érték
|
|
|
Az ötödik LED indexe (opcionális). Az alapértelmezett érték
|
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 Functionsbool pressing();
Ennek a függvénynek nincsenek paraméterei.
Return ValuesEgy 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 Functionsvoid pressed( void (* callback)(void) );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Egy mutató egy függvényre, amely a lökhárító megnyomásakor hívódik meg. |
Ez a függvény nem ad vissza értéket.
ExamplesDefiniá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 Functionsvoid released( void (* callback)(void) );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Egy mutató egy függvényre, amely a lökhárító elengedésekor hívódik meg. |
Ez a függvény nem ad vissza értéket.
ExamplesDefiniá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); }