Lamp-Da 0.1
A compact lantern project
Loading...
Searching...
No Matches
bluetooth_group.hpp
1
5#ifndef LEGACY_BLEUTOOTH_GROUP_H
6#define LEGACY_BLEUTOOTH_GROUP_H
7
9
10namespace lampda::modes {
12namespace bluetooth {
13
14// Order is important here :
15// Every index should correspond to the ELK standard index + 1
16// 0: Special controled display mode
17// 1: Static Red
18// 2: Static Blue
19// 3: Static Green
20// 4: Static Cyan
21// 5: Static Yellow
22// 6: Static Purple
23// 7: Static White
24// 8: Three Color Jumping Change
25// 9: Seven Color Jumping Change
26// 10: Three Color Cross Fade
27// 11: Seven Color Cross Fade
28// 12: Red Gradual Change
29// 13: Green Gradual Change
30// 14: Blue Gradual Change
31// 15: Yellow Gradual Change
32// 16: Cyan Gradual Change
33// 17: Purple Gradual Change
34// 18: White Gradual Change
35// 19: Red Green Cross Fade
36// 20: Red Blue Cross Fade
37// 21: Green Blue Cross Fade
38// 22: Seven color Strobe Flash
39// 23: Red Strobe Flash
40// 24: Green Strobe Flash
41// 25: Blue Strobe Flash
42// 26: Yellow Strobe Flash
43// 27: Cyan Strobe Flash
44// 28: Purple Strobe Flash
45// 29: White Strobe Flash
46
47using BluetoothModes = modes::GroupFor<
48 modes::bluetooth::ColorControlMode, // custom color controller
49 modes::bluetooth::FixedColorMode<colors::HTMLColorCode::Red>, // 1: fixed Red color
50 modes::bluetooth::FixedColorMode<colors::HTMLColorCode::Blue>, // 2: fixed Blue color
51 modes::bluetooth::FixedColorMode<colors::HTMLColorCode::Lime>, // 3: fixed Green color
52 modes::bluetooth::FixedColorMode<colors::HTMLColorCode::Cyan>, // 4: fixed Cyan color
53 modes::bluetooth::FixedColorMode<colors::HTMLColorCode::Yellow>, // 5: fixed Yellow color
54 modes::bluetooth::FixedColorMode<colors::HTMLColorCode::Purple>, // 6: fixed Purple color
55 modes::bluetooth::FixedColorMode<colors::HTMLColorCode::White>, // 7: fixed White color
56 modes::bluetooth::JumpColorMode<colors::HTMLColorCode::Red,
58 colors::HTMLColorCode::Blue>, // 8: Three Color Jumping Change
59 modes::bluetooth::JumpColorMode<colors::HTMLColorCode::Red,
65 colors::HTMLColorCode::Purple>, // 9: Seven Color Jumping Change
66 modes::bluetooth::FadeColorMode<255,
69 colors::HTMLColorCode::Blue>, // 10: Three Color Cross Fade
70 modes::bluetooth::FadeColorMode<255,
77 colors::HTMLColorCode::Purple>, // 11: Seven Color Cross Fade
78 modes::bluetooth::FadeColorMode<255, colors::HTMLColorCode::Red, colors::HTMLColorCode::Black>, // 12: Red
79 // Gradual
80 // Change
81 modes::bluetooth::FadeColorMode<255, colors::HTMLColorCode::Lime, colors::HTMLColorCode::Black>, // 13: Green
82 // Gradual
83 // Change
84 modes::bluetooth::FadeColorMode<255, colors::HTMLColorCode::Blue, colors::HTMLColorCode::Black>, // 14: Blue
85 // Gradual
86 // Change
87 modes::bluetooth::FadeColorMode<255, colors::HTMLColorCode::Yellow, colors::HTMLColorCode::Black>, // 15: Yellow
88 // Gradual
89 // Change
90 modes::bluetooth::FadeColorMode<255, colors::HTMLColorCode::Cyan, colors::HTMLColorCode::Black>, // 16: Cyan
91 // Gradual
92 // Change
93 modes::bluetooth::FadeColorMode<255, colors::HTMLColorCode::Purple, colors::HTMLColorCode::Black>, // 17: Purple
94 // Gradual
95 // Change
96 modes::bluetooth::FadeColorMode<255, colors::HTMLColorCode::White, colors::HTMLColorCode::Black>, // 18: White
97 // Gradual
98 // Change
99 modes::bluetooth::FadeColorMode<255, colors::HTMLColorCode::Red, colors::HTMLColorCode::Lime>, // 19: Red Green
100 // Cross Fade
101 modes::bluetooth::FadeColorMode<255, colors::HTMLColorCode::Red, colors::HTMLColorCode::Blue>, // 20: Red Blue
102 // Cross Fade
103 modes::bluetooth::FadeColorMode<255, colors::HTMLColorCode::Lime, colors::HTMLColorCode::Blue>, // 21: Green
104 // Blue Cross
105 // Fade
106 modes::bluetooth::FlashColorMode<colors::HTMLColorCode::Red,
117 colors::HTMLColorCode::Black>, // 22: Seven color Strobe Flash
118 modes::bluetooth::FlashColorMode<colors::HTMLColorCode::Red,
119 colors::HTMLColorCode::Black>, // 23: Red Strobe Flash
120 modes::bluetooth::FlashColorMode<colors::HTMLColorCode::Lime,
121 colors::HTMLColorCode::Black>, // 24: Green Strobe Flash
122 modes::bluetooth::FlashColorMode<colors::HTMLColorCode::Blue,
123 colors::HTMLColorCode::Black>, // 25: Blue Strobe Flash
124 modes::bluetooth::FlashColorMode<colors::HTMLColorCode::Yellow,
125 colors::HTMLColorCode::Black>, // 26: Yellow Strobe Flash
126 modes::bluetooth::FlashColorMode<colors::HTMLColorCode::Cyan,
127 colors::HTMLColorCode::Black>, // 27: Cyan Strobe Flash
128 modes::bluetooth::FlashColorMode<colors::HTMLColorCode::Purple,
129 colors::HTMLColorCode::Black>, // 28: Purple Strobe Flash
130 modes::bluetooth::FlashColorMode<colors::HTMLColorCode::White,
131 colors::HTMLColorCode::Black> // 29: White Strobe Flash
132 >;
133
134} // namespace bluetooth
135} // namespace lampda::modes
136#endif
@ Purple
Definition: palettes.hpp:206
@ Orange
Definition: palettes.hpp:192
@ Cyan
Definition: palettes.hpp:109
@ White
Definition: palettes.hpp:231
@ Red
Definition: palettes.hpp:207
@ Lime
Definition: palettes.hpp:169
@ Yellow
Definition: palettes.hpp:233
@ Blue
Definition: palettes.hpp:98
@ Black
Definition: palettes.hpp:96
Contains basic interface types to implement custom user modes.
Definition: control_fixed_modes.hpp:12
GroupTy< std::tuple< Modes... > > GroupFor
Group together many different modes::BasicMode.
Definition: group_type.hpp:335