Signāla tornis#
Ievads#
signaltower klase tiek izmantota, lai mainītu gaismas un noteiktu mijiedarbību ar CTE signāla torni.
Klases konstruktori#
signaltower(
int32_t index );
Klases iznīcinātājs#
Iznīcina signaltower objektu un atbrīvo saistītos resursus.
virtual ~signaltower();
Parametri#
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Viedā pieslēgvieta, kurai ir pievienots signāla tornis, kas pierakstīta kā |
Piemēri#
// Create a signal tower instance in Port 1
signaltower SignalTower = signaltower(PORT1);
Dalībnieku funkcijas#
Klase signaltower nodrošina šādas dalībfunkcijas:
setColor — kontrolē signāla torņa LED krāsas un stāvokļus, izmantojot dažādas ievades metodes.
setColors — iestata visu signāla torņa gaismas diožu stāvokli atsevišķi.
setBlink — iestata signāla torņa gaismas diodes mirgošanas stāvokli, izmantojot gaismas diodes ID.
setBlinkTime — iestata laiku starp signāla torņa gaismas diožu mirgošanas reizēm.
enableBlink — Iespējo vairāku signāla torņa gaismas diožu mirgošanu atbilstoši to ID.
disableBlink — atspējo vairāku gaismas diožu mirgošanu signāla tornī pēc to ID.
presēšana — Atgriež, vai pašlaik tiek nospiests signāltorņa buferis.
nospiests — Reģistrē funkciju, kas tiks izsaukta, nospiežot signāla torņa buferi.
atbrīvots — Reģistrē funkciju, kas tiks izsaukta, kad tiek atbrīvots signāla torņa bamperis.
setColor#
Kontrolē signāla torņa LED krāsas un stāvokļus, izmantojot dažādas ievades metodes. Šīs gaismas var izmantot, lai izsekotu robota atrašanās vietu projektā vai lai parādītu, kad ir izpildīti noteikti nosacījumi.
Available Functions1 — Iestata signāla tornim krāsu, izmantojot vex::color.
void setColor( vex::color color, signaltower::state state = signaltower::state::on );
2 — Iestata LED krāsas, izmantojot 32 bitu RGB un YW vērtības.
void setColor( uint32_t rgb, uint32_t yw );
3 — Iestata atsevišķu LED spilgtumu pēc LED ID.
void setColor( ledId id, uint32_t value );
Parameters4 — Iestata spilgtuma līmeņus visām gaismas diodēm atsevišķi.
void setColor( uint8_t r, uint8_t y, uint8_t g, uint8_t b, uint8_t w );
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Izmantojamā krāsa:
|
|
|
Gaismas diodes stāvoklis:
|
|
|
Sarkanās, zaļās un zilās gaismas diodes spilgtums, izmantojot 32 bitu vērtību (piemēram, sarkanā gaisma ieslēgta = |
|
|
Dzeltenas un baltas gaismas diodes spilgtums, izmantojot 32 bitu vērtību (piemēram, dzeltenā gaisma ieslēgta = |
|
|
Vadāmās gaismas diodes indekss:
|
|
|
Gaismas diodes spilgtums no 0 līdz 255, kur 0 ir izslēgts un 255 ir maksimālais spilgtums. |
|
|
Sarkanās gaismas diodes spilgtums no 0 līdz 255, kur 0 ir izslēgts un 255 ir maksimālais spilgtums. |
|
|
Dzeltenās gaismas diodes spilgtums no 0 līdz 255, kur 0 ir izslēgts un 255 ir maksimālais spilgtums. |
|
|
Zaļās gaismas diodes spilgtums no 0 līdz 255, kur 0 ir izslēgts un 255 ir maksimālais spilgtums. |
|
|
Zilās gaismas diodes spilgtums no 0 līdz 255, kur 0 ir izslēgts un 255 ir maksimālais spilgtums. |
|
|
Baltās gaismas diodes spilgtums no 0 līdz 255, kur 0 ir izslēgts un 255 ir maksimālais spilgtums. |
Šī funkcija neatgriež vērtību.
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#
Atsevišķi iestata visu signāla torņa gaismas diožu stāvokli. Šīs gaismas var izmantot, lai izsekotu robota atrašanās vietu projektā vai lai parādītu, kad ir izpildīti noteikti nosacījumi.
Available Functionsvoid setColors(
signaltower::state rs,
signaltower::state ys,
signaltower::state gs,
signaltower::state bs,
signaltower::state ws );
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Sarkanās gaismas diodes stāvoklis:
|
|
|
Dzeltenās gaismas diodes stāvoklis:
|
|
|
Zaļās gaismas diodes stāvoklis:
|
|
|
Zilās gaismas diodes stāvoklis:
|
|
|
Baltās gaismas diodes stāvoklis:
|
Šī funkcija neatgriež vērtību.
Examples// Turn on all LEDs
SignalTower.setColors(signaltower::on, signaltower::on, signaltower::on, signaltower::on, signaltower::on);
setBlink#
Iestata signāla torņa gaismas diodes mirgošanas stāvokli, izmantojot gaismas diodes ID. Šīs mirgojošās gaismas var izmantot, lai parādītu, kad ir izpildīti noteikti nosacījumi, piemēram, kad robots gaida vai kad nepieciešama uzmanība.
Available Functionsvoid setBlink(
ledId id,
bool enable );
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
LED ID:
|
|
|
|
Šī funkcija neatgriež vērtību.
setBlinkTime#
Iestata laiku starp signāla torņa gaismas diožu mirgošanas reizēm.
Available Functionsvoid setBlinkTime(
uint32_t onTime,
uint32_t offTime = 0 );
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Laiks milisekundēs, cik ilgi gaismas diodei jābūt ieslēgtai mirgošanas laikā. Maksimālā vērtība ir 2500 ms. Vērtība 0 pēc noklusējuma ir 500 ms. |
|
|
Laiks milisekundēs, kurā gaismas diodei jābūt izslēgtai mirgošanas laikā. Maks. ir 2500 ms. Vērtība 0 izmanto ieslēgšanas laika vērtību. Noklusējuma vērtība ir 0. |
Šī funkcija neatgriež vērtību.
enableBlink#
Iespējo vairāku signāla torņa gaismas diožu mirgošanu pēc to ID.
Available Functionsvoid enableBlink(
ledId id0,
ledId id1 = ledId::none,
ledId id2 = ledId::none,
ledId id3 = ledId::none,
ledId id4 = ledId::none );
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
LED ID:
|
|
|
Otrās gaismas diodes indekss (pēc izvēles). Noklusējuma vērtība ir
|
|
|
Trešās gaismas diodes indekss (pēc izvēles). Noklusējuma vērtība ir
|
|
|
Ceturtās gaismas diodes indekss (pēc izvēles). Noklusējuma vērtība ir
|
|
|
Piektās gaismas diodes indekss (pēc izvēles). Noklusējuma vērtība ir
|
Šī funkcija neatgriež vērtību.
disableBlink#
Atspējo vairāku signāla torņa gaismas diožu mirgošanu pēc to ID.
Available Functionsvoid disableBlink(
ledId id0,
ledId id1 = ledId::none,
ledId id2 = ledId::none,
ledId id3 = ledId::none,
ledId id4 = ledId::none );
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Pirmās gaismas diodes indekss.
|
|
|
Otrās gaismas diodes indekss (pēc izvēles). Noklusējuma vērtība ir
|
|
|
Trešās gaismas diodes indekss (pēc izvēles). Noklusējuma vērtība ir
|
|
|
Ceturtās gaismas diodes indekss (pēc izvēles). Noklusējuma vērtība ir
|
|
|
Piektās gaismas diodes indekss (pēc izvēles). Noklusējuma vērtība ir
|
Šī funkcija neatgriež vērtību.
pressing#
Atgriež, vai pašlaik tiek nospiests signāltorņa buferis. To var izmantot kā avārijas apstāšanos.
Available Functionsbool pressing();
Šai funkcijai nav parametru.
Return ValuesAtgriež Būla vērtību, kas norāda, vai signāla torņa buferis pašlaik tiek nospiests.
true— Signalizācijas torņa buferis pašlaik tiek piespiests.false— Signalizācijas torņa bamperis netiek nospiests.
pressed#
Reģistrē funkciju, kas tiks izsaukta, nospiežot signāla torņa buferi.
Available Functionsvoid pressed( void (* callback)(void) );
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Rādītājs uz funkciju, kas tiks izsaukta, nospiežot buferi. |
Šī funkcija neatgriež vērtību.
ExamplesDefinējiet atzvanīšanas funkciju (ārpus
int main())// Display a message when bumper is pressed void towerBumperPressed() { Brain.Screen.print("tower bumper pressed"); }Reģistrējiet atzvanīšanas funkciju
int main()iekšpusē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#
Reģistrē funkciju, kas tiks izsaukta, atlaižot signāla torņa buferi.
Available Functionsvoid released( void (* callback)(void) );
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Rādītājs uz funkciju, kas tiks izsaukta, kad buferis tiks atbrīvots. |
Šī funkcija neatgriež vērtību.
ExamplesDefinējiet atzvanīšanas funkciju (ārpus
int main())// Display a message when bumper is pressed void towerBumperReleased() { Brain.Screen.print("tower bumper pressed"); }Reģistrējiet atzvanīšanas funkciju
int main()iekšpusē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); }