elk_led_controller/
effects.rs

1/*!
2 # Effect modes for LED strips
3
4 This module defines various effect modes available for the LED strips.
5 It includes constants for different effects like jump, crossfade, and blink.
6*/
7
8/// Represents available effect modes for LED strips
9#[derive(Debug, Clone, Copy)]
10pub struct Effects {
11    /// Red, green, blue jump effect
12    pub jump_red_green_blue: u8,
13    /// All colors jump effect
14    pub jump_red_green_blue_yellow_cyan_magenta_white: u8,
15    /// Red crossfade effect
16    pub crossfade_red: u8,
17    /// Green crossfade effect
18    pub crossfade_green: u8,
19    /// Blue crossfade effect
20    pub crossfade_blue: u8,
21    /// Yellow crossfade effect
22    pub crossfade_yellow: u8,
23    /// Cyan crossfade effect
24    pub crossfade_cyan: u8,
25    /// Magenta crossfade effect
26    pub crossfade_magenta: u8,
27    /// White crossfade effect
28    pub crossfade_white: u8,
29    /// Red and green crossfade effect
30    pub crossfade_red_green: u8,
31    /// Red and blue crossfade effect
32    pub crossfade_red_blue: u8,
33    /// Green and blue crossfade effect
34    pub crossfade_green_blue: u8,
35    /// Red, green, blue crossfade effect
36    pub crossfade_red_green_blue: u8,
37    /// All colors crossfade effect
38    pub crossfade_red_green_blue_yellow_cyan_magenta_white: u8,
39    /// Red blink effect
40    pub blink_red: u8,
41    /// Green blink effect
42    pub blink_green: u8,
43    /// Blue blink effect
44    pub blink_blue: u8,
45    /// Yellow blink effect
46    pub blink_yellow: u8,
47    /// Cyan blink effect
48    pub blink_cyan: u8,
49    /// Magenta blink effect
50    pub blink_magenta: u8,
51    /// White blink effect
52    pub blink_white: u8,
53    /// All colors blink effect
54    pub blink_red_green_blue_yellow_cyan_magenta_white: u8,
55}
56
57/// Predefined effects with their command values
58pub const EFFECTS: Effects = Effects {
59    jump_red_green_blue: 0x87,
60    jump_red_green_blue_yellow_cyan_magenta_white: 0x88,
61    crossfade_red: 0x8b,
62    crossfade_green: 0x8c,
63    crossfade_blue: 0x8d,
64    crossfade_yellow: 0x8e,
65    crossfade_cyan: 0x8f,
66    crossfade_magenta: 0x90,
67    crossfade_white: 0x91,
68    crossfade_red_green: 0x92,
69    crossfade_red_blue: 0x93,
70    crossfade_green_blue: 0x94,
71    crossfade_red_green_blue: 0x89,
72    crossfade_red_green_blue_yellow_cyan_magenta_white: 0x8a,
73    blink_red: 0x96,
74    blink_green: 0x97,
75    blink_blue: 0x98,
76    blink_yellow: 0x99,
77    blink_cyan: 0x9a,
78    blink_magenta: 0x9b,
79    blink_white: 0x9c,
80    blink_red_green_blue_yellow_cyan_magenta_white: 0x95,
81};