Torre de señales#
Introducción#
La clase signaltower se utiliza para cambiar las luces y detectar interacciones con la torre de señalización CTE.
Constructores de clase#
signaltower(
int32_t index );
Destructor de clase#
Destruye el signaltower objeto signaltower y libera los recursos asociados.
virtual ~signaltower();
Parámetros#
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
El puerto inteligente al que está conectada la torre de señalización, escrito como |
Ejemplos#
// Create a signal tower instance in Port 1
signaltower SignalTower = signaltower(PORT1);
Funciones de los miembros#
La signaltower clase signaltower proporciona las siguientes funciones de miembro:
setColor - Controla los colores y estados del LED en la torre de señal utilizando varios métodos de entrada.
setColors - Establece el estado de todos los LED en la torre de señal individualmente.
setBlink - Establece el estado de parpadeo de un LED en la Torre de Señal por el ID del LED.
setBlinkTime - Establece el tiempo entre parpadeos para los LED en la Torre de Señal.
enableBlink: habilita el parpadeo para varios LED en la torre de señal por sus ID.
disableBlink: desactiva el parpadeo de varios LED en la torre de señalización por sus ID.
Pressing - Devuelve si el parachoques de la torre de señalización se está presionando actualmente.
presionado - Registra una función que se llamará cuando se presione el parachoques de la Torre de Señal.
released - Registra una función que se llamará cuando se suelte el parachoques de la torre de señales.
setColor#
Controla los colores y estados del LED en la torre de señal utilizando varios métodos de entrada. Estas luces se pueden utilizar para rastrear dónde se encuentra el robot en un proyecto o para mostrar cuándo se cumplen ciertas condiciones.
Available Functions1 — Establece la torre de señalización en un color usando vex::color.
void setColor( vex::color color, signaltower::state state = signaltower::state::on );
2 — Establece los colores LED utilizando valores RGB e YW de 32 bits.
void setColor( uint32_t rgb, uint32_t yw );
3 — Establece el brillo individual del LED por identificación del LED.
void setColor( ledId id, uint32_t value );
Parameters4 — Establece los niveles de brillo para todos los LED individualmente.
void setColor( uint8_t r, uint8_t y, uint8_t g, uint8_t b, uint8_t w );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
El color a utilizar:
|
|
|
El estado del LED:
|
|
|
El brillo del LED rojo, verde y azul utilizando un valor de 32 bits (por ejemplo, rojo encendido = |
|
|
El brillo del LED amarillo y blanco utilizando un valor de 32 bits (por ejemplo, amarillo encendido = |
|
|
El índice del LED al control:
|
|
|
El brillo del LED va de 0 a 255, donde 0 está apagado y 255 es el brillo máximo. |
|
|
El brillo del LED rojo de 0 a 255, donde 0 está apagado y 255 es el brillo máximo. |
|
|
El brillo del LED amarillo va de 0 a 255, donde 0 está apagado y 255 es el brillo máximo. |
|
|
El brillo del LED verde de 0 a 255, donde 0 está apagado y 255 es el brillo máximo. |
|
|
El brillo del LED azul de 0 a 255, donde 0 está apagado y 255 es el brillo máximo. |
|
|
El brillo del LED blanco de 0 a 255, donde 0 está apagado y 255 es el brillo máximo. |
Esta función no devuelve un valor.
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#
Establece el estado de todos los LED en la torre de señalización individualmente. Estas luces se pueden utilizar para rastrear dónde se encuentra el robot en un proyecto o para mostrar cuándo se cumplen ciertas condiciones.
Available Functionsvoid setColors(
signaltower::state rs,
signaltower::state ys,
signaltower::state gs,
signaltower::state bs,
signaltower::state ws );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
El estado del LED rojo:
|
|
|
El estado del LED amarillo:
|
|
|
El estado del LED verde:
|
|
|
El estado del LED azul:
|
|
|
El estado del LED blanco:
|
Esta función no devuelve un valor.
Examples// Turn on all LEDs
SignalTower.setColors(signaltower::on, signaltower::on, signaltower::on, signaltower::on, signaltower::on);
setBlink#
Establece el estado de parpadeo de un LED en la torre de señal por el ID del LED. Estas luces parpadeantes se pueden usar para mostrar cuándo se cumplen ciertas condiciones, como cuando el robot está esperando o cuando se necesita atención.
Available Functionsvoid setBlink(
ledId id,
bool enable );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
El ID del LED:
|
|
|
|
Esta función no devuelve un valor.
setBlinkTime#
Establece el tiempo entre parpadeos para los LED en la torre de señal.
Available Functionsvoid setBlinkTime(
uint32_t onTime,
uint32_t offTime = 0 );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
El tiempo en milisegundos que el LED debe estar encendido cuando parpadea. Max es 2500ms. Un valor de 0 por defecto es 500ms. |
|
|
El tiempo en milisegundos que el LED debe estar apagado cuando parpadea. Max es 2500ms. Un valor de 0 usa el valor onTime. El valor predeterminado es 0. |
Esta función no devuelve un valor.
enableBlink#
Permite el parpadeo de varios LED en la torre de señalización por sus ID.
Available Functionsvoid enableBlink(
ledId id0,
ledId id1 = ledId::none,
ledId id2 = ledId::none,
ledId id3 = ledId::none,
ledId id4 = ledId::none );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
El ID del LED:
|
|
|
El índice del segundo LED (opcional). El valor
|
|
|
El índice del tercer LED (opcional). El valor
|
|
|
El índice del cuarto LED (opcional). El valor
|
|
|
El índice del quinto LED (opcional). El valor
|
Esta función no devuelve un valor.
disableBlink#
Desactiva el parpadeo de varios LED en la torre de señalización por sus ID.
Available Functionsvoid disableBlink(
ledId id0,
ledId id1 = ledId::none,
ledId id2 = ledId::none,
ledId id3 = ledId::none,
ledId id4 = ledId::none );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
El índice del primer LED.
|
|
|
El índice del segundo LED (opcional). El valor
|
|
|
El índice del tercer LED (opcional). El valor
|
|
|
El índice del cuarto LED (opcional). El valor
|
|
|
El índice del quinto LED (opcional). El valor
|
Esta función no devuelve un valor.
pressing#
Devuelve si el parachoques de la torre de señalización está siendo presionado actualmente. Esto se puede utilizar como una parada de emergencia.
Available Functionsbool pressing();
Esta función no tiene parámetros.
Return ValuesDevuelve un booleano que indica si se está presionando el parachoques de la torre de señalización.
true— El parachoques de la Torre de Señales está siendo presionado actualmente.false— El parachoques de la Torre de Señales no está siendo presionado.
pressed#
Registra una función que se llamará cuando se presione el parachoques de la torre de señalización.
Available Functionsvoid pressed( void (* callback)(void) );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Un puntero a una función que se llamará cuando se presione el parachoques. |
Esta función no devuelve un valor.
ExamplesDefina la función de devolución de llamada (fuera de
int main())// Display a message when bumper is pressed void towerBumperPressed() { Brain.Screen.print("tower bumper pressed"); }Registrar la devolución de llamada dentro 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#
Registra una función que se llamará cuando se suelte el parachoques de la torre de señalización.
Available Functionsvoid released( void (* callback)(void) );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Un puntero a una función que se llamará cuando se suelte el parachoques. |
Esta función no devuelve un valor.
ExamplesDefina la función de devolución de llamada (fuera de
int main())// Display a message when bumper is released void towerBumperReleased() { Brain.Screen.print("tower bumper released"); }Registrar la devolución de llamada dentro 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); }