214 {
215 unsigned long benchmark = millis();
217
218
219
220
221 for (int strip = 0; strip < 40; strip++) {
222 for (int led = 0; led < 14; led++) {
223 for (int i = 0; i < 3; i++) {
225 }
226 }
227 }
228
231 }
232
233 for (int segment = 0; segment < 40; segment++) {
234 for (int fromBottom = 0; fromBottom < 14; fromBottom++) {
241 }
242 }
243
245
246 for (int i = 0; i < 4; i++) {
247 for (
int j = 0; j <
lengths[i]; j++) {
249 }
250 }
251 }
252
254
255
256
262
264
265 unsigned int baseColor = random(0xFFFF);
266 byte centerNode = 15;
267
268
269 for (int i = 0; i < 6; i++) {
274 centerNode, i,
276 baseColor + (0xFFFF / 6) * i, 255, 255),
277 0.3 + (i * 0.1),
278 2000,
280 break;
281 }
282 }
283 }
284 }
286 }
287
289
290 unsigned int baseColor = random(0xFFFF);
291
292
295
296 for (int dir = 0; dir < 6; dir++) {
302 node, dir,
305 255, 255),
306 .4, 2000, 0);
307 break;
308 }
309 }
310 break;
311 }
312 }
313 }
315 }
316
318
320 unsigned int baseColor = random(0xFFFF);
322
323 for (int i = 0; i < 6; i++) {
328 node, i,
330 baseColor + (0xFFFF / 6) * i, 255, 255),
331 .5, 2000, behavior);
332 break;
333 }
334 }
335 }
336 }
338 }
339
341
342 unsigned int baseColor = random(0xFFFF);
344
345 for (int i = 0; i < 6; i++) {
351 baseColor + (0xFFFF / 6) * i, 255, 255),
352 .65, 1500, behavior);
353 break;
354 }
355 }
356 }
358 }
359
361
362 for (int i = 0; i < 6; i++) {
365 ripples[j].start(15, i, 0xEE1111,
366 float(random(100)) / 100.0 * .1 + .4, 1000, 0);
367 break;
368 }
369 }
370 }
372 }
373
375
378 unsigned int baseColor = random(0xFFFF);
379
383 byte possiblePulse = 255;
384 while (true) {
385 possiblePulse = random(3);
386
388 continue;
389
390 switch (possiblePulse) {
391 case 0:
393 continue;
394 break;
395
396 case 1:
398 continue;
399 break;
400
401 case 2:
403 continue;
404 break;
405
406 default:
407 continue;
408 }
409
412 break;
413 }
414 }
415
417 case 0: {
418 int node = 0;
419 bool foundStartingNode = false;
420 while (!foundStartingNode) {
421 node = random(25);
422 foundStartingNode = true;
424
425
427 foundStartingNode = false;
428 }
429
431 foundStartingNode = false;
432 }
433
435
436 for (int i = 0; i < 6; i++) {
441 node, i,
442
443
444
446 255),
447 float(random(100)) / 100.0 * .2 + .5, 3000,
448 1);
449
450 break;
451 }
452 }
453 }
454 }
455 break;
456 }
457
458 case 1: {
460
463
465
467
468 for (int i = 0; i < 6; i++) {
473 node, i,
474
475
476
478 255),
479 .5, 2000, behavior);
480
481 break;
482 }
483 }
484 }
485 }
486 break;
487 }
488
489 case 2: {
491
493
494 for (int i = 0; i < 6; i++) {
500 baseColor + (0xFFFF / 6) * i, 255, 255),
501 .65, 1500, behavior);
502
503 break;
504 }
505 }
506 }
507 break;
508 }
509
510 default:
511 break;
512 }
514 }
515
517
519 for (int i = 0; i < 6; i++) {
523 15, i, 0xEE1111,
524 float(random(100)) / 100.0 * .1 + .4, 1000, 0);
525
526 break;
527 }
528 }
529 }
530
533 }
534
535
537 for (int i = 0; i < 10; i++) {
540 byte targetNode =
542 byte direction = 255;
543
544 while (direction == 255) {
545 direction = random(6);
547 direction = 255;
548 }
549
551 targetNode, direction, 0x1111EE,
552 float(random(100)) / 100.0 * .5 + 2, 300, 2);
553
554 break;
555 }
556 }
557 }
558
561 }
562 }
563 }
564
565
566
567}
byte currentAutoPulseType
#define simulatedHeartbeatBaseTime
bool isNodeOnBorder(byte node)
UICheckbox allWhite("All White", false)
UISlider sliderDecay("decay",.97f,.8, 1.0,.01)
bool wasRainbowCubeClicked
unsigned long nextSimulatedHeartbeat
byte ledColors[40][14][3]
unsigned long lastAutoPulseChange
UICheckbox simulatedBiometricsEnabled("Simulated Biometrics", true)
unsigned long lastRandomPulse
#define simulatedEdaBaseTime
UIButton triggerBorderWave("Border Wave")
#define simulatedEdaVariance
#define randomPulsesEnabled
UIButton triggerSpiral("Spiral Wave")
unsigned long lastHeartbeat
UICheckbox starburstPulsesEnabled("Starburst Pulses", true)
UIButton simulatedHeartbeat("Simulated Heartbeat")
UIButton triggerStarburst("Trigger Starburst")
#define simulatedHeartbeatVariance
bool wasBorderWaveClicked
UIButton triggerRainbowCube("Rainbow Cube")
#define autoPulseChangeTime
unsigned long nextSimulatedEda
byte numberOfAutoPulseTypes
Ripple ripples[numberOfRipples]
#define cubePulsesEnabled
CFastLED FastLED
Global LED strip management instance.
uint32_t Adafruit_DotStar_ColorHSV(uint16_t hue, uint8_t sat, uint8_t val)
int nodeConnections[25][6]
int ledAssignments[40][3]
float fmap(float x, float in_min, float in_max, float out_min, float out_max)
@ White
<div style='background:#FFFFFF;width:4em;height:4em;'></div>
Representation of an RGB pixel (Red, Green, Blue)