RGB
Control 4 individual RGB lights (A, B, C, D) located at the edge of RoboBoard. By default it shines "Totem" colors. Can be controlled from smartphone app to customize robot appearance or using API for different colors or animations.
May access specific light or all at once:
RGB.A
,RGB.B
,RGB.C
,RGB.D
- control single lightRGB[0]
- control LED A [1
-B,2
-C,3
-D] (invalid indexes will be ignored)RGB
- control all LEDs
Code snippets
// Set all LED
RGB.colorTotem(); // Set all LED to Totem colors
RGB.color(Color::Violet); // Set all LED to violet color
RGB.color(0xFFFF00); // Set all LED to yellow color
RGB.color(0, 255, 0); // Set all LED to green color
RGB.color(Color::random()); // Set all LED to random generated color
// Set single LED
RGB.A.color(Color::White); // Set RGB A to white color
RGB.B.color(Color::Red); // Set RGB B to red color
RGB.C.color(0x00FFFF); // Set RGB C to cyan color
RGB[3].color(0, 0, 255); // Set RGB D to blue color
// Control functions
RGB.on(); // Turn LED on
RGB.off(); // Turn LED off
RGB.toggle(); // Toggle on/off
// Individual random color
for (int i=0; i<4; i++) {
RGB[i].color(Color::random());
}
Functions
Control
Read Color formats for more details how color is represented with numbers.
RGB.colorTotem() ¶
-
Lit up all LED with "Totem" colors ( ).
RGB.color(red
, green
, blue
)
¶
RGB.color(
hex
) ¶-
Set LED color with RGB or HEX format.
Parameter:
red
- amount of red color [0
:255
]
green
- amount of green color [0
:255
]
blue
- amount of blue color [0
:255
]
hex
- hexadecimal color code [0x000000
:0xFFFFFF
] RGB.on() ¶
-
Turn LED on to last used color.
RGB.off() ¶
-
Turn LED off.
RGB.toggle() ¶
-
Toggle LED between on / off states.
state
RGB.isOn() ¶-
Check if LED is currently lit on.
Returns:
state
-true
if lit on.false
otherwise (off). hex
RGB.getColor() ¶-
Get current LED color.
Returns:
hex
- hexadecimal color code [0x000000
:0xFFFFFF
] RGB.setState(
state
) ¶-
Set LED to specific state (on / off).
Parameter:
state
- state on / off [HIGH
:LOW
] or [true
:false
] state
RGB.getState() ¶-
Same as
isOn()
.
Returns:
state
-true
if lit on.false
otherwise (off).
Configure
RGB.setBrightness(
level
) ¶-
Limit maximum LED brightness. Default values: X3 -
128
. X4 -255
.
Parameter:
level
- [0
:255
] maximum brightness. level
RGB.getBrightness() ¶-
Get configured LED brightness.
Returns:
level
- [0
:255
] maximum brightness. RGB.setEnable(
state
) ¶-
Enable / disable RGB light. Disabled LED will not lit up.
Parameter:
state
- LED is enabled / disabled [true
:false
]. state
RGB.getEnable() ¶-
Check if RGB light is enabled.
Returns:
state
- LED is enabled / disabled [true
:false
].
Color names
namespace Color {
enum {
IndianRed = 0xFFCD5C5C,
LightCoral = 0xFFF08080,
Salmon = 0xFFFA8072,
Crimson = 0xFFDC143C,
Red = 0xFFFF0000,
FireBrick = 0xFFB22222,
DarkRed = 0xFF8B0000,
...
Object Color
contains a list of names with predefined HEX codes. A more convenient way to control LED color, compared to specifying exact RGB values. Full list can be found in totem-color.h file.
Color formats
Available color formats:
- NAME:
Color::Red
,Color::Violet
, ... - RGB value: 8-bit amount [
0
:255
] of Red, Green, Blue colors mix. - HEX code: hexadecimal color code
0xFFFFFF
(similar to HTML code#FFFFFF
).
HEX format encoding:
Conversion between HEX and RGB formats.
24-bit: 0xAABBCC
→ 0xAA
(170 red), 0xBB
(187 green), 0xCC
(204 blue).
Use with RoboBoard color functions:
RGB.color(Color::Violet)
- set color nameRGB.color(100, 150, 200)
- set color mix of Red, Green, Blue [0
:255
] valuesRGB.color(0xFFAABB)
- set color HEX code [0x000000
:0xFFFFFF
]
Color mix functions
Functions for mixing color from RGB values and returning single HEX code. Useful if color has to be stored to int
variable for later use with color()
function.
hex
Color::rgb(red
,green
,blue
) ¶-
Mix color by provided parameters.
Returns: 24-bit color code.
Parameter:
red
- amount of red color [0
:255
]
green
- amount of green color [0
:255
]
blue
- amount of blue color [0
:255
]
hex
- hexadecimal color code [0x000000
:0xFFFFFF
] hex
Color::random() ¶-
Generate random color.
Returns: 24-bit color code.