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

index

int32_t

The Smart Port that the Signal Tower is connected to, written as PORTx, where x is the port number (for example, PORT1).

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 de parpadeo 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 botón de la torre de señales está siendo presionado actualmente.

  • presionado - Registra una función que se llamará cuando se presione el botón de la torre de señalización.

  • released - Registra una función que se llamará cuando se suelte el botón de la torre de señalización.

  • timestamp - Devuelve la marca de tiempo del último paquete de estado recibido de la torre de señal.

  • instalado - Devuelve si el dispositivo de la torre de señal está conectado o no.

setColor#

Controla los colores y estados de los LED en la torre de señalización mediante diversos métodos de entrada.

Available Functions

1 Establece un color para 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 );

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

Parameters

Parámetro

Tipo

Descripción

color

vex::color

The color to use (red, green, etc.) using vex::color.

state

signaltower::state

The state for the LED:

  • on (Default) – Turns the LED on.
  • off – Turns the LED off.
  • blink – Makes the LED blink.

rgb

uint32_t

The brightness of red, green and blue LED using 32-bit value (e.g., red on = 0xFF0000).

yw

uint32_t

The brightness of yellow and white LED using 32-bit value (e.g., yellow on = 0xFF00).

id

ledId

El índice del LED a controlar.

value

uint32_t

El brillo del LED (de 0 a 255).

r

uint8_t

El brillo del LED rojo (de 0 a 255).

y

uint8_t

El brillo del LED amarillo (de 0 a 255).

g

uint8_t

El brillo del LED verde (de 0 a 255).

b

uint8_t

El brillo del LED azul (de 0 a 255).

w

uint8_t

El brillo del LED blanco (de 0 a 255).

Return Values

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.

Available Functions
void setColors( 
  signaltower::state rs, 
  signaltower::state ys, 
  signaltower::state gs, 
  signaltower::state bs, 
  signaltower::state ws );

Parameters

Parámetro

Tipo

Descripción

rs

signaltower::state

The state of the red LED:

  • on – Turns the LED on.
  • off – Turns the LED off.
  • blink – Makes the LED blink.

ys

signaltower::state

The state of the yellow LED:

  • on – Turns the LED on.
  • off – Turns the LED off.
  • blink – Makes the LED blink.

gs

signaltower::state

The state of the green LED:

  • on – Turns the LED on.
  • off – Turns the LED off.
  • blink – Makes the LED blink.

bs

signaltower::state

The state of the blue LED:

  • on – Turns the LED on.
  • off – Turns the LED off.
  • blink – Makes the LED blink.

ws

signaltower::state

The state of the white LED:

  • on – Turns the LED on.
  • off – Turns the LED off.
  • blink – Makes the LED blink.

Return Values

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

setBlinkTime#

Configura la temporización del parpadeo de los LED en la torre de señalización.

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

Parameters

Parámetro

Tipo

Descripción

onTime

uint32_t

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.

offTime

uint32_t

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.

Return Values

Esta función no devuelve ningún valor.

pressing#

Indica si el botón de la torre de señalización está pulsado en ese momento.

Available Functions
bool pressing();

Parameters

Esta función no tiene parámetros.

Return Values

Devuelve un valor booleano que indica si el botón de la torre de señalización está pulsado en ese momento.

  • true if the signal tower button is currently being pressed.

  • false if the signal tower button is not currently being pressed.

pressed#

Registra una función que se llamará cuando se presione el botón de la torre de señalización.

Available Functions
void pressed( void (* callback)(void) );

Parameters

Parámetro

Tipo

Descripción

callback

void (*)(void)

Una función que se llamará cuando se presione el botón.

Return Values

Esta función no devuelve ningún valor.

Examples
// Define the towerButtonPressed function with a void 
// return type, showing it doesn't return a value.
void towerButtonPressed() {
  // The Brain will print that the tower button was
  // pressed on the Brain's screen.
  Brain.Screen.print("tower button pressed");
}

// Run towerButtonPressed when the tower button 
// is pressed.
SignalTower.pressed(towerButtonPressed);

released#

Registra una función que se llamará cuando se suelte el botón de la torre de señalización.

Available Functions
void released( void (* callback)(void) );

Parameters

Parámetro

Tipo

Descripción

callback

void (*)(void)

Una función que se llamará cuando se suelte el botón.

Return Values

Esta función no devuelve ningún valor.

Examples
// Define the towerButtonReleased function with a void 
// return type, showing it doesn't return a value.
void towerButtonReleased() {
  // The Brain will print that the tower button was 
  // released on the Brain's screen.
  Brain.Screen.print("tower button released");
}

// Run towerButtonReleased when the tower 
// button is released.
SignalTower.released(towerButtonReleased);

timestamp#

Devuelve la marca de tiempo del último paquete de estado recibido de la torre de señales.

Available Functions
uint32_t timestamp();

Parameters

Esta función no tiene parámetros.

Return Values

Returns the timestamp of the last status packet as a uint32_t in milliseconds since the last status packet was received.

installed#

Indica si la torre de señal está conectada o no.

Available Functions
bool installed();

Parameters

Esta función no tiene parámetros.

Return Values

Devuelve un valor booleano que indica si la torre de señalización está conectada o no.

  • true if the signal tower is connected.

  • false if the signal tower is not connected.