Touch LED#

Introduction#

The VEX IQ (2nd Gen) Touch LED category offers methods for interacting with the Touch LED.

For the examples below, the configured Touch LED will be named TouchLED1 and will be used in all subsequent examples throughout this API documentation when referring to touchled class methods.

Below is a list of all available methods:

Actions – Interact with the Touch LED.

  • pressed – Calls a function when the Touch LED is pressed.

  • released – Calls a function when the Bumper Switch is released.

  • on – Turns the Touch LED on.

  • off – Turns the Touch LED off.

Mutators – Change colors, brightness, and settings of the Touch LED.

  • setColor – Sets the color of the Touch LED.

  • setFade – Sets how fast colors will fade to one another.

  • setBrightness – Sets the brightness of the Touch LED.

  • setBlink – Alternate the Touch LED on and off indefinitely.

Getters – Return data from the Touch LED.

  • pressing – Returns whether the Touch LED is being pressed.

  • installed – Returns whether the Touch LED is connected to the Brain.

Constructors – Manually initialize a Touch LED.

Actions#

pressed#

pressed registers a function to be called when the Touch LED is pressed.

Usage:
TouchLED1.pressed(callback);

Parameters

Description

callback

A function that is previously defined to execute when the Touch LED is pressed.

// Turn the LED red
void onTouchPressed() {
  TouchLED1.setColor(red);
}

int main() {
  // Initializing Robot Configuration. DO NOT REMOVE!
  vexcodeInit();

  // Call onTouchPressed when the Touch LED is pressed
  TouchLED1.pressed(onTouchPressed);
}

released#

released registers a function to be called when the Touch LED is released.

Usage:
TouchLED1.released(callback);

Parameters

Description

callback

A function that is previously defined to execute when the Touch LED is released.

// Turn the LED off
void onTouchReleased() {
  TouchLED1.off();
}

int main() {
  // Initializing Robot Configuration. DO NOT REMOVE!
  vexcodeInit();

  TouchLED1.setColor(blue);
  // Call onTouchReleased when the Touch LED is released
  TouchLED1.released(onTouchReleased);
}

on#

on method turns the LED of the TouchLED Sensor on using predefined colors and a set brightness.

Default Usage:
TouchLED1.on(color, brightness);

Overload Usages:
TouchLED1.on(hue, brightness);
TouchLED1.on(r, g, b, brightness);

Parameters

Description

color

A valid color:

  • blue
  • blue_green
  • blue_violet
  • green
  • orange
  • purple
  • red
  • red_orange
  • red_violet
  • violet
  • white
  • yellow
  • yellow_green
  • yellow_orange
  • colorType::none
  • black
  • transparent

brightness

Optional. The brightness at which to set the LED in percent, defaulting to 100.

hue

The hue of the LED. This can also be represented as a Hexcode value (0x000000).

r

An integer representing the red value of the LED.

g

An integer representing the green value of the LED.

b

An integer representing the blue value of the LED.

int main() {
  // Initializing Robot Configuration. DO NOT REMOVE!
  vexcodeInit();

  // Turn LED on using a predefined color with 100 brightness
  TouchLED1.on(green, 100);
  wait(1, seconds);

  // Turn LED on using hexcode (FF2A00, 75 brightness)
  TouchLED1.on(0xFF2A00, 75);
  wait(1, seconds);

  // Turn LED on using RGB values (0, 30, 255, 50 brightness)
  TouchLED1.on(0, 30, 255, 50);
}

off#

off turns the Touch LED off.

Usage:
TouchLED1.off();

Parameters

Description

This method has no parameters.

int main() {
  // Initializing Robot Configuration. DO NOT REMOVE!
  vexcodeInit();

  // Turn LED on, wait, then turn off
  TouchLED1.setColor(yellow);
  wait(2, seconds);
  TouchLED1.off();
}

Mutators#

setColor#

setColor turns the LED of the Touch LED Sensor on to a specific color.

Usage:
TouchLED1.setColor(color);

Parameters

Description

color

A valid color:

  • blue
  • blue_green
  • blue_violet
  • green
  • orange
  • purple
  • red
  • red_orange
  • red_violet
  • violet
  • white
  • yellow
  • yellow_green
  • yellow_orange
  • colorType::none
  • black
  • transparent
int main() {
  // Initializing Robot Configuration. DO NOT REMOVE!
  vexcodeInit();

  // Alternate between colors
  while (true) {
    TouchLED1.setColor(blue_violet);
    wait(0.5, seconds);
    TouchLED1.setColor(blue_green);
    wait(0.5, seconds);
  }
}

setFade#

setFade changes the fade setting of the Touch LED Sensor. The Touch LED Sensor will change to new colors using the fade type.

Usage:
TouchLED1.setFade(speed);

Parameters

Description

speed

The speed the fade will be set to:

  • fast
  • off — no fade
  • slow
int main() {
  // Initializing Robot Configuration. DO NOT REMOVE!
  vexcodeInit();

  // Set the fade speed to slow
  TouchLED1.setFade(slow);
}

setBrightness#

setBrightness sets the brightness of the Touch LED.

Usage:
TouchLED1.setBrightness(value);

Parameters

Description

value

The brightness of the Touch LED to set as a percent.

int main() {
  // Initializing Robot Configuration. DO NOT REMOVE!
  vexcodeInit();

  // Show different brightness levels
  TouchLED1.setColor(green);
  wait(1, seconds);

  TouchLED1.setBrightness(25);
  wait(1, seconds);

  TouchLED1.setBrightness(100);
}

Getters#

pressing#

pressing returns a Boolean indicating whether the Touch LED Sensor is currently being pressed.

  • 1 – The Touch LED is currently bring pressed.

  • 0 – The Touch LED is not currently being pressed.

Usage:
TouchLED1.pressing()

Parameters

Description

This method has no parameters.

int main() {
  // Initializing Robot Configuration. DO NOT REMOVE!
  vexcodeInit();

  // Only turn green when the Touch LED is being pressed
  while (true) {
    if (TouchLED1.pressing()) {
      TouchLED1.setColor(green);

    } else {
      TouchLED1.off();
    }
  }
}

installed#

installed returns a Boolean indicating whether the Touch LED is currently connected to the Brain.

  • 1 – The TouchLED is connected to the Brain.

  • 0 – The TouchLED is not connected to the Brain.

Usage:
TouchLED1.installed()

Parameters

Description

This method has no parameters.

Constructors#

touchled#

touchled creates an object of the touchled Class in the specified port.

Usage:
touchled TouchLED1 = touchled(port);

Parameter

Description

port

Which Smart Port that the Touch LED is connected to as PORT followed by the port number, ranging from 1 to 12.

int main() {
  // Initializing Robot Configuration. DO NOT REMOVE!
  vexcodeInit();

  // Create a Touch LED in Port 1
  touchled myTouchLED = touchled(PORT1);
}