Signaltorn#

Introduktion#

Klass signaltower används för att byta lampor och detektera interaktioner med CTE-signaltornet.

Klasskonstruktörer#

signaltower( 
  int32_t  index );

Klassförstörare#

Förstör objektet signaltower och frigör tillhörande resurser.

virtual ~signaltower();

Parametrar#

Parameter

Typ

Beskrivning

index

int32_t

Den smarta porten som signaltornet är anslutet till, skriven som PORTx, där x är portnumret (till exempel PORT1).

Exempel#

// Create a signal tower instance in Port 1
signaltower SignalTower = signaltower(PORT1);

Medlemsfunktioner#

Klassen signaltower tillhandahåller följande medlemsfunktioner:

  • setColor – Styr LED-färgerna och tillstånden på signaltornet med hjälp av olika inmatningsmetoder.

  • setColors - Ställer in tillståndet för alla lysdioder på signaltornet individuellt.

  • setBlink - Ställer in blinkningsstatusen för en lysdiod på signaltornet med hjälp av lysdiodens ID.

  • setBlinkTime – Ställer in tiden mellan blinkningarna för lysdioderna på signaltornet.

  • enableBlink – Aktiverar blinkning för flera lysdioder på signaltornet efter deras ID:n.

  • disableBlink – Inaktiverar blinkning för flera lysdioder på signaltornet efter deras ID:n.

  • trycker – Returnerar om signaltornets stötfångare trycks ned för närvarande.

  • tryckt - Registrerar en funktion som ska anropas när signaltornets stötfångare trycks ned.

  • släppt - Registrerar en funktion som ska anropas när signaltornets stötfångare släpps.

setColor#

Styr LED-lampornas färger och tillstånd på signaltornet med hjälp av olika inmatningsmetoder. Dessa lampor kan användas för att spåra var roboten befinner sig i ett projekt eller för att visa när vissa villkor är uppfyllda.

Available Functions

1 — Ställer in signaltornets färg med vex::color.

void setColor( 
  vex::color         color, 
  signaltower::state state = signaltower::state::on );

2 — Ställer in LED-färger med 32-bitars RGB- och YW-värden.

void setColor( 
  uint32_t rgb, 
  uint32_t yw );

3 — Ställer in individuell LED-ljusstyrka efter LED-ID.

void setColor( 
  ledId id, 
  uint32_t value );

4 — Ställer in ljusstyrkenivåerna för alla lysdioder individuellt.

void setColor( 
  uint8_t r, 
  uint8_t y, 
  uint8_t g, 
  uint8_t b, 
  uint8_t w );

Parameters

Parameter

Typ

Beskrivning

color

vex::color

Färgen att använda:

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

state

signaltower::state

Status för lysdioden:

  • on (Standard) – Slår på lysdioden.
  • off – Stänger av lysdioden.
  • blink – Får lysdioden att blinka.

rgb

uint32_t

Ljusstyrkan hos röd, grön och blå lysdiod med ett 32-bitarsvärde (t.ex. röd på = 0xFF0000, grön på = 0x00FF00och blå på = 0x0000FF).

yw

uint32_t

Ljusstyrkan hos gul och vit lysdiod med ett 32-bitarsvärde (t.ex. gul på = 0xFF00 och vit på = 0x00FF).

id

ledId

Index för den lysdiod som ska styras:

  • 0 – röd
  • 1 – grön
  • 2 – blå
  • 3 – vit
  • 4 – gul

value

uint32_t

LED-lampans ljusstyrka är från 0 till 255, där 0 är avstängd och 255 är maximal ljusstyrka.

r

uint8_t

Ljusstyrkan på den röda lysdioden är från 0 till 255, där 0 är avstängd och 255 är maximal ljusstyrka.

y

uint8_t

Ljusstyrkan på den gula lysdioden är från 0 till 255, där 0 är av och 255 är maximal ljusstyrka.

g

uint8_t

Ljusstyrkan på den gröna lysdioden är från 0 till 255, där 0 är av och 255 är maximal ljusstyrka.

b

uint8_t

Ljusstyrkan på den blå lysdioden är från 0 till 255, där 0 är avstängd och 255 är maximal ljusstyrka.

w

uint8_t

Ljusstyrkan på den vita lysdioden är från 0 till 255, där 0 är avstängd och 255 är maximal ljusstyrka.

Return Values

Den här funktionen returnerar inget värde.

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#

Ställer in statusen för alla lysdioder på signaltornet individuellt. Dessa lampor kan användas för att spåra var roboten befinner sig i ett projekt eller för att visa när vissa villkor är uppfyllda.

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

Parameters

Parameter

Typ

Beskrivning

rs

signaltower::state

Den röda lysdiodens tillstånd:

  • on – Slår på lysdioden.
  • off – Släcker lysdioden.
  • blink – Får lysdioden att blinka.

ys

signaltower::state

Den gula lysdiodens tillstånd:

  • on – Slår på lysdioden.
  • off – Släcker lysdioden.
  • blink – Får lysdioden att blinka.

gs

signaltower::state

Den gröna lysdiodens tillstånd:

  • on – Slår på lysdioden.
  • off – Släcker lysdioden.
  • blink – Får lysdioden att blinka.

bs

signaltower::state

Status för den blå lysdioden:

  • on – Slår på lysdioden.
  • off – Släcker lysdioden.
  • blink – Får lysdioden att blinka.

ws

signaltower::state

Den vita lysdiodens tillstånd:

  • on – Slår på lysdioden.
  • off – Släcker lysdioden.
  • blink – Får lysdioden att blinka.

Return Values

Den här funktionen returnerar inget värde.

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

setBlinkTime#

Ställer in tiden mellan blinkningarna för lysdioderna på signaltornet.

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

Parameters

Parameter

Typ

Beskrivning

onTime

uint32_t

Tiden i millisekunder som lysdioden ska vara tänd när den blinkar. Maxvärdet är 2500 ms. Ett värde på 0 ger 500 ms som standard.

offTime

uint32_t

Tiden i millisekunder som lysdioden ska vara släckt när den blinkar. Maxvärdet är 2500 ms. Värdet 0 använder onTime-värdet. Standardvärdet är 0.

Return Values

Den här funktionen returnerar inget värde.

pressing#

Returnerar om signaltornets stötfångare för närvarande trycks ned. Detta kan användas som ett nödstopp.

Available Functions
bool pressing();

Parameters

Den här funktionen har inga parametrar.

Return Values

Returnerar ett booleskt värde som anger om signaltornets stötfångare trycks ned för närvarande.

  • true — Signaltornets stötfångare trycks just nu.

  • false — Signaltornets stötfångare trycks inte ner.

pressed#

Registrerar en funktion som ska anropas när signaltornets stötfångare trycks ned.

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

Parameters

Parameter

Typ

Beskrivning

callback

void (*)(void)

En pekare till en funktion som anropas när bumper-knappen trycks ned.

Return Values

Den här funktionen returnerar inget värde.

Examples

Definiera callback-funktionen (utanför int main())

// Display a message when bumper is pressed
void towerBumperPressed() {
  Brain.Screen.print("tower bumper pressed");
}

Registrera återuppringningen inuti 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#

Registrerar en funktion som ska anropas när signaltornets stötfångare släpps.

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

Parameters

Parameter

Typ

Beskrivning

callback

void (*)(void)

En pekare till en funktion som anropas när bumpern släpps.

Return Values

Den här funktionen returnerar inget värde.

Examples

Definiera callback-funktionen (utanför int main())

// Display a message when bumper is pressed
void towerBumperReleased() {
  Brain.Screen.print("tower bumper pressed");
}

Registrera återuppringningen inuti 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);
}