Tour de signalisation#
Introduction#
La tour de signalisation signaltower est utilisée pour modifier les feux et détecter les interactions avec la tour de signalisation CTE.
Constructeurs de classes#
signaltower(
int32_t index );
Destructeur de classe#
Détruit l’objet tour de signalisation signaltower et libère les ressources associées.
virtual ~signaltower();
Paramètres#
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Le port intelligent auquel la tour de signalisation est connectée, écrit sous la forme |
Exemples#
// Create a signal tower instance in Port 1
signaltower SignalTower = signaltower(PORT1);
Fonctions des membres#
La classe signaltower fournit les fonctions membres suivantes :
setColor - Contrôle les couleurs et les états des LED sur la tour de signalisation à l’aide de différentes méthodes d’entrée.
setColors - Définit individuellement l’état de toutes les LED de la tour de signalisation.
setBlink - Définit l’état de clignotement d’une LED sur la tour de signalisation en fonction de l’ID de la LED.
setBlinkTime - Définit le temps entre les clignotements des LED sur la tour de signalisation.
enableBlink - Active le clignotement de plusieurs LED sur la tour de signalisation en fonction de leurs identifiants.
disableBlink - Désactive le clignotement de plusieurs LED sur la tour de signalisation par leurs ID.
pressing - Renvoie si le pare-chocs de la tour de signalisation est actuellement enfoncé.
pressed - Enregistre une fonction à appeler lorsque le pare-chocs de la tour de signalisation est enfoncé.
released - Enregistre une fonction à appeler lorsque le pare-chocs de la tour de signalisation est relâché.
setColor#
Contrôle les couleurs et les états des LED de la tour de signalisation via différents modes de saisie. Ces voyants peuvent servir à suivre la position du robot dans un projet ou à indiquer que certaines conditions sont remplies.
Available Functions1 — Définit la couleur de la tour de signalisation à l’aide de vex::color.
void setColor( vex::color color, signaltower::state state = signaltower::state::on );
2 — Définit les couleurs des LED à l’aide des valeurs RGB et YW 32 bits.
void setColor( uint32_t rgb, uint32_t yw );
3 — Régle la luminosité individuelle des LED par ID de LED.
void setColor( ledId id, uint32_t value );
Parameters4 — Définit individuellement les niveaux de luminosité de chaque LED.
void setColor( uint8_t r, uint8_t y, uint8_t g, uint8_t b, uint8_t w );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Couleur à utiliser :
|
|
|
État de la LED :
|
|
|
La luminosité des LED rouge, verte et bleue à l’aide d’une valeur 32 bits (par exemple, rouge allumé = |
|
|
La luminosité des LED jaunes et blanches utilisant une valeur de 32 bits (par exemple, jaune allumé = |
|
|
Index de la LED à contrôler :
|
|
|
La luminosité de la LED de 0 à 255, 0 étant éteinte et 255 étant la luminosité maximale. |
|
|
La luminosité de la LED rouge de 0 à 255, 0 étant éteinte et 255 étant la luminosité maximale. |
|
|
La luminosité de la LED jaune varie de 0 à 255, 0 étant éteinte et 255 étant la luminosité maximale. |
|
|
La luminosité de la LED verte varie de 0 à 255, 0 étant éteinte et 255 étant la luminosité maximale. |
|
|
La luminosité de la LED bleue varie de 0 à 255, 0 étant éteinte et 255 étant la luminosité maximale. |
|
|
La luminosité de la LED blanche varie de 0 à 255, 0 étant éteinte et 255 étant la luminosité maximale. |
Cette fonction ne renvoie aucune valeur.
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#
Permet de contrôler individuellement l’état de chaque LED de la tour de signalisation. Ces voyants peuvent servir à suivre la position du robot dans un projet ou à indiquer que certaines conditions sont remplies.
Available Functionsvoid setColors(
signaltower::state rs,
signaltower::state ys,
signaltower::state gs,
signaltower::state bs,
signaltower::state ws );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
État de la LED rouge :
|
|
|
État de la LED jaune :
|
|
|
État de la LED verte :
|
|
|
État de la LED bleue :
|
|
|
État de la LED blanche :
|
Cette fonction ne renvoie aucune valeur.
Examples// Turn on all LEDs
SignalTower.setColors(signaltower::on, signaltower::on, signaltower::on, signaltower::on, signaltower::on);
setBlink#
Permet de configurer le clignotement d’une LED sur la tour de signalisation en fonction de son identifiant. Ces clignotements peuvent indiquer que certaines conditions sont remplies, par exemple lorsque le robot est en attente ou lorsqu’une intervention est nécessaire.
Available Functionsvoid setBlink(
ledId id,
bool enable );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Identification de la LED :
|
|
|
|
Cette fonction ne renvoie aucune valeur.
setBlinkTime#
Définit l’intervalle de clignotement des LED sur la tour de signalisation.
Available Functionsvoid setBlinkTime(
uint32_t onTime,
uint32_t offTime = 0 );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Durée d’allumage de la LED (en millisecondes) lors du clignotement. Valeur maximale : 2 500 ms. La valeur par défaut (0) correspond à 500 ms. |
|
|
Durée (en millisecondes) pendant laquelle la LED doit rester éteinte lors du clignotement. Valeur maximale : 2 500 ms. La valeur 0 correspond à la durée d’allumage. Valeur par défaut : 0. |
Cette fonction ne renvoie aucune valeur.
enableBlink#
Permet de faire clignoter plusieurs LED sur la tour de signalisation en fonction de leurs identifiants.
Available Functionsvoid enableBlink(
ledId id0,
ledId id1 = ledId::none,
ledId id2 = ledId::none,
ledId id3 = ledId::none,
ledId id4 = ledId::none );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Identification de la LED :
|
|
|
L’index de la deuxième LED (facultatif). Par défaut :
|
|
|
L’index de la troisième LED (optionnel). Par défaut :
|
|
|
L’index de la quatrième LED (optionnel). Par défaut :
|
|
|
L’index de la cinquième LED (optionnel). Par défaut :
|
Cette fonction ne renvoie aucune valeur.
disableBlink#
Désactive le clignotement de plusieurs LED sur la tour de signalisation en fonction de leur identifiant.
Available Functionsvoid disableBlink(
ledId id0,
ledId id1 = ledId::none,
ledId id2 = ledId::none,
ledId id3 = ledId::none,
ledId id4 = ledId::none );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Indice de la première LED.
|
|
|
L’index de la deuxième LED (facultatif). Par défaut :
|
|
|
L’index de la troisième LED (optionnel). Par défaut :
|
|
|
L’index de la quatrième LED (optionnel). Par défaut :
|
|
|
L’index de la cinquième LED (optionnel). Par défaut :
|
Cette fonction ne renvoie aucune valeur.
pressing#
Indique si le butoir de la tour de signalisation est actuellement enfoncé. Cela peut servir d’arrêt d’urgence.
Available Functionsbool pressing();
Cette fonction ne possède pas de paramètres.
Return ValuesRenvoie une valeur booléenne indiquant si le bouton de sécurité de la tour de signalisation est actuellement enfoncé.
true— Le pare-chocs de la tour de signalisation est actuellement enfoncé.false— Le pare-chocs de la tour de signalisation n’est pas enfoncé.
pressed#
Enregistre une fonction à appeler lorsque le bouton de la tour de signalisation est enfoncé.
Available Functionsvoid pressed( void (* callback)(void) );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Un pointeur vers une fonction qui sera appelée lorsque le bouton de pare-chocs sera enfoncé. |
Cette fonction ne renvoie aucune valeur.
ExamplesDéfinissez la fonction de rappel (en dehors de
int main())// Display a message when bumper is pressed void towerBumperPressed() { Brain.Screen.print("tower bumper pressed"); }Enregistrez le rappel à l’intérieur de
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#
Enregistre une fonction à appeler lorsque le pare-chocs de la tour de signalisation est relâché.
Available Functionsvoid released( void (* callback)(void) );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Un pointeur vers une fonction qui sera appelée lorsque le pare-chocs sera relâché. |
Cette fonction ne renvoie aucune valeur.
ExamplesDéfinissez la fonction de rappel (en dehors de
int main())// Display a message when bumper is released void towerBumperReleased() { Brain.Screen.print("tower bumper released"); }Enregistrez le rappel à l’intérieur de
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); }