From dfcf841db4170ebb23951ef5027ea472d4bd5a70 Mon Sep 17 00:00:00 2001 From: CommanderRedYT Date: Thu, 30 Sep 2021 21:03:13 +0200 Subject: [PATCH 1/2] Added optional beep when blinking --- main/accessors/settingsaccessors.h | 1 + main/displays/menus/ledstripmenu.h | 4 +++- main/ledstrip.h | 11 +++++++++++ main/presets.h | 3 ++- main/settings.h | 2 ++ main/texts.h | 1 + 6 files changed, 20 insertions(+), 2 deletions(-) diff --git a/main/accessors/settingsaccessors.h b/main/accessors/settingsaccessors.h index 2a7efd5..2f5f49b 100644 --- a/main/accessors/settingsaccessors.h +++ b/main/accessors/settingsaccessors.h @@ -158,6 +158,7 @@ struct CenterOffsetAccessor : public RefAccessorSaveSettings { int16_t struct SmallOffsetAccessor : public RefAccessorSaveSettings { int16_t &getRef() const override { return settings.ledstrip.smallOffset; } }; struct BigOffsetAccessor : public RefAccessorSaveSettings { int16_t &getRef() const override { return settings.ledstrip.bigOffset; } }; struct DeziampereAccessor : public RefAccessorSaveSettings { int16_t &getRef() const override { return settings.ledstrip.deziampere; } }; +struct EnableBeepWhenBlinkAccessor : public RefAccessorSaveSettings { bool &getRef() const override { return settings.ledstrip.enableBeepWhenBlink; } }; #endif struct LockscreenAllowPresetSwitchAccessor : public RefAccessorSaveSettings { bool &getRef() const override { return settings.lockscreen.allowPresetSwitch; } }; diff --git a/main/displays/menus/ledstripmenu.h b/main/displays/menus/ledstripmenu.h index 49d9886..48c559e 100644 --- a/main/displays/menus/ledstripmenu.h +++ b/main/displays/menus/ledstripmenu.h @@ -1,5 +1,5 @@ #pragma once - +#define FEATURE_LEDSTRIP // local includes #include "menudisplay.h" #include "menuitem.h" @@ -88,7 +88,9 @@ public: { constructMenuItem, ToggleBoolAction, CheckboxIcon, EnableLedAnimationAccessor>>(); constructMenuItem, ToggleBoolAction, CheckboxIcon, EnableBrakeLightsAccessor>>(); + constructMenuItem, ToggleBoolAction, CheckboxIcon, EnableBeepWhenBlinkAccessor>>(); constructMenuItem, SwitchScreenAction>>(); + // constructMenuItem, SwitchScreenAction>>(); constructMenuItem, SwitchScreenAction>>(); constructMenuItem, SwitchScreenAction>>(); diff --git a/main/ledstrip.h b/main/ledstrip.h index 97c4410..c18d190 100644 --- a/main/ledstrip.h +++ b/main/ledstrip.h @@ -37,6 +37,11 @@ void updateLedStrip() if (espchrono::millis_clock::now().time_since_epoch() % 750ms < 375ms) { + if (settings.ledstrip.enableBeepWhenBlink) + { + for (Controller &controller : controllers) + controller.command.buzzer.freq = 3; + } auto color = CRGB{255, 255, 0}; const auto center = (std::begin(leds) + (leds.size() / 2) + settings.ledstrip.centerOffset); @@ -51,6 +56,12 @@ void updateLedStrip() if (blinkAnimation != LEDSTRIP_ANIMATION_BLINKRIGHT) std::fill(center + settings.ledstrip.smallOffset, center + settings.ledstrip.bigOffset, color); #endif + } else { + if (settings.ledstrip.enableBeepWhenBlink) + { + for (Controller &controller : controllers) + controller.command.buzzer.freq = 0; + } } } else diff --git a/main/presets.h b/main/presets.h index fdf29fb..f87b48a 100644 --- a/main/presets.h +++ b/main/presets.h @@ -230,7 +230,8 @@ constexpr Settings::Ledstrip defaultLedstrip { .centerOffset = 1, .smallOffset = 4, .bigOffset = 10, - .deziampere = 30 + .deziampere = 30, + .enableBeepWhenBlink = false }; #endif diff --git a/main/settings.h b/main/settings.h index 1d331c7..bdd6284 100644 --- a/main/settings.h +++ b/main/settings.h @@ -161,6 +161,7 @@ struct Settings int16_t smallOffset; int16_t bigOffset; int16_t deziampere; + bool enableBeepWhenBlink; } ledstrip; #endif @@ -260,6 +261,7 @@ void Settings::executeForEveryCommonSetting(T &&callable) callable("smallOffset", ledstrip.smallOffset); callable("bigOffset", ledstrip.bigOffset); callable("deziampere", ledstrip.deziampere); + callable("beeppwhenblink", ledstrip.enableBeepWhenBlink); #endif callable("lockAlwPresetSw", lockscreen.allowPresetSwitch); diff --git a/main/texts.h b/main/texts.h index 45ca6fd..30361f8 100644 --- a/main/texts.h +++ b/main/texts.h @@ -248,6 +248,7 @@ constexpr char TEXT_CENTEROFFSET[] = "Center Offset"; constexpr char TEXT_SMALLOFFSET[] = "Small Offset"; constexpr char TEXT_BIGOFFSET[] = "Big Offset"; constexpr char TEXT_LEDSTRIP_MILLIAMP[] = "Ledstrip 0.1A"; +constexpr char TEXT_BLINKBEEP[] = "Blink Beep"; //constexpr char TEXT_BACK[] = "Back"; //LedstripSelectAnimationMenu From 53edd82feface6f4125ecf80fe0d56bf3e0eb787 Mon Sep 17 00:00:00 2001 From: CommanderRedYT Date: Thu, 30 Sep 2021 21:18:42 +0200 Subject: [PATCH 2/2] Removed dev-define --- main/displays/menus/ledstripmenu.h | 1 - 1 file changed, 1 deletion(-) diff --git a/main/displays/menus/ledstripmenu.h b/main/displays/menus/ledstripmenu.h index 48c559e..72d490e 100644 --- a/main/displays/menus/ledstripmenu.h +++ b/main/displays/menus/ledstripmenu.h @@ -1,5 +1,4 @@ #pragma once -#define FEATURE_LEDSTRIP // local includes #include "menudisplay.h" #include "menuitem.h"