44 color.r = requestMode.colors[0].r;
45 color.g = requestMode.colors[0].g;
46 color.b = requestMode.colors[0].b;
47 color.a = requestMode.colors[0].a;
49 switch(requestMode.mode)
51 case cob_light::LightModes::STATIC:
52 mode.reset(
new StaticMode(
color, requestMode.priority, requestMode.frequency,\
53 requestMode.pulses, requestMode.timeout));
56 case cob_light::LightModes::FLASH:
57 mode.reset(
new FlashMode(
color, requestMode.priority, requestMode.frequency,\
58 requestMode.pulses, requestMode.timeout));
61 case cob_light::LightModes::BREATH:
62 mode.reset(
new BreathMode(
color, requestMode.priority, requestMode.frequency,\
63 requestMode.pulses, requestMode.timeout));
66 case cob_light::LightModes::BREATH_COLOR:
68 requestMode.pulses, requestMode.timeout));
71 case cob_light::LightModes::FADE_COLOR:
73 requestMode.pulses, requestMode.timeout));
76 case cob_light::LightModes::SEQ:
78 std::vector<seq_t> seqs;
79 for(
size_t i = 0; i < requestMode.sequences.size(); i++)
82 seq.
color.
r = requestMode.sequences[i].color.r;
83 seq.
color.
g = requestMode.sequences[i].color.g;
84 seq.
color.
b = requestMode.sequences[i].color.b;
85 seq.
color.
a = requestMode.sequences[i].color.a;
86 seq.
holdtime = requestMode.sequences[i].hold_time;
87 seq.
crosstime = requestMode.sequences[i].cross_time;
90 mode.reset(
new SequenceMode(seqs, requestMode.priority, requestMode.frequency,\
91 requestMode.pulses, requestMode.timeout));
95 case cob_light::LightModes::CIRCLE_COLORS:
97 std::vector<color::rgba> colors;
98 if(requestMode.colors.empty())
100 colors.push_back(
color);
104 for(
size_t i = 0; i < requestMode.colors.size(); i++)
106 color.r = requestMode.colors[i].r;
107 color.g = requestMode.colors[i].g;
108 color.b = requestMode.colors[i].b;
109 color.a = requestMode.colors[i].a;
110 colors.push_back(
color);
114 requestMode.pulses, requestMode.timeout));
118 case cob_light::LightModes::SWEEP:
120 std::vector<color::rgba> colors;
121 if(requestMode.colors.empty())
123 colors.push_back(
color);
127 for(
size_t i = 0; i < requestMode.colors.size(); i++)
129 color.r = requestMode.colors[i].r;
130 color.g = requestMode.colors[i].g;
131 color.b = requestMode.colors[i].b;
132 color.a = requestMode.colors[i].a;
133 colors.push_back(
color);
137 requestMode.pulses, requestMode.timeout));
141 case cob_light::LightModes::DIST_APPROX:
143 requestMode.pulses, requestMode.timeout));
146 case cob_light::LightModes::GLOW:
148 requestMode.pulses, requestMode.timeout));
151 case cob_light::LightModes::XMAS:
152 mode.reset(
new XMasMode(colorO->
getNumLeds(), requestMode.priority, requestMode.frequency,\
153 requestMode.pulses, requestMode.timeout));
156 case cob_light::LightModes::KIT:
158 requestMode.pulses, requestMode.timeout));
161 case cob_light::LightModes::TURN_LEFT:
163 requestMode.pulses, requestMode.timeout));
166 case cob_light::LightModes::TURN_RIGHT:
168 requestMode.pulses, requestMode.timeout));
182 if(requestMode ==
"Static" || requestMode ==
"static" || requestMode ==
"STATIC")
186 else if(requestMode ==
"Flash" || requestMode ==
"flash" || requestMode ==
"FLASH")
190 else if(requestMode ==
"Breath" || requestMode ==
"breath" || requestMode ==
"BREATH")
194 else if(requestMode ==
"BreathColor" || requestMode ==
"BreathColor" || requestMode ==
"BreathColor" ||
195 requestMode ==
"Breath_Color" || requestMode ==
"breath_color" || requestMode ==
"BREATH_COLOR")
199 else if(requestMode ==
"FadeColor" || requestMode ==
"fadecolor" || requestMode ==
"FADECOLOR" ||
200 requestMode ==
"Fade_Color" || requestMode ==
"fade_color" || requestMode ==
"FADE_COLOR")
214 ret = cob_light::LightModes::NONE;
215 else if(
dynamic_cast<StaticMode*
>(mode) != NULL)
216 ret = cob_light::LightModes::STATIC;
217 else if(
dynamic_cast<FlashMode*
>(mode) != NULL)
218 ret = cob_light::LightModes::FLASH;
219 else if(
dynamic_cast<BreathMode*
>(mode) != NULL)
220 ret = cob_light::LightModes::BREATH;
222 ret = cob_light::LightModes::BREATH_COLOR;
224 ret = cob_light::LightModes::FADE_COLOR;
226 ret = cob_light::LightModes::SEQ;
228 ret = cob_light::LightModes::CIRCLE_COLORS;
230 ret = cob_light::LightModes::SWEEP;
232 ret = cob_light::LightModes::DIST_APPROX;
234 ret = cob_light::LightModes::GLOW;
235 else if(
dynamic_cast<XMasMode*
>(mode) != NULL)
236 ret = cob_light::LightModes::XMAS;
237 else if(
dynamic_cast<KitMode*
>(mode) != NULL)
238 ret = cob_light::LightModes::KIT;
240 ret = cob_light::LightModes::TURN_LEFT;
242 ret = cob_light::LightModes::TURN_RIGHT;
244 ret = cob_light::LightModes::NONE;