Signaltorn#
Introduktion#
Klass signaltower används för att byta lampor och detektera interaktioner med CTE-signaltornet.
Klasskonstruktörer#
signaltower(
int32_t index );
Klassförstörare#
Förstör objektet signaltower och frigör tillhörande resurser.
virtual ~signaltower();
Parametrar#
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Den smarta porten som signaltornet är anslutet till, skriven som |
Exempel#
// Create a signal tower instance in Port 1
signaltower SignalTower = signaltower(PORT1);
Medlemsfunktioner#
Klassen signaltower tillhandahåller följande medlemsfunktioner:
setColor – Styr LED-färgerna och tillstånden på signaltornet med hjälp av olika inmatningsmetoder.
setColors - Ställer in tillståndet för alla lysdioder på signaltornet individuellt.
setBlink - Ställer in blinkningsstatusen för en lysdiod på signaltornet med hjälp av lysdiodens ID.
setBlinkTime – Ställer in tiden mellan blinkningarna för lysdioderna på signaltornet.
enableBlink – Aktiverar blinkning för flera lysdioder på signaltornet efter deras ID:n.
disableBlink – Inaktiverar blinkning för flera lysdioder på signaltornet efter deras ID:n.
trycker – Returnerar om signaltornets stötfångare trycks ned för närvarande.
tryckt - Registrerar en funktion som ska anropas när signaltornets stötfångare trycks ned.
släppt - Registrerar en funktion som ska anropas när signaltornets stötfångare släpps.
setColor#
Styr LED-lampornas färger och tillstånd på signaltornet med hjälp av olika inmatningsmetoder. Dessa lampor kan användas för att spåra var roboten befinner sig i ett projekt eller för att visa när vissa villkor är uppfyllda.
Available Functions1 — Ställer in signaltornets färg med vex::color.
void setColor( vex::color color, signaltower::state state = signaltower::state::on );
2 — Ställer in LED-färger med 32-bitars RGB- och YW-värden.
void setColor( uint32_t rgb, uint32_t yw );
3 — Ställer in individuell LED-ljusstyrka efter LED-ID.
void setColor( ledId id, uint32_t value );
Parameters4 — Ställer in ljusstyrkenivåerna för alla lysdioder individuellt.
void setColor( uint8_t r, uint8_t y, uint8_t g, uint8_t b, uint8_t w );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Färgen att använda:
|
|
|
Status för lysdioden:
|
|
|
Ljusstyrkan hos röd, grön och blå lysdiod med ett 32-bitarsvärde (t.ex. röd på = |
|
|
Ljusstyrkan hos gul och vit lysdiod med ett 32-bitarsvärde (t.ex. gul på = |
|
|
Index för den lysdiod som ska styras:
|
|
|
LED-lampans ljusstyrka är från 0 till 255, där 0 är avstängd och 255 är maximal ljusstyrka. |
|
|
Ljusstyrkan på den röda lysdioden är från 0 till 255, där 0 är avstängd och 255 är maximal ljusstyrka. |
|
|
Ljusstyrkan på den gula lysdioden är från 0 till 255, där 0 är av och 255 är maximal ljusstyrka. |
|
|
Ljusstyrkan på den gröna lysdioden är från 0 till 255, där 0 är av och 255 är maximal ljusstyrka. |
|
|
Ljusstyrkan på den blå lysdioden är från 0 till 255, där 0 är avstängd och 255 är maximal ljusstyrka. |
|
|
Ljusstyrkan på den vita lysdioden är från 0 till 255, där 0 är avstängd och 255 är maximal ljusstyrka. |
Den här funktionen returnerar inget värde.
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#
Ställer in statusen för alla lysdioder på signaltornet individuellt. Dessa lampor kan användas för att spåra var roboten befinner sig i ett projekt eller för att visa när vissa villkor är uppfyllda.
Available Functionsvoid setColors(
signaltower::state rs,
signaltower::state ys,
signaltower::state gs,
signaltower::state bs,
signaltower::state ws );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Den röda lysdiodens tillstånd:
|
|
|
Den gula lysdiodens tillstånd:
|
|
|
Den gröna lysdiodens tillstånd:
|
|
|
Status för den blå lysdioden:
|
|
|
Den vita lysdiodens tillstånd:
|
Den här funktionen returnerar inget värde.
Examples// Turn on all LEDs
SignalTower.setColors(signaltower::on, signaltower::on, signaltower::on, signaltower::on, signaltower::on);
setBlink#
Ställer in blinkningsstatusen för en lysdiod på signaltornet med hjälp av lysdiodens ID. Dessa blinkande lampor kan användas för att visa när vissa villkor är uppfyllda, till exempel när roboten väntar eller när uppmärksamhet behövs.
Available Functionsvoid setBlink(
ledId id,
bool enable );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
LED-ID:
|
|
|
|
Den här funktionen returnerar inget värde.
setBlinkTime#
Ställer in tiden mellan blinkningarna för lysdioderna på signaltornet.
Available Functionsvoid setBlinkTime(
uint32_t onTime,
uint32_t offTime = 0 );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Tiden i millisekunder som lysdioden ska vara tänd när den blinkar. Maxvärdet är 2500 ms. Ett värde på 0 ger 500 ms som standard. |
|
|
Tiden i millisekunder som lysdioden ska vara släckt när den blinkar. Maxvärdet är 2500 ms. Värdet 0 använder onTime-värdet. Standardvärdet är 0. |
Den här funktionen returnerar inget värde.
enableBlink#
Möjliggör blinkning för flera lysdioder på signaltornet efter deras ID:n.
Available Functionsvoid enableBlink(
ledId id0,
ledId id1 = ledId::none,
ledId id2 = ledId::none,
ledId id3 = ledId::none,
ledId id4 = ledId::none );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
LED-ID:
|
|
|
Index för den andra lysdioden (valfritt). Standard är
|
|
|
Index för den tredje lysdioden (valfritt). Standard är
|
|
|
Index för den fjärde lysdioden (valfritt). Standard är
|
|
|
Index för den femte lysdioden (valfritt). Standard är
|
Den här funktionen returnerar inget värde.
disableBlink#
Inaktiverar blinkning för flera lysdioder på signaltornet efter deras ID:n.
Available Functionsvoid disableBlink(
ledId id0,
ledId id1 = ledId::none,
ledId id2 = ledId::none,
ledId id3 = ledId::none,
ledId id4 = ledId::none );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Index för den första lysdioden.
|
|
|
Index för den andra lysdioden (valfritt). Standard är
|
|
|
Index för den tredje lysdioden (valfritt). Standard är
|
|
|
Index för den fjärde lysdioden (valfritt). Standard är
|
|
|
Index för den femte lysdioden (valfritt). Standard är
|
Den här funktionen returnerar inget värde.
pressing#
Returnerar om signaltornets stötfångare för närvarande trycks ned. Detta kan användas som ett nödstopp.
Available Functionsbool pressing();
Den här funktionen har inga parametrar.
Return ValuesReturnerar ett booleskt värde som anger om signaltornets stötfångare trycks ned för närvarande.
true— Signaltornets stötfångare trycks just nu.false— Signaltornets stötfångare trycks inte ner.
pressed#
Registrerar en funktion som ska anropas när signaltornets stötfångare trycks ned.
Available Functionsvoid pressed( void (* callback)(void) );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
En pekare till en funktion som anropas när bumper-knappen trycks ned. |
Den här funktionen returnerar inget värde.
ExamplesDefiniera callback-funktionen (utanför
int main())// Display a message when bumper is pressed void towerBumperPressed() { Brain.Screen.print("tower bumper pressed"); }Registrera återuppringningen inuti
int main()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#
Registrerar en funktion som ska anropas när signaltornets stötfångare släpps.
Available Functionsvoid released( void (* callback)(void) );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
En pekare till en funktion som anropas när bumpern släpps. |
Den här funktionen returnerar inget värde.
ExamplesDefiniera callback-funktionen (utanför
int main())// Display a message when bumper is pressed void towerBumperReleased() { Brain.Screen.print("tower bumper pressed"); }Registrera återuppringningen inuti
int main()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); }