pylabrobot.byonoy.luminescence_96.ByonoyLuminescence96.set_led_color#

async ByonoyLuminescence96.set_led_color(color: Tuple[int, int, int], effect: Literal['solid', 'progress', 'cylon', 'rainbow', 'blinking', 'breathing'] = 'solid', *, low_power: bool = False, force: bool = False, effect_state: int = 0, duration_ms: int = 0) None#

Set the LED bar to a single color via REP_LED_BAR_EFFECTS_OUT (0x0351).

Mirrors the vendor’s user-facing set_led_effect(effect, color, modes, ...) in byonoy_device_library. The firmware renders effect over color: “solid” just shows the color; “breathing”/”cylon”/”blinking”/”rainbow”/ “progress” animate it.

Packed layout (vendor byonoyusbhid.h led_bar_effects_out_t):

effect:u8 color:(r,g,b u8) effect_state:u8 flags:u8 duration_ms:u32

force (FLAG_LED_FORCE=0x10) overrides an unexpired previous duration_ms. low_power (FLAG_LED_LOWPOWER=0x01) reduces brightness.

effect_state is a 0..255 parameter used only by the “progress” effect to indicate fill level (0 = empty bar, 255 = full bar). It is ignored by every other effect (“solid”, “breathing”, “blinking”, “cylon”, “rainbow”); leave it at 0 unless you’re driving progress.

The PC routing tag (request_info=0x4000) is required — the firmware silently drops LED writes that arrive with the default LEGACY tag.

Parameters:
  • color (Tuple[int, int, int])

  • effect (Literal['solid', 'progress', 'cylon', 'rainbow', 'blinking', 'breathing'])

  • low_power (bool)

  • force (bool)

  • effect_state (int)

  • duration_ms (int)

Return type:

None