MCPcopy Create free account
hub / github.com/BruceDevices/firmware / setLedEffectSpeedConfig

Function setLedEffectSpeedConfig

src/core/led_control.cpp:650–699  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

648}
649
650void setLedEffectSpeedConfig() {
651 options.clear();
652
653 static auto hoverFunction = [](void *pointer, bool shouldRender) -> bool {
654 int speedToSet = *static_cast<int *>(pointer);
655 previewLedEffectSpeed = speedToSet + 1;
656 return false;
657 };
658
659#ifdef HAS_ENCODER_LED
660 static int speedStorage[11];
661#else
662 static int speedStorage[10];
663#endif
664 int i = 0;
665 while (i < 10) {
666 speedStorage[i] = i;
667
668 String label = String(i + 1);
669 bool isSelected = (bruceConfig.ledEffectSpeed == i + 1);
670
671 options.emplace_back(
672 label,
673 [i]() { bruceConfig.setLedEffectSpeed(i + 1); },
674 (bruceConfig.ledEffectSpeed == i + 1),
675 hoverFunction,
676 &speedStorage[i]
677 );
678 ++i;
679 }
680
681#ifdef HAS_ENCODER_LED
682 speedStorage[10] = 11;
683 options.emplace_back(
684 "Sync To Encoder",
685 []() { bruceConfig.setLedEffectSpeed(11); },
686 (bruceConfig.ledEffectSpeed == 11),
687 hoverFunction,
688 &speedStorage[10]
689 );
690#endif
691
692 addOptionToMainMenu();
693
694 int selectedOption = loopOptions(options, bruceConfig.ledEffectSpeed - 1);
695 if (selectedOption == -1 || selectedOption == options.size() - 1) {
696 previewLedEffectSpeed = bruceConfig.ledEffectSpeed;
697 return;
698 }
699}
700
701void setLedEffectDirectionConfig() {
702 options = {

Callers

nothing calls this directly

Calls 5

addOptionToMainMenuFunction · 0.85
setLedEffectSpeedMethod · 0.80
sizeMethod · 0.80
loopOptionsFunction · 0.70
clearMethod · 0.45

Tested by

no test coverage detected