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

index

int32_t

Išmanusis prievadas, prie kurio prijungtas signalų bokštas, užrašomas kaip PORTx, kur x yra prievado numeris (pavyzdžiui, PORT1).

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 Functions

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

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

Parameters

Parametras

Tipas

Aprašymas

color

vex::color

Naudojamos spalvos:

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

state

signaltower::state

Šviesos diodo būsena:

  • on (numatytasis) – Įjungia šviesos diodą.
  • off – Išjungia šviesos diodą.
  • blink – Įjungia šviesos diodo mirksėjimą.

rgb

uint32_t

Raudonos, žalios ir mėlynos spalvos šviesos diodų ryškumas matuojamas 32 bitų reikšmėmis (pvz., raudonas įjungtas = 0xFF0000, žalias įjungtas = 0x00FF00, o mėlynas įjungtas = 0x0000FF).

yw

uint32_t

Geltono ir balto šviesos diodų ryškumas naudojant 32 bitų reikšmę (pvz., geltona įjungta = 0xFF00 , o balta įjungta = 0x00FF).

id

ledId

Valdymo šviesos diodo indeksas:

  • 0 – raudona
  • 1 – žalia
  • 2 – mėlyna
  • 3 – balta
  • 4 – geltona

value

uint32_t

Šviesos diodo ryškumas nuo 0 iki 255, kur 0 reiškia išjungtą, o 255 – maksimalų ryškumą.

r

uint8_t

Raudono šviesos diodo ryškumas nuo 0 iki 255, kur 0 reiškia išjungtą, o 255 – maksimalų ryškumą.

y

uint8_t

Geltono šviesos diodo ryškumas nuo 0 iki 255, kur 0 reiškia išjungtą, o 255 – maksimalų ryškumą.

g

uint8_t

Žalios spalvos šviesos diodo ryškumas nuo 0 iki 255, kur 0 reiškia išjungtą, o 255 – maksimalų ryškumą.

b

uint8_t

Mėlyno šviesos diodo ryškumas nuo 0 iki 255, kur 0 reiškia išjungtą, o 255 – maksimalų ryškumą.

w

uint8_t

Balto šviesos diodo ryškumas nuo 0 iki 255, kur 0 reiškia išjungtą, o 255 – maksimalų ryškumą.

Return Values

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

Parameters

Parametras

Tipas

Aprašymas

rs

signaltower::state

Raudono šviesos diodo būsena:

  • on – Įjungia šviesos diodą.
  • off – Išjungia šviesos diodą.
  • blink – Įjungia šviesos diodo mirksėjimą.

ys

signaltower::state

Geltono šviesos diodo būsena:

  • on – Įjungia šviesos diodą.
  • off – Išjungia šviesos diodą.
  • blink – Įjungia šviesos diodo mirksėjimą.

gs

signaltower::state

Žaliojo šviesos diodo būsena:

  • on – Įjungia šviesos diodą.
  • off – Išjungia šviesos diodą.
  • blink – Įjungia šviesos diodo mirksėjimą.

bs

signaltower::state

Mėlyno šviesos diodo būsena:

  • on – Įjungia šviesos diodą.
  • off – Išjungia šviesos diodą.
  • blink – Įjungia šviesos diodo mirksėjimą.

ws

signaltower::state

Balto šviesos diodo būsena:

  • on – Įjungia šviesos diodą.
  • off – Išjungia šviesos diodą.
  • blink – Įjungia šviesos diodo mirksėjimą.

Return Values

Ši funkcija negrąžina reikšmės.

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

setBlinkTime#

Nustato laiką tarp signalinio bokšto šviesos diodų mirksėjimo.

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

Parameters

Parametras

Tipas

Aprašymas

onTime

uint32_t

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.

offTime

uint32_t

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.

Return Values

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

Parameters

Ši funkcija neturi parametrų.

Return Values

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

Parameters

Parametras

Tipas

Aprašymas

callback

void (*)(void)

Rodyklė į funkciją, kuri bus iškviečiama paspaudus buferį.

Return Values

Ši funkcija negrąžina reikšmės.

Examples

Apibrėž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() viduje

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#

Registruoja funkciją, kuri bus iškviečiama atleidus signalinio bokšto buferį.

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

Parameters

Parametras

Tipas

Aprašymas

callback

void (*)(void)

Rodyklė į funkciją, kuri bus iškviečiama atleidus buferį.

Return Values

Ši funkcija negrąžina reikšmės.

Examples

Apibrėž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() viduje

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