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

index

int32_t

Le port intelligent auquel la tour de signalisation est connectée, écrit sous la forme PORTx, où x est le numéro de port (par exemple, PORT1).

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 Functions

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

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

Parameters

Paramètre

Taper

Description

color

vex::color

Couleur à utiliser :

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

state

signaltower::state

État de la LED :

  • on (Par défaut) – Allume la LED.
  • off – Éteint la LED.
  • blink – Fait clignoter la LED.

rgb

uint32_t

La luminosité des LED rouge, verte et bleue à l’aide d’une valeur 32 bits (par exemple, rouge allumé = 0xFF0000, verte allumée = 0x00FF00, et bleue allumée = 0x0000FF).

yw

uint32_t

La luminosité des LED jaunes et blanches utilisant une valeur de 32 bits (par exemple, jaune allumé = 0xFF00 et blanc allumé = 0x00FF).

id

ledId

Index de la LED à contrôler :

  • 0 – rouge
  • 1 – vert
  • 2 – bleu
  • 3 – blanc
  • 4 – jaune

value

uint32_t

La luminosité de la LED de 0 à 255, 0 étant éteinte et 255 étant la luminosité maximale.

r

uint8_t

La luminosité de la LED rouge de 0 à 255, 0 étant éteinte et 255 étant la luminosité maximale.

y

uint8_t

La luminosité de la LED jaune varie de 0 à 255, 0 étant éteinte et 255 étant la luminosité maximale.

g

uint8_t

La luminosité de la LED verte varie de 0 à 255, 0 étant éteinte et 255 étant la luminosité maximale.

b

uint8_t

La luminosité de la LED bleue varie de 0 à 255, 0 étant éteinte et 255 étant la luminosité maximale.

w

uint8_t

La luminosité de la LED blanche varie de 0 à 255, 0 étant éteinte et 255 étant la luminosité maximale.

Return Values

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

Parameters

Paramètre

Taper

Description

rs

signaltower::state

État de la LED rouge :

  • on – Allume la LED.
  • off – Éteint la LED.
  • blink – Fait clignoter la LED.

ys

signaltower::state

État de la LED jaune :

  • on – Allume la LED.
  • off – Éteint la LED.
  • blink – Fait clignoter la LED.

gs

signaltower::state

État de la LED verte :

  • on – Allume la LED.
  • off – Éteint la LED.
  • blink – Fait clignoter la LED.

bs

signaltower::state

État de la LED bleue :

  • on – Allume la LED.
  • off – Éteint la LED.
  • blink – Fait clignoter la LED.

ws

signaltower::state

État de la LED blanche :

  • on – Allume la LED.
  • off – Éteint la LED.
  • blink – Fait clignoter la LED.

Return Values

Cette fonction ne renvoie aucune valeur.

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

setBlinkTime#

Définit l’intervalle de clignotement des LED sur la tour de signalisation.

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

Parameters

Paramètre

Taper

Description

onTime

uint32_t

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.

offTime

uint32_t

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.

Return Values

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

Parameters

Cette fonction ne possède pas de paramètres.

Return Values

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

Parameters

Paramètre

Taper

Description

callback

void (*)(void)

Un pointeur vers une fonction qui sera appelée lorsque le bouton de pare-chocs sera enfoncé.

Return Values

Cette fonction ne renvoie aucune valeur.

Examples

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

Parameters

Paramètre

Taper

Description

callback

void (*)(void)

Un pointeur vers une fonction qui sera appelée lorsque le pare-chocs sera relâché.

Return Values

Cette fonction ne renvoie aucune valeur.

Examples

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