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

index

int32_t

Viedā pieslēgvieta, kurai ir pievienots signāla tornis, kas pierakstīta kā PORTx, kur x ir pieslēgvietas numurs (piemēram, PORT1).

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 Functions

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

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

Parameters

Parametrs

Tips

Apraksts

color

vex::color

Izmantojamā krāsa:

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

state

signaltower::state

Gaismas diodes stāvoklis:

  • on (noklusējums) – Ieslēdz gaismas diodi.
  • off – Izslēdz gaismas diodi.
  • blink – Liek gaismas diodei mirgot.

rgb

uint32_t

Sarkanās, zaļās un zilās gaismas diodes spilgtums, izmantojot 32 bitu vērtību (piemēram, sarkanā gaisma ieslēgta = 0xFF0000, zaļā gaisma ieslēgta = 0x00FF00un zilā gaisma ieslēgta = 0x0000FF).

yw

uint32_t

Dzeltenas un baltas gaismas diodes spilgtums, izmantojot 32 bitu vērtību (piemēram, dzeltenā gaisma ieslēgta = 0xFF00 un baltā gaisma ieslēgta = 0x00FF).

id

ledId

Vadāmās gaismas diodes indekss:

  • 0 – sarkans
  • 1 – zaļš
  • 2 – zils
  • 3 – balts
  • 4 – dzeltens

value

uint32_t

Gaismas diodes spilgtums no 0 līdz 255, kur 0 ir izslēgts un 255 ir maksimālais spilgtums.

r

uint8_t

Sarkanās gaismas diodes spilgtums no 0 līdz 255, kur 0 ir izslēgts un 255 ir maksimālais spilgtums.

y

uint8_t

Dzeltenās gaismas diodes spilgtums no 0 līdz 255, kur 0 ir izslēgts un 255 ir maksimālais spilgtums.

g

uint8_t

Zaļās gaismas diodes spilgtums no 0 līdz 255, kur 0 ir izslēgts un 255 ir maksimālais spilgtums.

b

uint8_t

Zilās gaismas diodes spilgtums no 0 līdz 255, kur 0 ir izslēgts un 255 ir maksimālais spilgtums.

w

uint8_t

Baltās gaismas diodes spilgtums no 0 līdz 255, kur 0 ir izslēgts un 255 ir maksimālais spilgtums.

Return Values

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

Parameters

Parametrs

Tips

Apraksts

rs

signaltower::state

Sarkanās gaismas diodes stāvoklis:

  • on – Ieslēdz gaismas diodi.
  • off – Izslēdz gaismas diodi.
  • blink – Liek gaismas diodei mirgot.

ys

signaltower::state

Dzeltenās gaismas diodes stāvoklis:

  • on – Ieslēdz gaismas diodi.
  • off – Izslēdz gaismas diodi.
  • blink – Liek gaismas diodei mirgot.

gs

signaltower::state

Zaļās gaismas diodes stāvoklis:

  • on – Ieslēdz gaismas diodi.
  • off – Izslēdz gaismas diodi.
  • blink – Liek gaismas diodei mirgot.

bs

signaltower::state

Zilās gaismas diodes stāvoklis:

  • on – Ieslēdz gaismas diodi.
  • off – Izslēdz gaismas diodi.
  • blink – Liek gaismas diodei mirgot.

ws

signaltower::state

Baltās gaismas diodes stāvoklis:

  • on – Ieslēdz gaismas diodi.
  • off – Izslēdz gaismas diodi.
  • blink – Liek gaismas diodei mirgot.

Return Values

Šī funkcija neatgriež vērtību.

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

setBlinkTime#

Iestata laiku starp signāla torņa gaismas diožu mirgošanas reizēm.

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

Parameters

Parametrs

Tips

Apraksts

onTime

uint32_t

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.

offTime

uint32_t

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.

Return Values

Šī 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 Functions
bool pressing();

Parameters

Šai funkcijai nav parametru.

Return Values

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

Parameters

Parametrs

Tips

Apraksts

callback

void (*)(void)

Rādītājs uz funkciju, kas tiks izsaukta, nospiežot buferi.

Return Values

Šī funkcija neatgriež vērtību.

Examples

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

Parameters

Parametrs

Tips

Apraksts

callback

void (*)(void)

Rādītājs uz funkciju, kas tiks izsaukta, kad buferis tiks atbrīvots.

Return Values

Šī funkcija neatgriež vērtību.

Examples

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