leds - LEDs¶
The leds module provides functions to interact with card10’s RGB LEDs.
This is the 11 LEDs above the display and 4 LEDs on the underside of the
top-board, in the four corners.
-
leds.BOTTOM_LEFT= 11¶ ID of the LED in the bottom left corner.
-
leds.BOTTOM_RIGHT= 12¶ ID of the LED in the bottom right corner.
-
leds.TOP_RIGHT= 13¶ ID of the LED in the top right corner.
-
leds.TOP_LEFT= 14¶ ID of the LED in the top left corner.
-
leds.update()[source]¶ Updates the RGB LEDs.
This will apply changes that have been set with
leds.prep()orleds.prep_hsv(). The LEDs can be only updated in bulk, so using this approach instead ofleds.set()orleds.set_hsv()significantly reduces the load on the corresponding hardware bus.
-
leds.clear()[source]¶ Turns all LEDs off.
Does not reactivate powersave if it has been deactivated, in which case ~15mA will be wasted.
-
leds.set_flashlight(on)[source]¶ Turn on the bright side LED.
This LED can serve as a flashlight if worn on the left wrist or as a rad tattoo illuminator if worn on the right wrist.
Warning
Because of a small error in the Harmonic Board layout, we could not populate the flashlight LEDs in the production run. You can handsolder it, though you have to reverse the direction.
- Parameters
on (bool) – Side LED on if
True.
-
leds.set_rocket(led, value)[source]¶ Set brightness of one of the rocket LEDs.
- Parameters
led (int) –
Choose your rocket!
ID
Color
Location
0Blue
Left
1Yellow
Top
2Green
Right
value (int) – Brightness of LED (value between 0 and 31).
-
leds.get_rocket(led)[source]¶ Get brightness of one of the rocket LEDs.
- Parameters
led (int) –
Choose your rocket!
ID
Color
Location
0Blue
Left
1Yellow
Top
2Green
Right
- Return type
int
- Returns
Brightness of LED (value between 0 and 31).
New in version 1.10.
-
leds.flash_rocket(led, value, millis)[source]¶ Let one of the rockets flash for a certain time without blocking the python interpreter.
- Parameters
led (int) – Choose your rocket!
value (int) – brightness value (0 < value < 32)
millis (int) – duration of the rocket being on in milliseconds.
New in version 1.16.
-
leds.dim_top(value)[source]¶ Set global brightness for top RGB LEDs.
- Parameters
value (int) – Brightness. Default = 1, Range = 1..8
-
leds.dim_bottom(value)[source]¶ Set global brightness for bottom RGB LEDs.
- Parameters
value (int) – Brightness. Default = 8, Range = 1..8
-
leds.prep(led, color)[source]¶ Prepare am RGB LED to be set to an RGB value.
Changes are applied upon calling
leds.update(). This is faster than individualleds.set()orleds.set_hsv()calls in case of multiple changes.- Parameters
led (int) – Which LED to prepare. 0-10 are the LEDs on the top and 11-14 are the 4 “ambient” LEDs
color ([r,g,b]) – RGB triplet
-
leds.prep_hsv(led, color)[source]¶ Prepare an RGB LED to be set to an HSV value.
Changes are applied upon calling
leds.update(). This is faster than individualleds.set()orleds.set_hsv()calls in case of multiple changes.- Parameters
led (int) – Which LED to prepare. 0-10 are the LEDs on the top and 11-14 are the 4 “ambient” LEDs
color ([h,s,v]) – HSV triplet
-
leds.set(led, color)[source]¶ Set an RGB LED to an RGB value.
- Parameters
led (int) – Which LED to set. 0-10 are the LEDs on the top and 11-14 are the 4 “ambient” LEDs
color ([r,g,b]) – RGB triplet
-
leds.get_rgb(led)[source]¶ Get the current RGB value for an RGB LED.
- Parameters
led (int) – Which LED to set. 0-10 are the LEDs on the top and 11-14 are the 4 “ambient” LEDs
- Return [r,g,b] color
RGB triplet
New in version 1.10.
-
leds.set_hsv(led, color)[source]¶ Prepare an RGB LED to be set to an HSV value.
- Parameters
led (int) – Which LED to set. 0-10 are the LEDs on the top and 11-14 are the 4 “ambient” LEDs
color ([h,s,v]) – HSV triplet
-
leds.set_all(colors)[source]¶ Set multiple RGB LEDs to RGB values.
Filling starts at LED0 ascending.
Example:
import leds, color # 1st red, 2nd green & 3rd blue: leds.set_all([color.RED, color.GREEN, color.BLUE])
- Parameters
colors – List of RGB triplets
-
leds.set_all_hsv(colors)[source]¶ Set multiple RGB LEDs to HSV values.
Filling starts at LED0 ascending.
- Parameters
colors – List of HSV triplets
-
leds.gay(value=0.5)[source]¶ Gamma Adjust Yassistant. Prints a rainbow.
Recommended calibration prodecure:
import leds leds.gay(1) # adjust gain for uniform brightness leds.gamma_rgb(channel=..., gain=...) leds.gay(0.5) # adjust power~4 for uniform brightness leds.gamma_rgb(channel=..., power=...)
- Parameters
value – Brightness. Default = 0.5
-
leds.set_powersave(eco=True)[source]¶ Enable or disable powersave mode.
Even when set to zero, the RGB LEDs still individually consume ~1mA. Powersave intelligently switches the supply power in groups. This introduces delays in the magnitude of ~10us, so it can be disabled for high speed applications such as POV.
- Parameters
eco (bool) – Activates powersave if
True, disables it whenFalse.
-
leds.set_gamma(power=4.0)[source]¶ Applies same power function gamma correction to all RGB channels.
- Parameters
power (float) – Exponent of power function.
-
leds.set_gamma_rgb(channel, power=4.0, gain=1.0)[source]¶ Applies power function gamma correction with optional amplification to a single RGB channel.
- Parameters
channel (int) – RGB channel to be adjusted. 0->Red, 1->Green, 2->Blue.
power (float) – Exponent of power function.
gain (float) – Amplification of channel. Values above 1.0 might cause overflow.
ledfx - LED Effects¶
-
ledfx.col_cor(colors, brightness=1, gamma=1)[source]¶ Gamma and brightness correction for the RGB channels
-
ledfx.halo(colors)[source]¶ Set the four bottom/side LEDs to colors corresponding to the color spectrum on the outermost of the top 11 LEDs.
-
ledfx.kitt(cycles=100, delay=80, power=10, minimum=0.3, rgb=[255, 0, 0], spectrum=[], halo=False)[source]¶ LED Animation. Knight rider-Style.
- Parameters
cycles (int) – Amount of cycles for the animation
delay (int) – Time in microseconds until the animation moves on (Inverse of Framerate).
power (int) – Shape of your brightness curve. Bigger values make a steeper curve, smaller values make the curve wider.
minimum (float) – Minimal brightness.
rgb ([r,g,b]) – If you don’t enter a spectrum this is the color used.
spectrum (list) – A color spectrum consisting of up to 11 RGB-Value-Lists (e.g.
[[255,255,255], [0,0,0], [255,255,255], ...]). If you use less, the animation will be less wide.halo (func) – Halo function. See
ledfx.halo().