Torre de señales#
Introducción#
The signaltower class is used to change lights and detect interactions with the CTE Signal Tower.
Constructores de clases#
signaltower(
int32_t index );
Instructor de clase#
Destroys the signaltower object and releases associated resources.
virtual ~signaltower();
Parámetros#
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
The Smart Port that the Signal Tower is connected to, written as |
Ejemplos#
// Create a signal tower instance in Port 1
signaltower SignalTower = signaltower(PORT1);
Funciones de los miembros#
The signaltower class provides the following member functions:
setColor - Controla los colores y estados de los LED en la torre de señalización utilizando varios métodos de entrada.
setColors - Establece el estado de todos los LED de la torre de señalización individualmente.
setBlink - Establece el estado de parpadeo de un LED en la torre de señalización mediante la ID del LED.
setBlinkTime - Establece el tiempo entre parpadeos de los LED en la torre de señalización.
enableBlink - Habilita el parpadeo de varios LED en la torre de señalización mediante sus identificadores.
disableBlink - Deshabilita el parpadeo de varios LED en la torre de señalización por sus identificadores.
presionando - Devuelve si el parachoques de la torre de señales está siendo presionado actualmente.
presionado - Registra una función que se llamará cuando se presione el parachoques de la torre de señalización.
released - Registra una función que se llamará cuando se suelte el parachoques de la torre de señalización.
setColor#
Controla los colores y estados de los LED en la torre de señalización mediante diversos métodos de entrada. Estas luces se pueden usar para rastrear la posición del robot en un proyecto o para indicar cuándo se cumplen ciertas condiciones.
Available Functions1 — Establece el color de la torre de señales usando vex::color.
void setColor( vex::color color, signaltower::state state = signaltower::state::on );
2 — Establece los colores de los LED utilizando valores RGB y YW de 32 bits.
void setColor( uint32_t rgb, uint32_t yw );
3 — Establece el brillo de cada LED individual mediante su ID.
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 |
|---|---|---|
|
|
The color to use:
|
|
|
The state for the LED:
|
|
|
The brightness of red, green and blue LED using a 32-bit value (e.g., red on = |
|
|
The brightness of yellow and white LED using a 32-bit value (e.g., yellow on = |
|
|
The index of the LED to control:
|
|
|
El brillo del LED varía de 0 a 255, donde 0 significa apagado y 255 es el brillo máximo. |
|
|
El brillo del LED rojo varía de 0 a 255, donde 0 significa apagado y 255 es el brillo máximo. |
|
|
El brillo del LED amarillo varía de 0 a 255, donde 0 significa apagado y 255 es el brillo máximo. |
|
|
El brillo del LED verde varía de 0 a 255, donde 0 significa apagado y 255 es el brillo máximo. |
|
|
El brillo del LED azul varía de 0 a 255, donde 0 significa apagado y 255 es el brillo máximo. |
|
|
El brillo del LED blanco varía de 0 a 255, donde 0 significa apagado y 255 es el brillo máximo. |
Esta función no devuelve ningún 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#
Configura individualmente el estado de todos los LED de la torre de señalización. Estas luces se pueden usar para rastrear la posición del robot en un proyecto o para indicar 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 |
|---|---|---|
|
|
The state of the red LED:
|
|
|
The state of the yellow LED:
|
|
|
The state of the green LED:
|
|
|
The state of the blue LED:
|
|
|
The state of the white LED:
|
Esta función no devuelve ningún 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ñalización mediante su ID. Estas luces intermitentes se pueden usar para indicar cuándo se cumplen ciertas condiciones, como cuando el robot está esperando o cuando se requiere atención.
Available Functionsvoid setBlink(
ledId id,
bool enable );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
The LED ID:
|
|
|
|
Esta función no devuelve ningún valor.
setBlinkTime#
Configura el tiempo entre parpadeos de los LED en la torre de señalización.
Available Functionsvoid setBlinkTime(
uint32_t onTime,
uint32_t offTime = 0 );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
El tiempo en milisegundos que el LED debe permanecer encendido al parpadear. El máximo es de 2500 ms. Un valor de 0 establece por defecto un tiempo de 500 ms. |
|
|
Tiempo en milisegundos que el LED debe permanecer apagado al parpadear. El máximo es 2500 ms. Un valor de 0 utiliza el valor de onTime. El valor predeterminado es 0. |
Esta función no devuelve ningún valor.
enableBlink#
Permite que varios LED de la torre de señalización parpadeen según sus identificadores.
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 |
|---|---|---|
|
|
The LED ID:
|
|
|
The index of the second LED (optional). Default is
|
|
|
The index of the third LED (optional). Default is
|
|
|
The index of the fourth LED (optional). Default is
|
|
|
The index of the fifth LED (optional). Default is
|
Esta función no devuelve ningún valor.
disableBlink#
Desactiva el parpadeo de varios LED en la torre de señalización mediante sus identificadores.
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 |
|---|---|---|
|
|
The index of the first LED.
|
|
|
The index of the second LED (optional). Default is
|
|
|
The index of the third LED (optional). Default is
|
|
|
The index of the fourth LED (optional). Default is
|
|
|
The index of the fifth LED (optional). Default is
|
Esta función no devuelve ningún valor.
pressing#
Indica si se está presionando el parachoques de la torre de señalización. Esto puede utilizarse como parada de emergencia.
Available Functionsbool pressing();
Esta función no tiene parámetros.
Return ValuesDevuelve un valor booleano que indica si el parachoques de la torre de señalización está siendo presionado en ese momento.
true— The Signal Tower’s bumper is currently being pressed.false— The Signal Tower’s bumper is not being pressed.
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 ningún valor.
ExamplesDefine the callback function (outside of
int main())// Display a message when bumper is pressed void towerBumperPressed() { Brain.Screen.print("tower bumper pressed"); }Register the callback inside
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 ningún valor.
ExamplesDefine the callback function (outside of
int main())// Display a message when bumper is pressed void towerBumperReleased() { Brain.Screen.print("tower bumper pressed"); }Register the callback inside
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.pressed(towerBumperReleased); }