Signaaltoren#
Invoering#
De signaltower klasse wordt gebruikt om lichten te veranderen en interacties met de CTE-signaaltoren te detecteren.
Klasseconstructors#
signaltower(
int32_t index );
Klasse-destructor#
Vernietigt het object signaltower en geeft de bijbehorende resources vrij.
virtual ~signaltower();
Parameters#
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De slimme poort waarop de zendmast is aangesloten, wordt weergegeven als |
Voorbeelden#
// Create a signal tower instance in Port 1
signaltower SignalTower = signaltower(PORT1);
Lidfuncties#
De klasse signaltower biedt de volgende lidfuncties:
setColor - Regelt de kleuren en statussen van de LED’s op de seintoren met behulp van verschillende invoermethoden.
setColors - Stelt de status van alle LED’s op de signaaltoren afzonderlijk in.
setBlink - Stelt de knipperstatus van een LED op de signaaltoren in op basis van de ID van de LED.
setBlinkTime - Stelt de tijd in tussen het knipperen van de LED’s op de signaaltoren.
enableBlink - Schakelt het knipperen in voor meerdere LED’s op de signaaltoren op basis van hun ID’s.
disableBlink - Schakelt het knipperen uit voor meerdere LED’s op de signaaltoren op basis van hun ID’s.
pressing - Geeft aan of de bumper van de Signal Tower momenteel wordt ingedrukt.
pressed - Registreert een functie die moet worden aangeroepen wanneer de bumper van de Signal Tower wordt ingedrukt.
released - Registreert een functie die moet worden aangeroepen wanneer de bumper van de Signal Tower wordt losgelaten.
setColor#
Hiermee kunnen de kleuren en statussen van de LED’s op de signaaltoren worden aangestuurd met behulp van verschillende invoermethoden. Deze lampjes kunnen worden gebruikt om de positie van de robot in een project te volgen of om aan te geven wanneer aan bepaalde voorwaarden is voldaan.
Available Functions1 — Hiermee wordt de kleur van de zendmast ingesteld met behulp van vex::color.
void setColor( vex::color color, signaltower::state state = signaltower::state::on );
2 — Stelt LED-kleuren in met behulp van 32-bits RGB- en YW-waarden.
void setColor( uint32_t rgb, uint32_t yw );
3 — Stelt de individuele LED-helderheid in op basis van LED-ID.
void setColor( ledId id, uint32_t value );
Parameters4 — Hiermee stelt u de helderheidsniveaus voor alle LED’s afzonderlijk in.
void setColor( uint8_t r, uint8_t y, uint8_t g, uint8_t b, uint8_t w );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De te gebruiken kleur:
|
|
|
De status van de LED:
|
|
|
De helderheid van de rode, groene en blauwe LED wordt ingesteld met een 32-bits waarde (bijv. rood aan = |
|
|
De helderheid van de gele en witte LED wordt ingesteld met een 32-bits waarde (bijvoorbeeld geel aan = |
|
|
De index van de te bedienen LED:
|
|
|
De helderheid van de LED kan worden ingesteld van 0 tot 255, waarbij 0 uit is en 255 de maximale helderheid. |
|
|
De helderheid van de rode LED kan worden ingesteld van 0 tot 255, waarbij 0 uit is en 255 de maximale helderheid. |
|
|
De helderheid van de gele LED kan worden ingesteld van 0 tot 255, waarbij 0 uit is en 255 de maximale helderheid. |
|
|
De helderheid van de groene led kan worden ingesteld van 0 tot 255, waarbij 0 uit is en 255 de maximale helderheid. |
|
|
De helderheid van de blauwe led is instelbaar van 0 tot 255, waarbij 0 uit is en 255 de maximale helderheid. |
|
|
De helderheid van de witte led kan worden ingesteld van 0 tot 255, waarbij 0 uit is en 255 de maximale helderheid. |
Deze functie retourneert geen waarde.
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#
Hiermee kan de status van alle LED’s op de signaaltoren afzonderlijk worden ingesteld. Deze lampjes kunnen worden gebruikt om de positie van de robot in een project te volgen of om aan te geven wanneer aan bepaalde voorwaarden is voldaan.
Available Functionsvoid setColors(
signaltower::state rs,
signaltower::state ys,
signaltower::state gs,
signaltower::state bs,
signaltower::state ws );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De status van de rode LED:
|
|
|
De status van de gele LED:
|
|
|
De status van de groene LED:
|
|
|
De status van de blauwe LED:
|
|
|
De status van de witte LED:
|
Deze functie retourneert geen waarde.
Examples// Turn on all LEDs
SignalTower.setColors(signaltower::on, signaltower::on, signaltower::on, signaltower::on, signaltower::on);
setBlink#
Hiermee wordt de knipperstand van een LED op de signaaltoren ingesteld aan de hand van de LED-ID. Deze knipperende lampjes kunnen worden gebruikt om aan te geven wanneer aan bepaalde voorwaarden is voldaan, bijvoorbeeld wanneer de robot wacht of wanneer aandacht nodig is.
Available Functionsvoid setBlink(
ledId id,
bool enable );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De LED-ID:
|
|
|
|
Deze functie retourneert geen waarde.
setBlinkTime#
Hiermee stelt u de tijd tussen de knipperbewegingen van de LED’s op de seintoren in.
Available Functionsvoid setBlinkTime(
uint32_t onTime,
uint32_t offTime = 0 );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De tijdsduur in milliseconden dat de LED moet branden tijdens het knipperen. De maximale waarde is 2500 ms. Een waarde van 0 resulteert in een standaardwaarde van 500 ms. |
|
|
De tijd in milliseconden dat de LED uit moet zijn tijdens het knipperen. Maximaal 2500 ms. Een waarde van 0 gebruikt de onTime-waarde. De standaardwaarde is 0. |
Deze functie retourneert geen waarde.
enableBlink#
Hiermee kunnen meerdere LED’s op de seintoren knipperen op basis van hun ID’s.
Available Functionsvoid enableBlink(
ledId id0,
ledId id1 = ledId::none,
ledId id2 = ledId::none,
ledId id3 = ledId::none,
ledId id4 = ledId::none );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De LED-ID:
|
|
|
De index van de tweede LED (optioneel). Standaard is
|
|
|
De index van de derde LED (optioneel). Standaard is
|
|
|
De index van de vierde LED (optioneel). Standaard is
|
|
|
De index van de vijfde LED (optioneel). Standaard is
|
Deze functie retourneert geen waarde.
disableBlink#
Schakelt het knipperen van meerdere LED’s op de seintoren uit op basis van hun ID’s.
Available Functionsvoid disableBlink(
ledId id0,
ledId id1 = ledId::none,
ledId id2 = ledId::none,
ledId id3 = ledId::none,
ledId id4 = ledId::none );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De index van de eerste LED.
|
|
|
De index van de tweede LED (optioneel). Standaard is
|
|
|
De index van de derde LED (optioneel). Standaard is
|
|
|
De index van de vierde LED (optioneel). Standaard is
|
|
|
De index van de vijfde LED (optioneel). Standaard is
|
Deze functie retourneert geen waarde.
pressing#
Geeft aan of de bumper van de seintoren momenteel wordt ingedrukt. Dit kan als noodstop worden gebruikt.
Available Functionsbool pressing();
Deze functie heeft geen parameters.
Return ValuesGeeft een Booleaanse waarde terug die aangeeft of de bumper van de zendmast momenteel wordt ingedrukt.
true— De bumper van de zendmast wordt momenteel ingedrukt.false— De bumper van de zendmast wordt niet ingedrukt.
pressed#
Registreert een functie die moet worden aangeroepen wanneer de bumper van de Signal Tower wordt ingedrukt.
Available Functionsvoid pressed( void (* callback)(void) );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
Een verwijzing naar een functie die wordt aangeroepen wanneer de bumper wordt ingedrukt. |
Deze functie retourneert geen waarde.
ExamplesDefinieer de callbackfunctie (buiten
int main())// Display a message when bumper is pressed void towerBumperPressed() { Brain.Screen.print("tower bumper pressed"); }Registreer de callback binnen
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#
Registreert een functie die moet worden aangeroepen wanneer de bumper van de Signal Tower wordt losgelaten.
Available Functionsvoid released( void (* callback)(void) );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
Een verwijzing naar een functie die wordt aangeroepen wanneer de bumper wordt losgelaten. |
Deze functie retourneert geen waarde.
ExamplesDefinieer de callbackfunctie (buiten
int main())// Display a message when bumper is pressed void towerBumperReleased() { Brain.Screen.print("tower bumper pressed"); }Registreer de callback binnen
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); }