Signalinis bokštas#
Įvadas#
signaltower klasė naudojama šviesoms keisti ir sąveikai su CTE signaliniu bokštu aptikti.
Klasės konstruktoriai#
signaltower(
int32_t index );
Klasės destruktorius#
Sunaikina signaltower objektą ir išlaisvina susijusius išteklius.
virtual ~signaltower();
Parametrai#
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Išmanusis prievadas, prie kurio prijungtas signalų bokštas, užrašomas kaip |
Pavyzdžiai#
// Create a signal tower instance in Port 1
signaltower SignalTower = signaltower(PORT1);
Narių funkcijos#
signaltower klasė teikia šias narių funkcijas:
setColor – Valdo signalinio bokšto LED spalvas ir būsenas, naudodamas įvairius įvesties metodus.
setColors – Nustato visų signalinio bokšto šviesos diodų būseną atskirai.
setBlink – Nustato signalinio bokšto šviesos diodo mirksėjimo būseną pagal šviesos diodo ID.
setBlinkTime – nustato laiką tarp signalinio bokšto šviesos diodų mirksėjimų.
enableBlink – Įjungia kelių signalinio bokšto šviesos diodų mirksėjimą pagal jų ID.
disableBlink – Išjungia kelių signalinio bokšto šviesos diodų mirksėjimą pagal jų ID.
pressing – Grąžina, ar šiuo metu spaudžiamas signalinio bokšto bamperis.
paspaustas – Registruoja funkciją, kuri bus iškviečiama paspaudus signalinio bokšto buferį.
released – Registruoja funkciją, kuri bus iškviesta atleidus signalinio bokšto buferį.
setColor#
Valdo signalinio bokšto LED spalvas ir būsenas, naudodamas įvairius įvesties metodus. Šios lemputės gali būti naudojamos roboto buvimo vietai projekte sekti arba tam tikroms sąlygoms parodyti.
Available Functions1 — Nustato signalinio bokšto spalvą naudojant vex::color.
void setColor( vex::color color, signaltower::state state = signaltower::state::on );
2 — Nustato LED spalvas naudodamas 32 bitų RGB ir YW reikšmes.
void setColor( uint32_t rgb, uint32_t yw );
3 — Nustato individualų LED ryškumą pagal LED ID.
void setColor( ledId id, uint32_t value );
Parameters4 — Nustato visų šviesos diodų ryškumo lygius atskirai.
void setColor( uint8_t r, uint8_t y, uint8_t g, uint8_t b, uint8_t w );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Naudojamos spalvos:
|
|
|
Šviesos diodo būsena:
|
|
|
Raudonos, žalios ir mėlynos spalvos šviesos diodų ryškumas matuojamas 32 bitų reikšmėmis (pvz., raudonas įjungtas = |
|
|
Geltono ir balto šviesos diodų ryškumas naudojant 32 bitų reikšmę (pvz., geltona įjungta = |
|
|
Valdymo šviesos diodo indeksas:
|
|
|
Šviesos diodo ryškumas nuo 0 iki 255, kur 0 reiškia išjungtą, o 255 – maksimalų ryškumą. |
|
|
Raudono šviesos diodo ryškumas nuo 0 iki 255, kur 0 reiškia išjungtą, o 255 – maksimalų ryškumą. |
|
|
Geltono šviesos diodo ryškumas nuo 0 iki 255, kur 0 reiškia išjungtą, o 255 – maksimalų ryškumą. |
|
|
Žalios spalvos šviesos diodo ryškumas nuo 0 iki 255, kur 0 reiškia išjungtą, o 255 – maksimalų ryškumą. |
|
|
Mėlyno šviesos diodo ryškumas nuo 0 iki 255, kur 0 reiškia išjungtą, o 255 – maksimalų ryškumą. |
|
|
Balto šviesos diodo ryškumas nuo 0 iki 255, kur 0 reiškia išjungtą, o 255 – maksimalų ryškumą. |
Ši funkcija negrąžina reikšmės.
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#
Atskirai nustato visų signalinio bokšto šviesos diodų būseną. Šie žibintai gali būti naudojami roboto buvimo vietai projekte sekti arba tam tikroms sąlygoms parodyti.
Available Functionsvoid setColors(
signaltower::state rs,
signaltower::state ys,
signaltower::state gs,
signaltower::state bs,
signaltower::state ws );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Raudono šviesos diodo būsena:
|
|
|
Geltono šviesos diodo būsena:
|
|
|
Žaliojo šviesos diodo būsena:
|
|
|
Mėlyno šviesos diodo būsena:
|
|
|
Balto šviesos diodo būsena:
|
Ši funkcija negrąžina reikšmės.
Examples// Turn on all LEDs
SignalTower.setColors(signaltower::on, signaltower::on, signaltower::on, signaltower::on, signaltower::on);
setBlink#
Nustato signalinio bokšto šviesos diodo mirksėjimo būseną pagal šviesos diodo ID. Šios mirksinčios lemputės gali būti naudojamos norint parodyti, kada įvykdytos tam tikros sąlygos, pavyzdžiui, kai robotas laukia arba kai reikia dėmesio.
Available Functionsvoid setBlink(
ledId id,
bool enable );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
LED ID:
|
|
|
|
Ši funkcija negrąžina reikšmės.
setBlinkTime#
Nustato laiką tarp signalinio bokšto šviesos diodų mirksėjimo.
Available Functionsvoid setBlinkTime(
uint32_t onTime,
uint32_t offTime = 0 );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Laikas milisekundėmis, kurį šviesos diodas turėtų mirksėti. Maksimali vertė yra 2500 ms. Jei reikšmė 0, numatytoji reikšmė yra 500 ms. |
|
|
Laikas milisekundėmis, kurį šviesos diodas turėtų būti išjungtas mirksėdamas. Maksimali vertė yra 2500 ms. 0 reikšmė naudojama kaip įjungimo laikas. Numatytoji reikšmė yra 0. |
Ši funkcija negrąžina reikšmės.
enableBlink#
Įgalina kelių signalinio bokšto šviesos diodų mirksėjimą pagal jų ID.
Available Functionsvoid enableBlink(
ledId id0,
ledId id1 = ledId::none,
ledId id2 = ledId::none,
ledId id3 = ledId::none,
ledId id4 = ledId::none );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
LED ID:
|
|
|
Antrojo šviesos diodo indeksas (neprivaloma). Numatytoji reikšmė yra
|
|
|
Trečiojo šviesos diodo indeksas (neprivaloma). Numatytoji reikšmė yra
|
|
|
Ketvirto šviesos diodo indeksas (neprivaloma). Numatytoji reikšmė yra
|
|
|
Penktojo šviesos diodo indeksas (neprivaloma). Numatytoji reikšmė yra
|
Ši funkcija negrąžina reikšmės.
disableBlink#
Išjungia kelių signalinio bokšto šviesos diodų mirksėjimą pagal jų ID.
Available Functionsvoid disableBlink(
ledId id0,
ledId id1 = ledId::none,
ledId id2 = ledId::none,
ledId id3 = ledId::none,
ledId id4 = ledId::none );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Pirmojo šviesos diodo indeksas.
|
|
|
Antrojo šviesos diodo indeksas (neprivaloma). Numatytoji reikšmė yra
|
|
|
Trečiojo šviesos diodo indeksas (neprivaloma). Numatytoji reikšmė yra
|
|
|
Ketvirto šviesos diodo indeksas (neprivaloma). Numatytoji reikšmė yra
|
|
|
Penktojo šviesos diodo indeksas (neprivaloma). Numatytoji reikšmė yra
|
Ši funkcija negrąžina reikšmės.
pressing#
Grąžina, ar šiuo metu spaudžiamas signalinio bokšto bamperis. Tai galima naudoti kaip avarinį stabdymą.
Available Functionsbool pressing();
Ši funkcija neturi parametrų.
Return ValuesGrąžina loginę reikšmę, nurodančią, ar šiuo metu spaudžiamas signalinio bokšto bamperis.
true— Šiuo metu spaudžiamas signalinio bokšto buferis.false— Signalinio bokšto bamperis nespaudžiamas.
pressed#
Registruoja funkciją, kuri bus iškviečiama paspaudus signalinio bokšto buferį.
Available Functionsvoid pressed( void (* callback)(void) );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Rodyklė į funkciją, kuri bus iškviečiama paspaudus buferį. |
Ši funkcija negrąžina reikšmės.
ExamplesApibrėžkite grįžtamojo ryšio funkciją (už
int main())// Display a message when bumper is pressed void towerBumperPressed() { Brain.Screen.print("tower bumper pressed"); }Registruokite atgalinį iškvietimą
int main()vidujeint 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#
Registruoja funkciją, kuri bus iškviečiama atleidus signalinio bokšto buferį.
Available Functionsvoid released( void (* callback)(void) );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Rodyklė į funkciją, kuri bus iškviečiama atleidus buferį. |
Ši funkcija negrąžina reikšmės.
ExamplesApibrėžkite grįžtamojo ryšio funkciją (už
int main())// Display a message when bumper is pressed void towerBumperReleased() { Brain.Screen.print("tower bumper pressed"); }Registruokite atgalinį iškvietimą
int main()vidujeint 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); }