Fixed visualize

This commit is contained in:
CommanderRedYT
2021-12-05 23:38:05 +01:00
parent d32b46ed3f
commit 0df45e74f2
7 changed files with 13 additions and 6 deletions

View File

@ -197,3 +197,4 @@ struct HandbremsEnabledAccessor : public RefAccessorSaveSettings<bool> { bool &g
struct HandbremsModeAccessor : public RefAccessorSaveSettings<HandbremseMode> { HandbremseMode &getRef() const override { return settings.handbremse.mode; } };
struct HandbremsTimeoutAccessor : public RefAccessorSaveSettings<uint16_t> { uint16_t &getRef() const override { return settings.handbremse.triggerTimeout; } };
struct HandbremsAutomaticAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return settings.handbremse.automatic; } };
struct HandbremsVisualizeAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return settings.handbremse.visualize; } };

View File

@ -45,6 +45,7 @@ HandbremsSettingsMenu::HandbremsSettingsMenu()
{
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_HANDBREMSE_ENABLE>, ToggleBoolAction, CheckboxIcon, HandbremsEnabledAccessor>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_HANDBREMSE_AUTOMATIC>, ToggleBoolAction, CheckboxIcon, HandbremsAutomaticAccessor>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_HANDBREMSE_VISUALIZE>, ToggleBoolAction, CheckboxIcon, HandbremsVisualizeAccessor>>();
constructMenuItem<makeComponent<MenuItem, HandBremsModeText, SwitchScreenAction<HandBremsModeChangeValueDisplay>>>();
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_HANDBREMSE_TRIGGERTIMEOUT, HandbremsTimeoutAccessor>, SwitchScreenAction<HandBremsTriggerTimeoutChangeValueDisplay>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<DefaultModeSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();

View File

@ -70,10 +70,10 @@ void StatusDisplay::initScreen()
void StatusDisplay::redraw()
{
Base::redraw();
if (modes::defaultMode.overrideHandbremse || handbremse::handbremseAngezogen)
tft.fillRect(0, 0, tft.width(), 2, TFT_RED);
if (settings.handbremse.enable && settings.handbremse.visualize && (modes::defaultMode.overrideHandbremse || handbremse::handbremseAngezogen))
tft.fillRect(0, tft.height()-6, tft.width(), 6, TFT_RED);
else
tft.fillRect(0, 0, tft.width(), 2, TFT_BLACK);
tft.fillRect(0, tft.height()-6, tft.width(), 6, TFT_BLACK);
tft.setTextFont(2);
m_labelRawGas.redraw(raw_gas ? std::to_string(*raw_gas) : "?");

View File

@ -239,7 +239,8 @@ constexpr Settings::Handbremse defaultHandbremse {
.mode = HandbremseMode::MOSFETS_OFF,
.triggerTimeout = 10,
.automatic = false,
.enable = false
.enable = false,
.visualize = true,
};
#ifdef FEATURE_LEDSTRIP

View File

@ -220,6 +220,7 @@ struct Settings
uint16_t triggerTimeout;
bool automatic;
bool enable;
bool visualize;
} handbremse;
template<typename T>
@ -356,6 +357,7 @@ void Settings::executeForEveryCommonSetting(T &&callable)
callable("handBremsA", handbremse.automatic);
callable("handBremsM", handbremse.mode);
callable("handBremsT", handbremse.triggerTimeout);
callable("handBremsV", handbremse.visualize);
}
template<typename T>

View File

@ -223,8 +223,9 @@ char TEXT_HYBRIDACTIVATIONLIMIT[] = "Hybrid activation-limit";
char TEXT_HYBRIDDEACTIVATIONLIMIT[] = "Hybrid deactivation-limit";
char TEXT_LIMITS_TO_NEAR[] = "Hybrid limits too near (>20)";
char TEXT_HANDBREMSE_ENABLE[] = "Enable Handbrems";
char TEXT_HANDBREMSE_AUTOMATIC[] = "Automatic Handbrems";
char TEXT_HANDBREMSE_ENABLE[] = "Enable Handbremse";
char TEXT_HANDBREMSE_AUTOMATIC[] = "Automatic Handbremse";
char TEXT_HANDBREMSE_VISUALIZE[] = "Visualize Handbremse";
char TEXT_HANDBREMSE_MODE[] = "Handbrems Mode";
char TEXT_HANDBREMSE_TRIGGERTIMEOUT[] = "Handbrems Timeout";
//char TEXT_BACK[] = "Back";

View File

@ -224,6 +224,7 @@ extern char TEXT_LIMITS_TO_NEAR[];
extern char TEXT_HANDBREMSE_ENABLE[];
extern char TEXT_HANDBREMSE_AUTOMATIC[];
extern char TEXT_HANDBREMSE_VISUALIZE[];
extern char TEXT_HANDBREMSE_MODE[];
extern char TEXT_HANDBREMSE_TRIGGERTIMEOUT[];
extern char TEXT_HANDBREMSE[];