diff --git a/config_comred.cmake b/config_comred.cmake index 37392a9..2026453 100644 --- a/config_comred.cmake +++ b/config_comred.cmake @@ -89,5 +89,5 @@ set(BOBBYCAR_BUILDFLAGS -DLEDSTRIP_LENGTH=121 -DHEAP_LRGST_CRASH_TEXT_FIX -DLEDSTRIP_WRONG_DIRECTION - -DLEDSTRIP_ANIMATION_DEFAULT=4 + -DLEDSTRIP_ANIMATION_DEFAULT=1 ) diff --git a/config_peter.cmake b/config_peter.cmake index 957f7a8..4e15f8f 100644 --- a/config_peter.cmake +++ b/config_peter.cmake @@ -1,96 +1,96 @@ set(BOBBY_APP_NAME bobbyquad_peter) add_definitions( - -DUSER_SETUP_LOADED=1 - -DLOAD_GLCD=1 - -DLOAD_FONT2=1 - -DLOAD_FONT4=1 - -DLOAD_FONT7=1 - -DILI9341_DRIVER=1 - -DTFT_MOSI=13 - -DTFT_SCLK=15 - -DTFT_CS=14 - -DTFT_DC=12 - -DTFT_RST=2 - -DSPI_FREQUENCY=27000000 + -DUSER_SETUP_LOADED=1 + -DLOAD_GLCD=1 + -DLOAD_FONT2=1 + -DLOAD_FONT4=1 + -DLOAD_FONT7=1 + -DILI9341_DRIVER=1 + -DTFT_MOSI=13 + -DTFT_SCLK=15 + -DTFT_CS=14 + -DTFT_DC=12 + -DTFT_RST=2 + -DSPI_FREQUENCY=27000000 ) set(BOBBYCAR_BUILDFLAGS - -DFEATURE_ADC_IN - -DPINS_GAS=34 - -DPINS_BREMS=35 - -DDEFAULT_SWAPSCREENBYTES=false - -DFEATURE_CAN - # -DFEATURE_SERIAL - # -DPINS_RX1=4 - # -DPINS_TX1=5 - # -DPINS_RX2=22 - # -DPINS_TX2=23 - -DDEFAULT_INVERTFRONTLEFT=false - -DDEFAULT_INVERTFRONTRIGHT=true - -DDEFAULT_INVERTBACKLEFT=false - -DDEFAULT_INVERTBACKRIGHT=true - -DDEFAULT_WHEELDIAMETER=200 - # -DFEATURE_MOSFETS - # -DPINS_MOSFET0=18 - # -DPINS_MOSFET1=19 - # -DPINS_MOSFET2=21 - -DDEFAULT_IMOTMAX=28 - -DDEFAULT_IDCMAX=30 - -DDEFAULT_NMOTMAX=2000 - -DDEFAULT_FIELDWEAKMAX=7 - -DDEFAULT_FIELDADVMAX=40 - -DDEVICE_PREFIX=peter_bobbyquad - -DAP_PASSWORD=Passwort_123 - -DFEATURE_WEBSERVER - -DFEATURE_OTA - -DFEATURE_DPAD_5WIRESW_2OUT - -DPINS_DPAD_5WIRESW_OUT1=18 - -DPINS_DPAD_5WIRESW_OUT2=19 - -DPINS_DPAD_5WIRESW_IN1=4 - -DPINS_DPAD_5WIRESW_IN2=5 - -DPINS_DPAD_5WIRESW_IN3=27 - -DDPAD_5WIRESW_UP=4 - -DDPAD_5WIRESW_DOWN=7 - -DDPAD_5WIRESW_CONFIRM=1 - -DDPAD_5WIRESW_BACK=10 - -DDPAD_5WIRESW_PROFILE0=11 - -DDPAD_5WIRESW_PROFILE1=8 - -DDPAD_5WIRESW_PROFILE2=5 - -DDPAD_5WIRESW_PROFILE3=2 - -DDPAD_5WIRESW_BLINK_LEFT=9 - -DDPAD_5WIRESW_BLINK_RIGHT=0 - -DDPAD_5WIRESW_QUICKACTION_DOWN=3 - -DDPAD_5WIRESW_QUICKACTION_UP=6 - # -DDPAD_5WIRESW_DEBUG - -DDEFAULT_GASMIN=842 - -DDEFAULT_GASMAX=2480 - -DDEFAULT_BREMSMIN=826 - -DDEFAULT_BREMSMAX=2502 - -DFEATURE_BLE - # -DFEATURE_BLUETOOTH - # -DFEATURE_BMS - # -DFEATURE_GAMETRAK - # -DPINS_GAMETRAKX=34 - # -DPINS_GAMETRAKY=39 - # -DPINS_GAMETRAKDIST=36 - # -DDEFAULT_GAMETRAKXMIN=0 - # -DDEFAULT_GAMETRAKXMAX=4095 - # -DDEFAULT_GAMETRAKYMIN=0 - # -DDEFAULT_GAMETRAKYMAX=4095 - # -DDEFAULT_GAMETRAKDISTMIN=0 - # -DDEFAULT_GAMETRAKDISTMAX=4095 - # -DFEATURE_POWERSUPPLY - -DFEATURE_CLOUD - -DFEATURE_LEDBACKLIGHT - -DPINS_LEDBACKLIGHT=23 - -DLEDBACKLIGHT_INVERTED - -DFEATURE_GARAGE - -DFEATURE_NTP - -DFEATURE_WIRELESS_CONFIG - -DFEATURE_LEDSTRIP - -DPINS_LEDSTRIP=33 - -DLEDSTRIP_LENGTH=288 - # -DLEDSTRIP_WRONG_DIRECTION - # -DLEDSTRIP_ANIMATION_DEFAULT=0 - ) + -DFEATURE_ADC_IN + -DPINS_GAS=34 + -DPINS_BREMS=35 + -DDEFAULT_SWAPSCREENBYTES=false + -DFEATURE_CAN + # -DFEATURE_SERIAL + # -DPINS_RX1=4 + # -DPINS_TX1=5 + # -DPINS_RX2=22 + # -DPINS_TX2=23 + -DDEFAULT_INVERTFRONTLEFT=false + -DDEFAULT_INVERTFRONTRIGHT=true + -DDEFAULT_INVERTBACKLEFT=false + -DDEFAULT_INVERTBACKRIGHT=true + -DDEFAULT_WHEELDIAMETER=200 + # -DFEATURE_MOSFETS + # -DPINS_MOSFET0=18 + # -DPINS_MOSFET1=19 + # -DPINS_MOSFET2=21 + -DDEFAULT_IMOTMAX=28 + -DDEFAULT_IDCMAX=30 + -DDEFAULT_NMOTMAX=2000 + -DDEFAULT_FIELDWEAKMAX=7 + -DDEFAULT_FIELDADVMAX=40 + -DDEVICE_PREFIX=peter_bobbyquad + -DAP_PASSWORD=Passwort_123 + -DFEATURE_WEBSERVER + -DFEATURE_OTA + -DFEATURE_DPAD_5WIRESW_2OUT + -DPINS_DPAD_5WIRESW_OUT1=18 + -DPINS_DPAD_5WIRESW_OUT2=19 + -DPINS_DPAD_5WIRESW_IN1=4 + -DPINS_DPAD_5WIRESW_IN2=5 + -DPINS_DPAD_5WIRESW_IN3=27 + -DDPAD_5WIRESW_UP=4 + -DDPAD_5WIRESW_DOWN=7 + -DDPAD_5WIRESW_CONFIRM=1 + -DDPAD_5WIRESW_BACK=10 + -DDPAD_5WIRESW_PROFILE0=11 + -DDPAD_5WIRESW_PROFILE1=8 + -DDPAD_5WIRESW_PROFILE2=5 + -DDPAD_5WIRESW_PROFILE3=2 + -DDPAD_5WIRESW_BLINK_LEFT=9 + -DDPAD_5WIRESW_BLINK_RIGHT=0 + -DDPAD_5WIRESW_QUICKACTION_DOWN=3 + -DDPAD_5WIRESW_QUICKACTION_UP=6 + # -DDPAD_5WIRESW_DEBUG + -DDEFAULT_GASMIN=842 + -DDEFAULT_GASMAX=2480 + -DDEFAULT_BREMSMIN=826 + -DDEFAULT_BREMSMAX=2502 + -DFEATURE_BLE + # -DFEATURE_BLUETOOTH + # -DFEATURE_BMS + # -DFEATURE_GAMETRAK + # -DPINS_GAMETRAKX=34 + # -DPINS_GAMETRAKY=39 + # -DPINS_GAMETRAKDIST=36 + # -DDEFAULT_GAMETRAKXMIN=0 + # -DDEFAULT_GAMETRAKXMAX=4095 + # -DDEFAULT_GAMETRAKYMIN=0 + # -DDEFAULT_GAMETRAKYMAX=4095 + # -DDEFAULT_GAMETRAKDISTMIN=0 + # -DDEFAULT_GAMETRAKDISTMAX=4095 + # -DFEATURE_POWERSUPPLY + -DFEATURE_CLOUD + -DFEATURE_LEDBACKLIGHT + -DPINS_LEDBACKLIGHT=23 + -DLEDBACKLIGHT_INVERTED + -DFEATURE_GARAGE + -DFEATURE_NTP + -DFEATURE_WIRELESS_CONFIG + -DFEATURE_LEDSTRIP + -DPINS_LEDSTRIP=33 + -DLEDSTRIP_LENGTH=288 + # -DLEDSTRIP_WRONG_DIRECTION + -DLEDSTRIP_ANIMATION_DEFAULT=1 +) diff --git a/main/actions/ledstripanimationactions.h b/main/actions/ledstripanimationactions.h index 185dfa9..d125d06 100644 --- a/main/actions/ledstripanimationactions.h +++ b/main/actions/ledstripanimationactions.h @@ -12,36 +12,18 @@ namespace { class LedstripAnimationDefaultRainbowAction : public virtual ActionInterface { public: - void triggered() override { blinkAnimation = LEDSTRIP_ANIMATION_DEFAULTRAINBOW; } -}; - -class LedstripAnimationBlinkLeftAction : public virtual ActionInterface -{ -public: - void triggered() override { blinkAnimation = LEDSTRIP_ANIMATION_BLINKLEFT; } -}; - -class LedstripAnimationBlinkRightAction : public virtual ActionInterface -{ -public: - void triggered() override { blinkAnimation = LEDSTRIP_ANIMATION_BLINKRIGHT; } -}; - -class LedstripAnimationBlinkBothAction : public virtual ActionInterface -{ -public: - void triggered() override { blinkAnimation = LEDSTRIP_ANIMATION_BLINKBOTH; } + void triggered() override { animation_type = LEDSTRIP_ANIMATION_TYPE_DEFAULTRAINBOW; } }; class LedstripAnimationBetterRainbowAction : public virtual ActionInterface { public: - void triggered() override { blinkAnimation = LEDSTRIP_ANIMATION_BETTERRAINBOW; } + void triggered() override { animation_type = LEDSTRIP_ANIMATION_TYPE_BETTERRAINBOW; } }; class LedstripAnimationSyncToSpeedAction : public virtual ActionInterface { public: - void triggered() override { blinkAnimation = LEDSTRIP_ANIMATION_SPEEDSYNCANIMATION; } + void triggered() override { animation_type = LEDSTRIP_ANIMATION_TYPE_SPEEDSYNCANIMATION; } }; } diff --git a/main/actions/ledstripblinkactions.h b/main/actions/ledstripblinkactions.h new file mode 100644 index 0000000..a7db559 --- /dev/null +++ b/main/actions/ledstripblinkactions.h @@ -0,0 +1,35 @@ +#pragma once + +#include "actioninterface.h" +#include "utils.h" +#include "globals.h" +#include "ledstrip.h" +#include "ledstripdefines.h" + +using namespace espgui; + +namespace { +class LedstripAnimationBlinkNoneAction : public virtual ActionInterface +{ +public: + void triggered() override { blinkAnimation = LEDSTRIP_OVERWRITE_NONE; } +}; + +class LedstripAnimationBlinkLeftAction : public virtual ActionInterface +{ +public: + void triggered() override { blinkAnimation = LEDSTRIP_OVERWRITE_BLINKLEFT; } +}; + +class LedstripAnimationBlinkRightAction : public virtual ActionInterface +{ +public: + void triggered() override { blinkAnimation = LEDSTRIP_OVERWRITE_BLINKRIGHT; } +}; + +class LedstripAnimationBlinkBothAction : public virtual ActionInterface +{ +public: + void triggered() override { blinkAnimation = LEDSTRIP_OVERWRITE_BLINKBOTH; } +}; +} diff --git a/main/buttons.h b/main/buttons.h index f1f3cfd..5f91280 100644 --- a/main/buttons.h +++ b/main/buttons.h @@ -143,14 +143,14 @@ public: if(!pressed)return; #ifdef FEATURE_LEDSTRIP - if(blinkAnimation == LEDSTRIP_ANIMATION_DEFAULTRAINBOW){ //transition from off to left - blinkAnimation = LEDSTRIP_ANIMATION_BLINKLEFT; + if(blinkAnimation == LEDSTRIP_OVERWRITE_NONE){ //transition from off to left + blinkAnimation = LEDSTRIP_OVERWRITE_BLINKLEFT; } - else if(blinkAnimation == LEDSTRIP_ANIMATION_BLINKRIGHT){ // transition to warning - blinkAnimation = LEDSTRIP_ANIMATION_BLINKBOTH; + else if(blinkAnimation == LEDSTRIP_OVERWRITE_BLINKRIGHT){ // transition to warning + blinkAnimation = LEDSTRIP_OVERWRITE_BLINKBOTH; } else{ // transition to off - blinkAnimation = 0; + blinkAnimation = LEDSTRIP_OVERWRITE_NONE; } #endif } @@ -158,14 +158,14 @@ public: static void blinkRightButton(bool pressed){ if(!pressed)return; #ifdef FEATURE_LEDSTRIP - if(blinkAnimation == LEDSTRIP_ANIMATION_DEFAULTRAINBOW){ //transition from off to right - blinkAnimation = LEDSTRIP_ANIMATION_BLINKRIGHT; + if(blinkAnimation == LEDSTRIP_OVERWRITE_NONE){ //transition from off to right + blinkAnimation = LEDSTRIP_OVERWRITE_BLINKRIGHT; } - else if(blinkAnimation == LEDSTRIP_ANIMATION_BLINKLEFT){ // transition to warning - blinkAnimation = LEDSTRIP_ANIMATION_BLINKBOTH; + else if(blinkAnimation == LEDSTRIP_OVERWRITE_BLINKLEFT){ // transition to warning + blinkAnimation = LEDSTRIP_OVERWRITE_BLINKBOTH; } else{ // transition to off - blinkAnimation = 0; + blinkAnimation = LEDSTRIP_OVERWRITE_NONE; } #endif } diff --git a/main/displays/menus/ledstripmenu.h b/main/displays/menus/ledstripmenu.h index 72d490e..63dfb72 100644 --- a/main/displays/menus/ledstripmenu.h +++ b/main/displays/menus/ledstripmenu.h @@ -5,6 +5,7 @@ #include "actions/toggleboolaction.h" #include "actions/switchscreenaction.h" #include "ledstripselectanimationmenu.h" +#include "ledstripselectblinkmenu.h" #include "texts.h" #include "icons/back.h" #include "checkboxicon.h" @@ -27,16 +28,6 @@ namespace { class LedstripMenu; class LedstripSelectAnimationMenu; -struct BlinkAnimationAccessor : public RefAccessor { int16_t &getRef() const override { return blinkAnimation; } }; - -using BlinkAnimationChangeScreen = makeComponent< - ChangeValueDisplay, - StaticText, - BlinkAnimationAccessor, - BackActionInterface>, - SwitchScreenAction ->; - using LedsCountChangeScreen = makeComponent< ChangeValueDisplay, StaticText, @@ -85,12 +76,10 @@ class LedstripMenu : public: LedstripMenu() { - constructMenuItem, ToggleBoolAction, CheckboxIcon, EnableLedAnimationAccessor>>(); + constructMenuItem, ToggleBoolAction, CheckboxIcon, EnableLedAnimationAccessor>>(); constructMenuItem, ToggleBoolAction, CheckboxIcon, EnableBrakeLightsAccessor>>(); - constructMenuItem, ToggleBoolAction, CheckboxIcon, EnableBeepWhenBlinkAccessor>>(); - constructMenuItem, SwitchScreenAction>>(); - -// constructMenuItem, SwitchScreenAction>>(); + constructMenuItem, SwitchScreenAction>>(); + constructMenuItem, SwitchScreenAction>>(); constructMenuItem, SwitchScreenAction>>(); constructMenuItem, SwitchScreenAction>>(); constructMenuItem, SwitchScreenAction>>(); diff --git a/main/displays/menus/ledstripselectanimationmenu.h b/main/displays/menus/ledstripselectanimationmenu.h index b7f4a52..da001ad 100644 --- a/main/displays/menus/ledstripselectanimationmenu.h +++ b/main/displays/menus/ledstripselectanimationmenu.h @@ -28,9 +28,6 @@ namespace { LedstripSelectAnimationMenu() { constructMenuItem, LedstripAnimationDefaultRainbowAction>>(); - constructMenuItem, LedstripAnimationBlinkLeftAction>>(); - constructMenuItem, LedstripAnimationBlinkRightAction>>(); - constructMenuItem, LedstripAnimationBlinkBothAction>>(); constructMenuItem, LedstripAnimationBetterRainbowAction>>(); constructMenuItem, LedstripAnimationSyncToSpeedAction>>(); constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); diff --git a/main/displays/menus/ledstripselectblinkmenu.h b/main/displays/menus/ledstripselectblinkmenu.h new file mode 100644 index 0000000..336d291 --- /dev/null +++ b/main/displays/menus/ledstripselectblinkmenu.h @@ -0,0 +1,37 @@ +#pragma once + +// Local includes +#include "menudisplay.h" +#include "utils.h" +#include "menuitem.h" +#include "ledstrip.h" +#include "ledstripselectanimationmenu.h" +#include "icons/back.h" +#include "texts.h" +#include "actions/dummyaction.h" +#include "actions/ledstripblinkactions.h" +#include "actions/switchscreenaction.h" + +using namespace espgui; + +namespace { + class LedstripMenu; +} + +namespace { + class LedstripSelectBlinkMenu : + public MenuDisplay, + public StaticText, + public BackActionInterface> + { + public: + LedstripSelectBlinkMenu() + { + constructMenuItem, LedstripAnimationBlinkNoneAction>>(); + constructMenuItem, LedstripAnimationBlinkLeftAction>>(); + constructMenuItem, LedstripAnimationBlinkRightAction>>(); + constructMenuItem, LedstripAnimationBlinkBothAction>>(); + constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>(); + } + }; +} // Namespace diff --git a/main/dpad5wire_2out.h b/main/dpad5wire_2out.h index 968f0ec..96e870b 100644 --- a/main/dpad5wire_2out.h +++ b/main/dpad5wire_2out.h @@ -45,8 +45,8 @@ public: bool &profile2{this->at(DPAD_5WIRESW_PROFILE2)}; bool &profile3{this->at(DPAD_5WIRESW_PROFILE3)}; - bool &blink_left{this->at(DPAD_5WIRESW_BLINK_RIGHT)}; - bool &blink_right{this->at(DPAD_5WIRESW_BLINK_LEFT)}; + bool &blink_left{this->at(DPAD_5WIRESW_BLINK_LEFT)}; + bool &blink_right{this->at(DPAD_5WIRESW_BLINK_RIGHT)}; bool &quickaction_down{this->at(DPAD_5WIRESW_QUICKACTION_DOWN)}; bool &quickaction_up{this->at(DPAD_5WIRESW_QUICKACTION_UP)}; }; diff --git a/main/ledstrip.h b/main/ledstrip.h index c18d190..a3ec98a 100644 --- a/main/ledstrip.h +++ b/main/ledstrip.h @@ -13,7 +13,8 @@ namespace { std::vector leds; uint8_t gHue = 0; -int16_t blinkAnimation = LEDSTRIP_ANIMATION_DEFAULT; +int16_t blinkAnimation = LEDSTRIP_OVERWRITE_NONE; +int16_t animation_type = LEDSTRIP_ANIMATION_TYPE_DEFAULTRAINBOW; void showDefaultLedstrip(); void showAnimation(); @@ -22,6 +23,7 @@ void showSpeedSyncAnimation(); void initLedStrip() { + animation_type = settings.ledstrip.animationType; leds.resize(settings.ledstrip.ledsCount); FastLED.addLeds(&*std::begin(leds), leds.size()) .setCorrection(TypicalSMD5050); @@ -31,7 +33,7 @@ void updateLedStrip() { EVERY_N_MILLISECONDS( 20 ) { gHue++; } - if (cpputils::is_in(blinkAnimation, LEDSTRIP_ANIMATION_BLINKLEFT, LEDSTRIP_ANIMATION_BLINKRIGHT, LEDSTRIP_ANIMATION_BLINKBOTH)) + if (cpputils::is_in(blinkAnimation, LEDSTRIP_OVERWRITE_BLINKLEFT, LEDSTRIP_OVERWRITE_BLINKRIGHT, LEDSTRIP_OVERWRITE_BLINKBOTH)) { std::fill(std::begin(leds), std::end(leds), CRGB{0, 0, 0}); @@ -46,14 +48,14 @@ void updateLedStrip() const auto center = (std::begin(leds) + (leds.size() / 2) + settings.ledstrip.centerOffset); #ifndef LEDSTRIP_WRONG_DIRECTION - if (blinkAnimation != LEDSTRIP_ANIMATION_BLINKRIGHT) + if (blinkAnimation != LEDSTRIP_OVERWRITE_BLINKRIGHT) std::fill(center - settings.ledstrip.bigOffset, center - settings.ledstrip.smallOffset, color); - if (blinkAnimation != LEDSTRIP_ANIMATION_BLINKLEFT) + if (blinkAnimation != LEDSTRIP_OVERWRITE_BLINKLEFT) std::fill(center + settings.ledstrip.smallOffset, center + settings.ledstrip.bigOffset, color); #else - if (blinkAnimation != LEDSTRIP_ANIMATION_BLINKLEFT) + if (blinkAnimation != LEDSTRIP_OVERWRITE_BLINKLEFT) std::fill(center - settings.ledstrip.bigOffset, center - settings.ledstrip.smallOffset, color); - if (blinkAnimation != LEDSTRIP_ANIMATION_BLINKRIGHT) + if (blinkAnimation != LEDSTRIP_OVERWRITE_BLINKRIGHT) std::fill(center + settings.ledstrip.smallOffset, center + settings.ledstrip.bigOffset, color); #endif } else { @@ -103,9 +105,9 @@ void updateLedStrip() } void showAnimation() { - if (blinkAnimation == LEDSTRIP_ANIMATION_DEFAULTRAINBOW) showDefaultLedstrip(); - else if (blinkAnimation == LEDSTRIP_ANIMATION_BETTERRAINBOW) showBetterRainbow(); - else if (blinkAnimation == LEDSTRIP_ANIMATION_SPEEDSYNCANIMATION) showSpeedSyncAnimation(); + if (animation_type == LEDSTRIP_ANIMATION_TYPE_DEFAULTRAINBOW) showDefaultLedstrip(); + else if (animation_type == LEDSTRIP_ANIMATION_TYPE_BETTERRAINBOW) showBetterRainbow(); + else if (animation_type == LEDSTRIP_ANIMATION_TYPE_SPEEDSYNCANIMATION) showSpeedSyncAnimation(); else showDefaultLedstrip(); } diff --git a/main/ledstripdefines.h b/main/ledstripdefines.h index 282bcc4..f292349 100644 --- a/main/ledstripdefines.h +++ b/main/ledstripdefines.h @@ -3,13 +3,12 @@ * This file contains a few defines, so you don't have to remember which ledstrip animation is which number */ -#define LEDSTRIP_ANIMATION_DEFAULTRAINBOW 0 -#define LEDSTRIP_ANIMATION_BLINKLEFT 1 -#define LEDSTRIP_ANIMATION_BLINKRIGHT 2 -#define LEDSTRIP_ANIMATION_BLINKBOTH 3 -#define LEDSTRIP_ANIMATION_BETTERRAINBOW 4 -#define LEDSTRIP_ANIMATION_SPEEDSYNCANIMATION 5 +#define LEDSTRIP_OVERWRITE_NONE 0 +#define LEDSTRIP_OVERWRITE_BLINKLEFT 1 +#define LEDSTRIP_OVERWRITE_BLINKRIGHT 2 +#define LEDSTRIP_OVERWRITE_BLINKBOTH 3 -#ifndef LEDSTRIP_ANIMATION_DEFAULT -#define LEDSTRIP_ANIMATION_DEFAULT LEDSTRIP_ANIMATION_DEFAULTRAINBOW -#endif + +#define LEDSTRIP_ANIMATION_TYPE_DEFAULTRAINBOW 0 +#define LEDSTRIP_ANIMATION_TYPE_BETTERRAINBOW 1 +#define LEDSTRIP_ANIMATION_TYPE_SPEEDSYNCANIMATION 2 diff --git a/main/presets.h b/main/presets.h index f87b48a..5518604 100644 --- a/main/presets.h +++ b/main/presets.h @@ -12,6 +12,7 @@ // local includes #include "settings.h" #include "stringsettings.h" +#include "ledstripdefines.h" using namespace std::chrono_literals; @@ -231,7 +232,12 @@ constexpr Settings::Ledstrip defaultLedstrip { .smallOffset = 4, .bigOffset = 10, .deziampere = 30, - .enableBeepWhenBlink = false + .enableBeepWhenBlink = false, +#ifdef LEDSTRIP_ANIMATION_DEFAULT + .animationType = LEDSTRIP_ANIMATION_DEFAULT +#else + .animationType = LEDSTRIP_ANIMATION_TYPE_DEFAULTRAINBOW +#endif }; #endif diff --git a/main/settings.h b/main/settings.h index bdd6284..edc5b3f 100644 --- a/main/settings.h +++ b/main/settings.h @@ -162,6 +162,7 @@ struct Settings int16_t bigOffset; int16_t deziampere; bool enableBeepWhenBlink; + int16_t animationType; } ledstrip; #endif @@ -262,6 +263,7 @@ void Settings::executeForEveryCommonSetting(T &&callable) callable("bigOffset", ledstrip.bigOffset); callable("deziampere", ledstrip.deziampere); callable("beeppwhenblink", ledstrip.enableBeepWhenBlink); +// callable("animationType", ledstrip.animationType); #endif callable("lockAlwPresetSw", lockscreen.allowPresetSwitch); diff --git a/main/texts.h b/main/texts.h index 30361f8..49cc0a0 100644 --- a/main/texts.h +++ b/main/texts.h @@ -243,6 +243,7 @@ constexpr char TEXT_LEDSTRIP[] = "Ledstrip"; constexpr char TEXT_LEDANIMATION[] = "LED Animation"; constexpr char TEXT_BRAKELIGHTS[] = "Brake Lights"; constexpr char TEXT_BLINKANIMATION[] = "Blink animation"; +constexpr char TEXT_ANIMATION_TYPE[] = "Blink animation"; constexpr char TEXT_LEDSCOUNT[] = "LEDs Count"; constexpr char TEXT_CENTEROFFSET[] = "Center Offset"; constexpr char TEXT_SMALLOFFSET[] = "Small Offset"; @@ -254,11 +255,14 @@ constexpr char TEXT_BLINKBEEP[] = "Blink Beep"; //LedstripSelectAnimationMenu constexpr char TEXT_SELECTANIMATION[] = "Select Animation"; constexpr char TEXT_ANIMATION_DEFAULTRAINBOW[] = "Default Rainbow"; +constexpr char TEXT_ANIMATION_BETTERRAINBOW[] = "Better Rainbow"; +constexpr char TEXT_ANIMATION_SPEEDSYNCANIMATION[] = "Speed Sync"; + +//LedstripSelectBlinkMenu +constexpr char TEXT_ANIMATION_BLINKNONE[] = "Blink Off"; constexpr char TEXT_ANIMATION_BLINKLEFT[] = "Blink Left"; constexpr char TEXT_ANIMATION_BLINKRIGHT[] = "Blink Right"; constexpr char TEXT_ANIMATION_BLINKBOTH[] = "Blink Both"; -constexpr char TEXT_ANIMATION_BETTERRAINBOW[] = "Better Rainbow"; -constexpr char TEXT_ANIMATION_SPEEDSYNCANIMATION[] = "Speed Sync"; //LockscreenSettingsMenu constexpr char TEXT_LOCKSCREENSETTINGS[] = "Lockscreen Settings";