Implemented error handler in ChangeValueDisplays
This commit is contained in:
Submodule components/esp-gui-lib updated: a29efa4e47...a279559e76
@ -8,6 +8,7 @@ set(headers
|
|||||||
bluetoothtexthelpers.h
|
bluetoothtexthelpers.h
|
||||||
bmsutils.h
|
bmsutils.h
|
||||||
bobbybuttons.h
|
bobbybuttons.h
|
||||||
|
bobbyerrorhandler.h
|
||||||
buildserver.h
|
buildserver.h
|
||||||
buttons.h
|
buttons.h
|
||||||
can.h
|
can.h
|
||||||
@ -107,6 +108,7 @@ set(headers
|
|||||||
displays/bobbydisplaywithtitle.h
|
displays/bobbydisplaywithtitle.h
|
||||||
displays/bobbygraphdisplay.h
|
displays/bobbygraphdisplay.h
|
||||||
displays/bobbymenudisplay.h
|
displays/bobbymenudisplay.h
|
||||||
|
displays/bobbypopupdisplay.h
|
||||||
displays/bobbysplitgraphdisplay.h
|
displays/bobbysplitgraphdisplay.h
|
||||||
displays/calibratedisplay.h
|
displays/calibratedisplay.h
|
||||||
displays/calibratevoltagedisplay.h
|
displays/calibratevoltagedisplay.h
|
||||||
@ -183,7 +185,6 @@ set(headers
|
|||||||
displays/menus/wifistasettingsmenu.h
|
displays/menus/wifistasettingsmenu.h
|
||||||
displays/metersdisplay.h
|
displays/metersdisplay.h
|
||||||
displays/pingpongdisplay.h
|
displays/pingpongdisplay.h
|
||||||
displays/popups/alertdisplay.h
|
|
||||||
displays/poweroffdisplay.h
|
displays/poweroffdisplay.h
|
||||||
displays/powersupplydisplay.h
|
displays/powersupplydisplay.h
|
||||||
displays/qrcodedebug.h
|
displays/qrcodedebug.h
|
||||||
@ -241,6 +242,7 @@ set(sources
|
|||||||
bluetoothtexthelpers.cpp
|
bluetoothtexthelpers.cpp
|
||||||
bmsutils.cpp
|
bmsutils.cpp
|
||||||
bobbybuttons.cpp
|
bobbybuttons.cpp
|
||||||
|
bobbyerrorhandler.cpp
|
||||||
buildserver.cpp
|
buildserver.cpp
|
||||||
buttons.cpp
|
buttons.cpp
|
||||||
can.cpp
|
can.cpp
|
||||||
@ -337,6 +339,7 @@ set(sources
|
|||||||
displays/bobbydisplaywithtitle.cpp
|
displays/bobbydisplaywithtitle.cpp
|
||||||
displays/bobbygraphdisplay.cpp
|
displays/bobbygraphdisplay.cpp
|
||||||
displays/bobbymenudisplay.cpp
|
displays/bobbymenudisplay.cpp
|
||||||
|
displays/bobbypopupdisplay.cpp
|
||||||
displays/bobbysplitgraphdisplay.cpp
|
displays/bobbysplitgraphdisplay.cpp
|
||||||
displays/calibratedisplay.cpp
|
displays/calibratedisplay.cpp
|
||||||
displays/calibratevoltagedisplay.cpp
|
displays/calibratevoltagedisplay.cpp
|
||||||
@ -411,7 +414,6 @@ set(sources
|
|||||||
displays/menus/wifistasettingsmenu.cpp
|
displays/menus/wifistasettingsmenu.cpp
|
||||||
displays/metersdisplay.cpp
|
displays/metersdisplay.cpp
|
||||||
displays/pingpongdisplay.cpp
|
displays/pingpongdisplay.cpp
|
||||||
displays/popups/alertdisplay.cpp
|
|
||||||
displays/poweroffdisplay.cpp
|
displays/poweroffdisplay.cpp
|
||||||
displays/powersupplydisplay.cpp
|
displays/powersupplydisplay.cpp
|
||||||
displays/qrcodedebug.cpp
|
displays/qrcodedebug.cpp
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
// system includes
|
||||||
|
#include <cstdint>
|
||||||
|
|
||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
#include <accessorinterface.h>
|
#include <accessorinterface.h>
|
||||||
|
|
||||||
@ -11,7 +14,15 @@
|
|||||||
template<typename T>
|
template<typename T>
|
||||||
struct RefAccessorSaveSettings : public virtual espgui::RefAccessor<T>
|
struct RefAccessorSaveSettings : public virtual espgui::RefAccessor<T>
|
||||||
{
|
{
|
||||||
void setValue(T value) override { espgui::RefAccessor<T>::setValue(value); saveSettings(); };
|
typename espgui::AccessorInterface<T>::setter_result_t setValue(T value) override
|
||||||
|
{
|
||||||
|
espgui::RefAccessor<T>::setValue(value);
|
||||||
|
|
||||||
|
if (!saveSettings())
|
||||||
|
return tl::make_unexpected("saveSettings() failed!");
|
||||||
|
|
||||||
|
return {};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
@ -19,6 +30,48 @@ struct NewSettingsAccessor : public virtual espgui::AccessorInterface<T>
|
|||||||
{
|
{
|
||||||
virtual ConfigWrapper<T>& getConfig() const = 0;
|
virtual ConfigWrapper<T>& getConfig() const = 0;
|
||||||
|
|
||||||
T getValue() const override { return getConfig().value; }
|
T getValue() const override
|
||||||
void setValue(T value) override { configs.write_config(getConfig(), value); }
|
{
|
||||||
|
return getConfig().value;
|
||||||
|
}
|
||||||
|
|
||||||
|
typename espgui::AccessorInterface<T>::setter_result_t setValue(T value) override
|
||||||
|
{
|
||||||
|
return configs.write_config(getConfig(), value);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
template<typename T>
|
||||||
|
struct NewSettingsChronoAdaptorAccessor;
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct NewSettingsChronoAdaptorAccessor<espchrono::minutes32> : public virtual espgui::AccessorInterface<int32_t>
|
||||||
|
{
|
||||||
|
virtual ConfigWrapper<espchrono::minutes32>& getConfig() const = 0;
|
||||||
|
|
||||||
|
int32_t getValue() const override
|
||||||
|
{
|
||||||
|
return getConfig().value.count();
|
||||||
|
}
|
||||||
|
|
||||||
|
typename espgui::AccessorInterface<int32_t>::setter_result_t setValue(int32_t value) override
|
||||||
|
{
|
||||||
|
return configs.write_config(getConfig(), espchrono::minutes32{value});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct NewSettingsChronoAdaptorAccessor<espchrono::milliseconds32> : public virtual espgui::AccessorInterface<int32_t>
|
||||||
|
{
|
||||||
|
virtual ConfigWrapper<espchrono::milliseconds32>& getConfig() const = 0;
|
||||||
|
|
||||||
|
int32_t getValue() const override
|
||||||
|
{
|
||||||
|
return getConfig().value.count();
|
||||||
|
}
|
||||||
|
|
||||||
|
typename espgui::AccessorInterface<int32_t>::setter_result_t setValue(int32_t value) override
|
||||||
|
{
|
||||||
|
return configs.write_config(getConfig(), espchrono::milliseconds32{value});
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
@ -27,7 +27,13 @@ struct IDcMaxAccessor : public RefAccessorSaveSettings<int16_t> { int16_t &getRe
|
|||||||
struct NMotMaxKmhAccessor : public virtual espgui::AccessorInterface<int16_t>
|
struct NMotMaxKmhAccessor : public virtual espgui::AccessorInterface<int16_t>
|
||||||
{
|
{
|
||||||
int16_t getValue() const override { return convertToKmh(settings.limits.nMotMax); }
|
int16_t getValue() const override { return convertToKmh(settings.limits.nMotMax); }
|
||||||
void setValue(int16_t value) override { settings.limits.nMotMax = convertFromKmh(value); saveSettings(); }
|
espgui::AccessorInterface<int16_t>::setter_result_t setValue(int16_t value) override
|
||||||
|
{
|
||||||
|
settings.limits.nMotMax = convertFromKmh(value);
|
||||||
|
if (!saveSettings())
|
||||||
|
return tl::make_unexpected("saveSettings() failed!");
|
||||||
|
return {};
|
||||||
|
}
|
||||||
};
|
};
|
||||||
struct NMotMaxRpmAccessor : public RefAccessorSaveSettings<int16_t> { int16_t &getRef() const override { return settings.limits.nMotMax; } };
|
struct NMotMaxRpmAccessor : public RefAccessorSaveSettings<int16_t> { int16_t &getRef() const override { return settings.limits.nMotMax; } };
|
||||||
struct FieldWeakMaxAccessor : public RefAccessorSaveSettings<int16_t> { int16_t &getRef() const override { return settings.limits.fieldWeakMax; } };
|
struct FieldWeakMaxAccessor : public RefAccessorSaveSettings<int16_t> { int16_t &getRef() const override { return settings.limits.fieldWeakMax; } };
|
||||||
@ -50,32 +56,14 @@ struct CloudTransmitTimeoutAccessor : public RefAccessorSaveSettings<int16_t> {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Time
|
// Time
|
||||||
struct TimezoneOffsetAccessor : public virtual espgui::AccessorInterface<int32_t>
|
//struct TimezoneOffsetAccessor : public NewSettingsAccessor<int32_t> { ConfigWrapper<int32_t> &getConfig() const override { return configs.timezoneOffset; } };
|
||||||
{
|
struct TimezoneOffsetAccessor : public NewSettingsChronoAdaptorAccessor<espchrono::minutes32> { ConfigWrapper<espchrono::minutes32> &getConfig() const override { return configs.timezoneOffset; } };
|
||||||
int32_t getValue() const override { return configs.timezoneOffset.value.count(); }
|
struct DaylightSavingModeAccessor : public NewSettingsAccessor<espchrono::DayLightSavingMode> { ConfigWrapper<espchrono::DayLightSavingMode> &getConfig() const override { return configs.timeDst; } };
|
||||||
void setValue(int32_t value) override { configs.write_config(configs.timezoneOffset, espchrono::minutes32{value}); }
|
|
||||||
};
|
|
||||||
struct DaylightSavingModeAccessor : public virtual espgui::AccessorInterface<espchrono::DayLightSavingMode>
|
|
||||||
{
|
|
||||||
espchrono::DayLightSavingMode getValue() const override { return configs.timeDst.value; }
|
|
||||||
void setValue(espchrono::DayLightSavingMode value) override { configs.write_config(configs.timeDst, value); }
|
|
||||||
};
|
|
||||||
#ifdef FEATURE_NTP
|
#ifdef FEATURE_NTP
|
||||||
struct TimeServerEnabledAccessor : public virtual espgui::AccessorInterface<bool>
|
struct TimeServerEnabledAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.timeServerEnabled; } };
|
||||||
{
|
struct TimeSyncModeAccessor : public NewSettingsAccessor<sntp_sync_mode_t> { ConfigWrapper<sntp_sync_mode_t> &getConfig() const override { return configs.timeSyncMode; } };
|
||||||
bool getValue() const override { return configs.timeServerEnabled.value; }
|
//struct TimeSyncIntervalAccessor : public NewSettingsAccessor<int32_t> { ConfigWrapper<int32_t> &getConfig() const override { return configs.timeSyncInterval; } };
|
||||||
void setValue(bool value) override { configs.write_config(configs.timeServerEnabled, value); }
|
struct TimeSyncIntervalAccessor : public NewSettingsChronoAdaptorAccessor<espchrono::milliseconds32> { ConfigWrapper<espchrono::milliseconds32> &getConfig() const override { return configs.timeSyncInterval; } };
|
||||||
};
|
|
||||||
struct TimeSyncModeAccessor : public virtual espgui::AccessorInterface<sntp_sync_mode_t>
|
|
||||||
{
|
|
||||||
sntp_sync_mode_t getValue() const override { return configs.timeSyncMode.value; }
|
|
||||||
void setValue(sntp_sync_mode_t value) override { configs.write_config(configs.timeSyncMode, value); }
|
|
||||||
};
|
|
||||||
struct TimeSyncIntervalAccessor : public virtual espgui::AccessorInterface<int32_t>
|
|
||||||
{
|
|
||||||
int32_t getValue() const override { return configs.timeSyncInterval.value.count(); }
|
|
||||||
void setValue(int32_t value) override { configs.write_config(configs.timeSyncInterval, espchrono::milliseconds32{value}); }
|
|
||||||
};
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Controller Hardware
|
// Controller Hardware
|
||||||
@ -93,7 +81,13 @@ struct WheelDiameterMmAccessor : public RefAccessorSaveSettings<int16_t> { int16
|
|||||||
struct WheelDiameterInchAccessor : public virtual espgui::AccessorInterface<float>
|
struct WheelDiameterInchAccessor : public virtual espgui::AccessorInterface<float>
|
||||||
{
|
{
|
||||||
float getValue() const override { return convertToInch(settings.controllerHardware.wheelDiameter); }
|
float getValue() const override { return convertToInch(settings.controllerHardware.wheelDiameter); }
|
||||||
void setValue(float value) override { settings.controllerHardware.wheelDiameter = convertFromInch(value); saveSettings(); }
|
espgui::AccessorInterface<int16_t>::setter_result_t setValue(float value) override
|
||||||
|
{
|
||||||
|
settings.controllerHardware.wheelDiameter = convertFromInch(value);
|
||||||
|
if (!saveSettings())
|
||||||
|
return tl::make_unexpected("saveSettings() failed!");
|
||||||
|
return {};
|
||||||
|
}
|
||||||
};
|
};
|
||||||
struct NumMagnetPolesAccessor : public RefAccessorSaveSettings<int16_t> { int16_t &getRef() const override { return settings.controllerHardware.numMagnetPoles; } };
|
struct NumMagnetPolesAccessor : public RefAccessorSaveSettings<int16_t> { int16_t &getRef() const override { return settings.controllerHardware.numMagnetPoles; } };
|
||||||
struct SwapFrontBackAccessor : public RefAccessorSaveSettings<bool> {
|
struct SwapFrontBackAccessor : public RefAccessorSaveSettings<bool> {
|
||||||
|
@ -1,39 +1,3 @@
|
|||||||
#include "wifistaconfigaccessors.h"
|
#include "wifistaconfigaccessors.h"
|
||||||
|
|
||||||
// local includes
|
|
||||||
#include "newsettings.h"
|
|
||||||
|
|
||||||
using namespace espgui;
|
|
||||||
|
|
||||||
bool WifiStaEnabledAccessor::getValue() const { return configs.wifiStaEnabled.value; }
|
|
||||||
void WifiStaEnabledAccessor::setValue(bool value) { configs.write_config(configs.wifiStaEnabled, value); }
|
|
||||||
|
|
||||||
std::string WifiStaConfigSsidAccessor::getValue() const { return configs.wifi_configs[m_index].ssid.value; }
|
|
||||||
void WifiStaConfigSsidAccessor::setValue(std::string value) { configs.write_config(configs.wifi_configs[m_index].ssid, value); }
|
|
||||||
|
|
||||||
std::string WifiStaConfigKeyAccessor::getValue() const { return configs.wifi_configs[m_index].key.value; }
|
|
||||||
void WifiStaConfigKeyAccessor::setValue(std::string value) { configs.write_config(configs.wifi_configs[m_index].key, value); }
|
|
||||||
|
|
||||||
bool WifiStaConfigUseStaticIpAccessor::getValue() const { return configs.wifi_configs[m_index].useStaticIp.value; }
|
|
||||||
void WifiStaConfigUseStaticIpAccessor::setValue(bool value) { configs.write_config(configs.wifi_configs[m_index].useStaticIp, value); }
|
|
||||||
|
|
||||||
wifi_stack::ip_address_t WifiStaConfigStaticIpAccessor::getValue() const { return configs.wifi_configs[m_index].staticIp.value; }
|
|
||||||
void WifiStaConfigStaticIpAccessor::setValue(wifi_stack::ip_address_t value) { configs.write_config(configs.wifi_configs[m_index].staticIp, value); }
|
|
||||||
|
|
||||||
wifi_stack::ip_address_t WifiStaConfigStaticSubnetAccessor::getValue() const { return configs.wifi_configs[m_index].staticSubnet.value; }
|
|
||||||
void WifiStaConfigStaticSubnetAccessor::setValue(wifi_stack::ip_address_t value) { configs.write_config(configs.wifi_configs[m_index].staticSubnet, value); }
|
|
||||||
|
|
||||||
wifi_stack::ip_address_t WifiStaConfigStaticGatewayAccessor::getValue() const { return configs.wifi_configs[m_index].staticGateway.value; }
|
|
||||||
void WifiStaConfigStaticGatewayAccessor::setValue(wifi_stack::ip_address_t value) { configs.write_config(configs.wifi_configs[m_index].staticGateway, value); }
|
|
||||||
|
|
||||||
bool WifiStaConfigUseStaticDnsAccessor::getValue() const { return configs.wifi_configs[m_index].useStaticDns.value; }
|
|
||||||
void WifiStaConfigUseStaticDnsAccessor::setValue(bool value) { configs.write_config(configs.wifi_configs[m_index].useStaticDns, value); }
|
|
||||||
|
|
||||||
wifi_stack::ip_address_t WifiStaConfigStaticDns0Accessor::getValue() const { return configs.wifi_configs[m_index].staticDns0.value; }
|
|
||||||
void WifiStaConfigStaticDns0Accessor::setValue(wifi_stack::ip_address_t value) { configs.write_config(configs.wifi_configs[m_index].staticDns0, value); }
|
|
||||||
|
|
||||||
wifi_stack::ip_address_t WifiStaConfigStaticDns1Accessor::getValue() const { return configs.wifi_configs[m_index].staticDns1.value; }
|
|
||||||
void WifiStaConfigStaticDns1Accessor::setValue(wifi_stack::ip_address_t value) { configs.write_config(configs.wifi_configs[m_index].staticDns1, value); }
|
|
||||||
|
|
||||||
wifi_stack::ip_address_t WifiStaConfigStaticDns2Accessor::getValue() const { return configs.wifi_configs[m_index].staticDns2.value; }
|
|
||||||
void WifiStaConfigStaticDns2Accessor::setValue(wifi_stack::ip_address_t value) { configs.write_config(configs.wifi_configs[m_index].staticDns2, value); }
|
|
||||||
|
@ -9,129 +9,98 @@
|
|||||||
#include <accessorinterface.h>
|
#include <accessorinterface.h>
|
||||||
#include <espwifiutils.h>
|
#include <espwifiutils.h>
|
||||||
|
|
||||||
class WifiStaEnabledAccessor : public virtual espgui::AccessorInterface<bool>
|
// local includes
|
||||||
{
|
#include "newsettings.h"
|
||||||
public:
|
#include "accessorhelpers.h"
|
||||||
bool getValue() const override;
|
|
||||||
void setValue(bool value) override;
|
|
||||||
};
|
|
||||||
|
|
||||||
class WifiStaConfigSsidAccessor : public virtual espgui::AccessorInterface<std::string>
|
struct WifiStaEnabledAccessor : public NewSettingsAccessor<bool> { ConfigWrapper<bool> &getConfig() const override { return configs.wifiStaEnabled; } };
|
||||||
|
|
||||||
|
class WifiStaConfigSsidAccessor : public virtual NewSettingsAccessor<std::string>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
WifiStaConfigSsidAccessor(int index) : m_index{index} {}
|
WifiStaConfigSsidAccessor(int index) : m_index{index} {}
|
||||||
|
ConfigWrapper<std::string>& getConfig() const override { return configs.wifi_configs[m_index].ssid; }
|
||||||
std::string getValue() const override;
|
|
||||||
void setValue(std::string value) override;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const int m_index;
|
const int m_index;
|
||||||
};
|
};
|
||||||
|
|
||||||
class WifiStaConfigKeyAccessor : public virtual espgui::AccessorInterface<std::string>
|
class WifiStaConfigKeyAccessor : public virtual NewSettingsAccessor<std::string>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
WifiStaConfigKeyAccessor(int index) : m_index{index} {}
|
WifiStaConfigKeyAccessor(int index) : m_index{index} {}
|
||||||
|
ConfigWrapper<std::string>& getConfig() const override { return configs.wifi_configs[m_index].key; }
|
||||||
std::string getValue() const override;
|
|
||||||
void setValue(std::string value) override;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const int m_index;
|
const int m_index;
|
||||||
};
|
};
|
||||||
|
|
||||||
class WifiStaConfigUseStaticIpAccessor : public virtual espgui::AccessorInterface<bool>
|
class WifiStaConfigUseStaticIpAccessor : public virtual NewSettingsAccessor<bool>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
WifiStaConfigUseStaticIpAccessor(int index) : m_index{index} {}
|
WifiStaConfigUseStaticIpAccessor(int index) : m_index{index} {}
|
||||||
|
ConfigWrapper<bool>& getConfig() const override { return configs.wifi_configs[m_index].useStaticIp; }
|
||||||
bool getValue() const override;
|
|
||||||
void setValue(bool value) override;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const int m_index;
|
const int m_index;
|
||||||
};
|
};
|
||||||
|
|
||||||
class WifiStaConfigStaticIpAccessor : public virtual espgui::AccessorInterface<wifi_stack::ip_address_t>
|
class WifiStaConfigStaticIpAccessor : public virtual NewSettingsAccessor<wifi_stack::ip_address_t>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
WifiStaConfigStaticIpAccessor(int index) : m_index{index} {}
|
WifiStaConfigStaticIpAccessor(int index) : m_index{index} {}
|
||||||
|
ConfigWrapper<wifi_stack::ip_address_t>& getConfig() const override { return configs.wifi_configs[m_index].staticIp; }
|
||||||
wifi_stack::ip_address_t getValue() const override;
|
|
||||||
void setValue(wifi_stack::ip_address_t value) override;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const int m_index;
|
const int m_index;
|
||||||
};
|
};
|
||||||
|
|
||||||
class WifiStaConfigStaticSubnetAccessor : public virtual espgui::AccessorInterface<wifi_stack::ip_address_t>
|
class WifiStaConfigStaticSubnetAccessor : public virtual NewSettingsAccessor<wifi_stack::ip_address_t>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
WifiStaConfigStaticSubnetAccessor(int index) : m_index{index} {}
|
WifiStaConfigStaticSubnetAccessor(int index) : m_index{index} {}
|
||||||
|
ConfigWrapper<wifi_stack::ip_address_t>& getConfig() const override { return configs.wifi_configs[m_index].staticSubnet; }
|
||||||
wifi_stack::ip_address_t getValue() const override;
|
|
||||||
void setValue(wifi_stack::ip_address_t value) override;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const int m_index;
|
const int m_index;
|
||||||
};
|
};
|
||||||
|
|
||||||
class WifiStaConfigStaticGatewayAccessor : public virtual espgui::AccessorInterface<wifi_stack::ip_address_t>
|
class WifiStaConfigStaticGatewayAccessor : public virtual NewSettingsAccessor<wifi_stack::ip_address_t>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
WifiStaConfigStaticGatewayAccessor(int index) : m_index{index} {}
|
WifiStaConfigStaticGatewayAccessor(int index) : m_index{index} {}
|
||||||
|
ConfigWrapper<wifi_stack::ip_address_t>& getConfig() const override { return configs.wifi_configs[m_index].staticGateway; }
|
||||||
wifi_stack::ip_address_t getValue() const override;
|
|
||||||
void setValue(wifi_stack::ip_address_t value) override;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const int m_index;
|
const int m_index;
|
||||||
};
|
};
|
||||||
|
|
||||||
class WifiStaConfigUseStaticDnsAccessor : public virtual espgui::AccessorInterface<bool>
|
class WifiStaConfigUseStaticDnsAccessor : public virtual NewSettingsAccessor<bool>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
WifiStaConfigUseStaticDnsAccessor(int index) : m_index{index} {}
|
WifiStaConfigUseStaticDnsAccessor(int index) : m_index{index} {}
|
||||||
|
ConfigWrapper<bool>& getConfig() const override { return configs.wifi_configs[m_index].useStaticDns; }
|
||||||
bool getValue() const override;
|
|
||||||
void setValue(bool value) override;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const int m_index;
|
const int m_index;
|
||||||
};
|
};
|
||||||
|
|
||||||
class WifiStaConfigStaticDns0Accessor : public virtual espgui::AccessorInterface<wifi_stack::ip_address_t>
|
class WifiStaConfigStaticDns0Accessor : public virtual NewSettingsAccessor<wifi_stack::ip_address_t>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
WifiStaConfigStaticDns0Accessor(int index) : m_index{index} {}
|
WifiStaConfigStaticDns0Accessor(int index) : m_index{index} {}
|
||||||
|
ConfigWrapper<wifi_stack::ip_address_t>& getConfig() const override { return configs.wifi_configs[m_index].staticDns0; }
|
||||||
wifi_stack::ip_address_t getValue() const override;
|
|
||||||
void setValue(wifi_stack::ip_address_t value) override;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const int m_index;
|
const int m_index;
|
||||||
};
|
};
|
||||||
|
|
||||||
class WifiStaConfigStaticDns1Accessor : public virtual espgui::AccessorInterface<wifi_stack::ip_address_t>
|
class WifiStaConfigStaticDns1Accessor : public virtual NewSettingsAccessor<wifi_stack::ip_address_t>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
WifiStaConfigStaticDns1Accessor(int index) : m_index{index} {}
|
WifiStaConfigStaticDns1Accessor(int index) : m_index{index} {}
|
||||||
|
ConfigWrapper<wifi_stack::ip_address_t>& getConfig() const override { return configs.wifi_configs[m_index].staticDns1; }
|
||||||
wifi_stack::ip_address_t getValue() const override;
|
|
||||||
void setValue(wifi_stack::ip_address_t value) override;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const int m_index;
|
const int m_index;
|
||||||
};
|
};
|
||||||
|
|
||||||
class WifiStaConfigStaticDns2Accessor : public virtual espgui::AccessorInterface<wifi_stack::ip_address_t>
|
class WifiStaConfigStaticDns2Accessor : public virtual NewSettingsAccessor<wifi_stack::ip_address_t>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
WifiStaConfigStaticDns2Accessor(int index) : m_index{index} {}
|
WifiStaConfigStaticDns2Accessor(int index) : m_index{index} {}
|
||||||
|
ConfigWrapper<wifi_stack::ip_address_t>& getConfig() const override { return configs.wifi_configs[m_index].staticDns2; }
|
||||||
wifi_stack::ip_address_t getValue() const override;
|
|
||||||
void setValue(wifi_stack::ip_address_t value) override;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const int m_index;
|
const int m_index;
|
||||||
};
|
};
|
||||||
|
14
main/bobbyerrorhandler.cpp
Normal file
14
main/bobbyerrorhandler.cpp
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#include "bobbyerrorhandler.h"
|
||||||
|
|
||||||
|
// 3rdparty lib includes
|
||||||
|
#include <screenmanager.h>
|
||||||
|
|
||||||
|
// local includes
|
||||||
|
#include "displays/bobbypopupdisplay.h"
|
||||||
|
|
||||||
|
void BobbyErrorHandler::errorOccured(std::string &&error)
|
||||||
|
{
|
||||||
|
auto newDisplay = std::make_unique<BobbyPopupDisplay>(std::move(error), std::move(espgui::currentDisplay));
|
||||||
|
newDisplay->initOverlay();
|
||||||
|
espgui::currentDisplay = std::move(newDisplay);
|
||||||
|
}
|
9
main/bobbyerrorhandler.h
Normal file
9
main/bobbyerrorhandler.h
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
// 3rdparty lib includes
|
||||||
|
#include <errorhandlerinterface.h>
|
||||||
|
|
||||||
|
struct BobbyErrorHandler : public virtual espgui::ErrorHandlerInterface
|
||||||
|
{
|
||||||
|
void errorOccured(std::string &&error) override;
|
||||||
|
};
|
@ -5,9 +5,12 @@
|
|||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "bobbybuttons.h"
|
#include "bobbybuttons.h"
|
||||||
|
#include "bobbyerrorhandler.h"
|
||||||
|
|
||||||
template<typename Tvalue>
|
template<typename Tvalue>
|
||||||
class BobbyChangeValueDisplay : public espgui::ChangeValueDisplay<Tvalue>
|
class BobbyChangeValueDisplay :
|
||||||
|
public espgui::ChangeValueDisplay<Tvalue>,
|
||||||
|
public virtual BobbyErrorHandler
|
||||||
{
|
{
|
||||||
using Base = espgui::ChangeValueDisplay<Tvalue>;
|
using Base = espgui::ChangeValueDisplay<Tvalue>;
|
||||||
|
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
#include "bobbydisplay.h"
|
#include "bobbydisplay.h"
|
||||||
|
|
||||||
|
// local includes
|
||||||
|
#include "bobbybuttons.h"
|
||||||
|
|
||||||
void BobbyDisplay::rawButtonPressed(uint8_t button)
|
void BobbyDisplay::rawButtonPressed(uint8_t button)
|
||||||
{
|
{
|
||||||
//Base::rawButtonPressed(button);
|
//Base::rawButtonPressed(button);
|
||||||
|
@ -3,9 +3,6 @@
|
|||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
#include <display.h>
|
#include <display.h>
|
||||||
|
|
||||||
// local includes
|
|
||||||
#include "bobbybuttons.h"
|
|
||||||
|
|
||||||
class BobbyDisplay : public espgui::Display
|
class BobbyDisplay : public espgui::Display
|
||||||
{
|
{
|
||||||
using Base = espgui::Display;
|
using Base = espgui::Display;
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
#include "bobbydisplaywithtitle.h"
|
#include "bobbydisplaywithtitle.h"
|
||||||
|
|
||||||
|
// local includes
|
||||||
|
#include "bobbybuttons.h"
|
||||||
|
|
||||||
void BobbyDisplayWithTitle::rawButtonPressed(uint8_t button)
|
void BobbyDisplayWithTitle::rawButtonPressed(uint8_t button)
|
||||||
{
|
{
|
||||||
//Base::rawButtonPressed(button);
|
//Base::rawButtonPressed(button);
|
||||||
|
@ -3,9 +3,6 @@
|
|||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
#include <displaywithtitle.h>
|
#include <displaywithtitle.h>
|
||||||
|
|
||||||
// local includes
|
|
||||||
#include "bobbybuttons.h"
|
|
||||||
|
|
||||||
class BobbyDisplayWithTitle : public espgui::DisplayWithTitle
|
class BobbyDisplayWithTitle : public espgui::DisplayWithTitle
|
||||||
{
|
{
|
||||||
using Base = espgui::DisplayWithTitle;
|
using Base = espgui::DisplayWithTitle;
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
#include "bobbymenudisplay.h"
|
#include "bobbymenudisplay.h"
|
||||||
|
|
||||||
|
// local includes
|
||||||
|
#include "bobbybuttons.h"
|
||||||
|
|
||||||
void BobbyMenuDisplay::rawButtonPressed(uint8_t button)
|
void BobbyMenuDisplay::rawButtonPressed(uint8_t button)
|
||||||
{
|
{
|
||||||
//Base::rawButtonPressed(button);
|
//Base::rawButtonPressed(button);
|
||||||
|
@ -3,9 +3,6 @@
|
|||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
#include <menudisplay.h>
|
#include <menudisplay.h>
|
||||||
|
|
||||||
// local includes
|
|
||||||
#include "bobbybuttons.h"
|
|
||||||
|
|
||||||
class BobbyMenuDisplay : public espgui::MenuDisplay
|
class BobbyMenuDisplay : public espgui::MenuDisplay
|
||||||
{
|
{
|
||||||
using Base = espgui::MenuDisplay;
|
using Base = espgui::MenuDisplay;
|
||||||
|
29
main/displays/bobbypopupdisplay.cpp
Normal file
29
main/displays/bobbypopupdisplay.cpp
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
#include "bobbypopupdisplay.h"
|
||||||
|
|
||||||
|
// local includes
|
||||||
|
#include "bobbybuttons.h"
|
||||||
|
|
||||||
|
void BobbyPopupDisplay::rawButtonPressed(uint8_t button)
|
||||||
|
{
|
||||||
|
//Base::rawButtonPressed(button);
|
||||||
|
if (const auto translated = translateRawButton(button))
|
||||||
|
buttonPressed(*translated);
|
||||||
|
}
|
||||||
|
|
||||||
|
void BobbyPopupDisplay::rawButtonReleased(uint8_t button)
|
||||||
|
{
|
||||||
|
//Base::rawButtonReleased(button);
|
||||||
|
if (const auto translated = translateRawButton(button))
|
||||||
|
buttonReleased(*translated);
|
||||||
|
}
|
||||||
|
|
||||||
|
void BobbyPopupDisplay::buttonPressed(espgui::Button button)
|
||||||
|
{
|
||||||
|
//Base::buttonPressed(button);
|
||||||
|
buttonPressedCommon(button);
|
||||||
|
}
|
||||||
|
|
||||||
|
void BobbyPopupDisplay::buttonReleased(espgui::Button button)
|
||||||
|
{
|
||||||
|
//Base::buttonReleased(button);
|
||||||
|
}
|
18
main/displays/bobbypopupdisplay.h
Normal file
18
main/displays/bobbypopupdisplay.h
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
// 3rdparty lib includes
|
||||||
|
#include <popupdisplay.h>
|
||||||
|
|
||||||
|
class BobbyPopupDisplay : public espgui::PopupDisplay
|
||||||
|
{
|
||||||
|
using Base = espgui::PopupDisplay;
|
||||||
|
|
||||||
|
public:
|
||||||
|
using Base::Base;
|
||||||
|
|
||||||
|
void rawButtonPressed(uint8_t button) override;
|
||||||
|
void rawButtonReleased(uint8_t button) override;
|
||||||
|
|
||||||
|
void buttonPressed(espgui::Button button) override;
|
||||||
|
void buttonReleased(espgui::Button button) override;
|
||||||
|
};
|
@ -18,24 +18,24 @@ using BatteryCellSeriesChangeScreen = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<uint8_t>,
|
BobbyChangeValueDisplay<uint8_t>,
|
||||||
espgui::StaticText<TEXT_CELL_SERIES>,
|
espgui::StaticText<TEXT_CELL_SERIES>,
|
||||||
BatterySeriesCellsAccessor,
|
BatterySeriesCellsAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<BatteryMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BatteryMenu>>,
|
||||||
espgui::SwitchScreenAction<BatteryMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<BatteryMenu>>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using BatteryCellParallelChangeScreen = espgui::makeComponent<
|
using BatteryCellParallelChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<uint8_t>,
|
BobbyChangeValueDisplay<uint8_t>,
|
||||||
espgui::StaticText<TEXT_CELL_PARALLEL>,
|
espgui::StaticText<TEXT_CELL_PARALLEL>,
|
||||||
BatteryParallelCellsAccessor,
|
BatteryParallelCellsAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<BatteryMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BatteryMenu>>,
|
||||||
espgui::SwitchScreenAction<BatteryMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<BatteryMenu>>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using BatteryWHperKMChangeScreen = espgui::makeComponent<
|
using BatteryWHperKMChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<uint16_t>,
|
BobbyChangeValueDisplay<uint16_t>,
|
||||||
espgui::StaticText<TEXT_BATTERY_WHKM>,
|
espgui::StaticText<TEXT_BATTERY_WHKM>,
|
||||||
BatteryWHperKMAccessor,
|
BatteryWHperKMAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<BatteryMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BatteryMenu>>,
|
||||||
espgui::SwitchScreenAction<BatteryMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<BatteryMenu>>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using namespace espgui;
|
using namespace espgui;
|
||||||
|
@ -48,36 +48,36 @@ using SampleCountChangeScreen = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_SAMPLECOUNT>,
|
espgui::StaticText<TEXT_SAMPLECOUNT>,
|
||||||
SampleCountAccessor,
|
SampleCountAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
using GasMinChangeScreen = espgui::makeComponent<
|
using GasMinChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_GASMIN>,
|
espgui::StaticText<TEXT_GASMIN>,
|
||||||
GasMinAccessor,
|
GasMinAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
using GasMaxChangeScreen = espgui::makeComponent<
|
using GasMaxChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_GASMAX>,
|
espgui::StaticText<TEXT_GASMAX>,
|
||||||
GasMaxAccessor,
|
GasMaxAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
using BremsMinChangeScreen = espgui::makeComponent<
|
using BremsMinChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_BREMSMIN>,
|
espgui::StaticText<TEXT_BREMSMIN>,
|
||||||
BremsMinAccessor,
|
BremsMinAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
using BremsMaxChangeScreen = espgui::makeComponent<
|
using BremsMaxChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_BREMSMAX>,
|
espgui::StaticText<TEXT_BREMSMAX>,
|
||||||
BremsMaxAccessor,
|
BremsMaxAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
#if defined(FEATURE_DPAD) || defined(FEATURE_DPAD_3WIRESW) || defined(FEATURE_DPAD_5WIRESW) || defined(FEATURE_DPAD_5WIRESW_2OUT) || defined (FEATURE_DPAD_6WIRESW)
|
#if defined(FEATURE_DPAD) || defined(FEATURE_DPAD_3WIRESW) || defined(FEATURE_DPAD_5WIRESW) || defined(FEATURE_DPAD_5WIRESW_2OUT) || defined (FEATURE_DPAD_6WIRESW)
|
||||||
@ -85,8 +85,8 @@ using DPadDebounceChangeScreen = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<uint8_t>,
|
BobbyChangeValueDisplay<uint8_t>,
|
||||||
espgui::StaticText<TEXT_DPADDEBOUNCE>,
|
espgui::StaticText<TEXT_DPADDEBOUNCE>,
|
||||||
DPadDebounceAccessor,
|
DPadDebounceAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -108,43 +108,43 @@ using GametrakXMinChangeScreen = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_SETGAMETRAKXMIN>,
|
espgui::StaticText<TEXT_SETGAMETRAKXMIN>,
|
||||||
GametrakXMinAccessor,
|
GametrakXMinAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
using GametrakXMaxChangeScreen = espgui::makeComponent<
|
using GametrakXMaxChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_SETGAMETRAKXMAX>,
|
espgui::StaticText<TEXT_SETGAMETRAKXMAX>,
|
||||||
GametrakXMaxAccessor,
|
GametrakXMaxAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
using GametrakYMinChangeScreen = espgui::makeComponent<
|
using GametrakYMinChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_SETGAMETRAKYMIN>,
|
espgui::StaticText<TEXT_SETGAMETRAKYMIN>,
|
||||||
GametrakYMinAccessor,
|
GametrakYMinAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
using GametrakYMaxChangeScreen = espgui::makeComponent<
|
using GametrakYMaxChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_SETGAMETRAKYMAX>,
|
espgui::StaticText<TEXT_SETGAMETRAKYMAX>,
|
||||||
GametrakYMaxAccessor,
|
GametrakYMaxAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
using GametrakDistMinChangeScreen = espgui::makeComponent<
|
using GametrakDistMinChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_SETGAMETRAKDISTMIN>,
|
espgui::StaticText<TEXT_SETGAMETRAKDISTMIN>,
|
||||||
GametrakDistMinAccessor,
|
GametrakDistMinAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
using GametrakDistMaxChangeScreen = espgui::makeComponent<
|
using GametrakDistMaxChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_SETGAMETRAKDISTMAX>,
|
espgui::StaticText<TEXT_SETGAMETRAKDISTMAX>,
|
||||||
GametrakDistMaxAccessor,
|
GametrakDistMaxAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<BoardcomputerHardwareSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
#endif
|
#endif
|
||||||
} // namespace
|
} // namespace
|
||||||
|
@ -21,8 +21,8 @@ using FrontFreqChangeScreen = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<uint8_t>,
|
BobbyChangeValueDisplay<uint8_t>,
|
||||||
espgui::StaticText<TEXT_FRONTFREQ>,
|
espgui::StaticText<TEXT_FRONTFREQ>,
|
||||||
FrontFreqAccessor,
|
FrontFreqAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>,
|
||||||
espgui::SwitchScreenAction<BuzzerMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
struct FrontPatternAccessor : public espgui::RefAccessor<uint8_t> { uint8_t &getRef() const override { return controllers.front.command.buzzer.pattern; } };
|
struct FrontPatternAccessor : public espgui::RefAccessor<uint8_t> { uint8_t &getRef() const override { return controllers.front.command.buzzer.pattern; } };
|
||||||
@ -30,8 +30,8 @@ using FrontPatternChangeScreen = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<uint8_t>,
|
BobbyChangeValueDisplay<uint8_t>,
|
||||||
espgui::StaticText<TEXT_FRONTPATTERN>,
|
espgui::StaticText<TEXT_FRONTPATTERN>,
|
||||||
FrontPatternAccessor,
|
FrontPatternAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>,
|
||||||
espgui::SwitchScreenAction<BuzzerMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
struct BackFreqAccessor : public espgui::RefAccessor<uint8_t> { uint8_t &getRef() const override { return controllers.back.command.buzzer.freq; } };
|
struct BackFreqAccessor : public espgui::RefAccessor<uint8_t> { uint8_t &getRef() const override { return controllers.back.command.buzzer.freq; } };
|
||||||
@ -39,8 +39,8 @@ using BackFreqChangeScreen = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<uint8_t>,
|
BobbyChangeValueDisplay<uint8_t>,
|
||||||
espgui::StaticText<TEXT_BACKFREQ>,
|
espgui::StaticText<TEXT_BACKFREQ>,
|
||||||
BackFreqAccessor,
|
BackFreqAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>,
|
||||||
espgui::SwitchScreenAction<BuzzerMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
struct BackPatternAccessor : public espgui::RefAccessor<uint8_t> { uint8_t &getRef() const override { return controllers.back.command.buzzer.pattern; } };
|
struct BackPatternAccessor : public espgui::RefAccessor<uint8_t> { uint8_t &getRef() const override { return controllers.back.command.buzzer.pattern; } };
|
||||||
@ -48,37 +48,37 @@ using BackPatternChangeScreen = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<uint8_t>,
|
BobbyChangeValueDisplay<uint8_t>,
|
||||||
espgui::StaticText<TEXT_BACKPATTERN>,
|
espgui::StaticText<TEXT_BACKPATTERN>,
|
||||||
BackPatternAccessor,
|
BackPatternAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>,
|
||||||
espgui::SwitchScreenAction<BuzzerMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using ReverseBeepFreq0ChangeScreen = espgui::makeComponent<
|
using ReverseBeepFreq0ChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<uint8_t>,
|
BobbyChangeValueDisplay<uint8_t>,
|
||||||
espgui::StaticText<TEXT_REVERSEBEEPFREQ0>,
|
espgui::StaticText<TEXT_REVERSEBEEPFREQ0>,
|
||||||
ReverseBeepFreq0Accessor,
|
ReverseBeepFreq0Accessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>,
|
||||||
espgui::SwitchScreenAction<BuzzerMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>
|
||||||
>;
|
>;
|
||||||
using ReverseBeepFreq1ChangeScreen = espgui::makeComponent<
|
using ReverseBeepFreq1ChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<uint8_t>,
|
BobbyChangeValueDisplay<uint8_t>,
|
||||||
espgui::StaticText<TEXT_REVERSEBEEPFREQ1>,
|
espgui::StaticText<TEXT_REVERSEBEEPFREQ1>,
|
||||||
ReverseBeepFreq1Accessor,
|
ReverseBeepFreq1Accessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>,
|
||||||
espgui::SwitchScreenAction<BuzzerMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>
|
||||||
>;
|
>;
|
||||||
using ReverseBeepDuration0ChangeScreen = espgui::makeComponent<
|
using ReverseBeepDuration0ChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_REVERSEBEEPDURATION0>,
|
espgui::StaticText<TEXT_REVERSEBEEPDURATION0>,
|
||||||
ReverseBeepDuration0Accessor,
|
ReverseBeepDuration0Accessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>,
|
||||||
espgui::SwitchScreenAction<BuzzerMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>
|
||||||
>;
|
>;
|
||||||
using ReverseBeepDuration1ChangeScreen = espgui::makeComponent<
|
using ReverseBeepDuration1ChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_REVERSEBEEPDURATION1>,
|
espgui::StaticText<TEXT_REVERSEBEEPDURATION1>,
|
||||||
ReverseBeepDuration1Accessor,
|
ReverseBeepDuration1Accessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>,
|
||||||
espgui::SwitchScreenAction<BuzzerMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<BuzzerMenu>>
|
||||||
>;
|
>;
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
|
@ -24,8 +24,8 @@ using CloudTransmitTimeoutChangeScreen = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_CLOUDTRANSMITTIMEOUT>,
|
espgui::StaticText<TEXT_CLOUDTRANSMITTIMEOUT>,
|
||||||
CloudTransmitTimeoutAccessor,
|
CloudTransmitTimeoutAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<CloudSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<CloudSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<CloudSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<CloudSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
struct CloudBufferLengthText : public virtual espgui::TextInterface
|
struct CloudBufferLengthText : public virtual espgui::TextInterface
|
||||||
@ -41,16 +41,16 @@ using CloudCollectRateChangeDisplay = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_CLOUDCOLLECTRATE>,
|
espgui::StaticText<TEXT_CLOUDCOLLECTRATE>,
|
||||||
CloudCollectRateAccessor,
|
CloudCollectRateAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<CloudSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<CloudSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<CloudSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<CloudSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using CloudSendRateChangeDisplay = espgui::makeComponent<
|
using CloudSendRateChangeDisplay = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_CLOUDSENDRATE>,
|
espgui::StaticText<TEXT_CLOUDSENDRATE>,
|
||||||
CloudSendRateAccessor,
|
CloudSendRateAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<CloudSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<CloudSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<CloudSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<CloudSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
|
@ -24,38 +24,38 @@ using WheelDiameterMmChangeScreen = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_WHEELDIAMETERMM>,
|
espgui::StaticText<TEXT_WHEELDIAMETERMM>,
|
||||||
WheelDiameterMmAccessor,
|
WheelDiameterMmAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
using WheelDiameterInchChangeScreen = espgui::makeComponent<
|
using WheelDiameterInchChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<float>,
|
BobbyChangeValueDisplay<float>,
|
||||||
espgui::StaticText<TEXT_WHEELDIAMETERINCH>,
|
espgui::StaticText<TEXT_WHEELDIAMETERINCH>,
|
||||||
WheelDiameterInchAccessor,
|
WheelDiameterInchAccessor,
|
||||||
espgui::RatioNumberStep<float, std::ratio<1,10>>,
|
espgui::RatioNumberStep<float, std::ratio<1,10>>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
using NumMagnetPolesChangeScreen = espgui::makeComponent<
|
using NumMagnetPolesChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_NUMMAGNETPOLES>,
|
espgui::StaticText<TEXT_NUMMAGNETPOLES>,
|
||||||
NumMagnetPolesAccessor,
|
NumMagnetPolesAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
#ifdef FEATURE_CAN
|
#ifdef FEATURE_CAN
|
||||||
using CanTransmitTimeoutChangeScreen = espgui::makeComponent<
|
using CanTransmitTimeoutChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_CANTRANSMITTIMEOUT>,
|
espgui::StaticText<TEXT_CANTRANSMITTIMEOUT>,
|
||||||
CanTransmitTimeoutAccessor,
|
CanTransmitTimeoutAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
using CanReceiveTimeoutChangeScreen = espgui::makeComponent<
|
using CanReceiveTimeoutChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_CANRECEIVETIMEOUT>,
|
espgui::StaticText<TEXT_CANRECEIVETIMEOUT>,
|
||||||
CanReceiveTimeoutAccessor,
|
CanReceiveTimeoutAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<ControllerHardwareSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
#endif
|
#endif
|
||||||
} // namespace
|
} // namespace
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
#include "displays/menus/dynamicdebugmenu.h"
|
#include "displays/menus/dynamicdebugmenu.h"
|
||||||
#include "displays/menus/mainmenu.h"
|
#include "displays/menus/mainmenu.h"
|
||||||
#include "displays/menus/batterydebugmenu.h"
|
#include "displays/menus/batterydebugmenu.h"
|
||||||
#include "displays/popups/alertdisplay.cpp"
|
#include "bobbyerrorhandler.h"
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
class AlertAction : public espgui::MenuItem
|
class AlertAction : public espgui::MenuItem
|
||||||
@ -37,9 +37,7 @@ public:
|
|||||||
std::string text() const override { return "Open popup"; }
|
std::string text() const override { return "Open popup"; }
|
||||||
void triggered() override
|
void triggered() override
|
||||||
{
|
{
|
||||||
auto newDisplay = std::make_unique<AlertDisplay>("Das\nist\nein sehr langer text, der nicht in eine zeile passt", std::move(currentDisplay));
|
BobbyErrorHandler{}.errorOccured("Das\nist\nein sehr langer text, der nicht in eine zeile passt");
|
||||||
newDisplay->initOverlay();
|
|
||||||
currentDisplay = std::move(newDisplay);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
} // namespace
|
} // namespace
|
||||||
|
@ -37,78 +37,78 @@ using DefaultModeSmoothingChangeDisplay = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_SMOOTHINGVAL>,
|
espgui::StaticText<TEXT_SMOOTHINGVAL>,
|
||||||
DefaultModeSmoothingAccessor,
|
DefaultModeSmoothingAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<DefaultModeSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
using DefaultModeFwSmoothingLowerLimitChangeDisplay = espgui::makeComponent<
|
using DefaultModeFwSmoothingLowerLimitChangeDisplay = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_FWSMOOTHING_LIMIT>,
|
espgui::StaticText<TEXT_FWSMOOTHING_LIMIT>,
|
||||||
DefaultModeEnableFieldWeakSmoothingLowerLimitAccessor,
|
DefaultModeEnableFieldWeakSmoothingLowerLimitAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<DefaultModeSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
using DefaultModeFrontPercentageChangeDisplay = espgui::makeComponent<
|
using DefaultModeFrontPercentageChangeDisplay = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_FRONTPERCENTAGE>,
|
espgui::StaticText<TEXT_FRONTPERCENTAGE>,
|
||||||
DefaultModeFrontPercentageAccessor,
|
DefaultModeFrontPercentageAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<DefaultModeSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
using DefaultModeBackPercentageChangeDisplay = espgui::makeComponent<
|
using DefaultModeBackPercentageChangeDisplay = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_BACKPERCENTAGE>,
|
espgui::StaticText<TEXT_BACKPERCENTAGE>,
|
||||||
DefaultModeBackPercentageAccessor,
|
DefaultModeBackPercentageAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<DefaultModeSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
using DefaultModeAddSchwelleChangeDisplay = espgui::makeComponent<
|
using DefaultModeAddSchwelleChangeDisplay = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_ADDSCHWELLE>,
|
espgui::StaticText<TEXT_ADDSCHWELLE>,
|
||||||
DefaultModeAddSchwelleAccessor,
|
DefaultModeAddSchwelleAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<DefaultModeSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
using DefaultModeGas1WertChangeDisplay = espgui::makeComponent<
|
using DefaultModeGas1WertChangeDisplay = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_ADDGASVAL>,
|
espgui::StaticText<TEXT_ADDGASVAL>,
|
||||||
DefaultModeGas1WertAccessor,
|
DefaultModeGas1WertAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<DefaultModeSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
using DefaultModeGas2WertChangeDisplay = espgui::makeComponent<
|
using DefaultModeGas2WertChangeDisplay = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_SUBGASVAL>,
|
espgui::StaticText<TEXT_SUBGASVAL>,
|
||||||
DefaultModeGas2WertAccessor,
|
DefaultModeGas2WertAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<DefaultModeSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
using DefaultModeBrems1WertChangeDisplay = espgui::makeComponent<
|
using DefaultModeBrems1WertChangeDisplay = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_ADDBRAKEVAL>,
|
espgui::StaticText<TEXT_ADDBRAKEVAL>,
|
||||||
DefaultModeBrems1WertAccessor,
|
DefaultModeBrems1WertAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<DefaultModeSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
using DefaultModeBrems2WertChangeDisplay = espgui::makeComponent<
|
using DefaultModeBrems2WertChangeDisplay = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_SUBBRAKEVAL>,
|
espgui::StaticText<TEXT_SUBBRAKEVAL>,
|
||||||
DefaultModeBrems2WertAccessor,
|
DefaultModeBrems2WertAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<DefaultModeSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
using DefaultModeHybridActivationLimitChangeDisplay = espgui::makeComponent<
|
using DefaultModeHybridActivationLimitChangeDisplay = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_HYBRIDACTIVATIONLIMIT>,
|
espgui::StaticText<TEXT_HYBRIDACTIVATIONLIMIT>,
|
||||||
DefaultModeHybridActivationLimitAccessor,
|
DefaultModeHybridActivationLimitAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<DefaultModeSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
using DefaultModeHybridDeactivationLimitChangeDisplay = espgui::makeComponent<
|
using DefaultModeHybridDeactivationLimitChangeDisplay = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_HYBRIDDEACTIVATIONLIMIT>,
|
espgui::StaticText<TEXT_HYBRIDDEACTIVATIONLIMIT>,
|
||||||
DefaultModeHybridDeactivationLimitAccessor,
|
DefaultModeHybridDeactivationLimitAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<DefaultModeSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
|
@ -21,8 +21,8 @@ using HandBremsTriggerTimeoutChangeValueDisplay = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<uint16_t>,
|
BobbyChangeValueDisplay<uint16_t>,
|
||||||
espgui::StaticText<TEXT_HANDBREMSE_TRIGGERTIMEOUT>,
|
espgui::StaticText<TEXT_HANDBREMSE_TRIGGERTIMEOUT>,
|
||||||
HandbremsTimeoutAccessor,
|
HandbremsTimeoutAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<HandbremsSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<HandbremsSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<HandbremsSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<HandbremsSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
using HandBremsModeChangeValueDisplay = espgui::makeComponent<
|
using HandBremsModeChangeValueDisplay = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<HandbremseMode>,
|
BobbyChangeValueDisplay<HandbremseMode>,
|
||||||
|
@ -33,8 +33,8 @@ using LarsmModeIterationsChangeDisplay = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<uint8_t>,
|
BobbyChangeValueDisplay<uint8_t>,
|
||||||
espgui::StaticText<TEXT_SETITERATIONS>,
|
espgui::StaticText<TEXT_SETITERATIONS>,
|
||||||
LarsmModeIterationsAccessor,
|
LarsmModeIterationsAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LarsmModeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LarsmModeSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<LarsmModeSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<LarsmModeSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
|
@ -30,72 +30,72 @@ using LedsCountChangeScreen = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_LEDSCOUNT>,
|
espgui::StaticText<TEXT_LEDSCOUNT>,
|
||||||
LedsCountAccessor,
|
LedsCountAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
|
||||||
espgui::SwitchScreenAction<LedstripMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using CenterOffsetChangeScreen = espgui::makeComponent<
|
using CenterOffsetChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_CENTEROFFSET>,
|
espgui::StaticText<TEXT_CENTEROFFSET>,
|
||||||
CenterOffsetAccessor,
|
CenterOffsetAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
|
||||||
espgui::SwitchScreenAction<LedstripMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using SmallOffsetChangeScreen = espgui::makeComponent<
|
using SmallOffsetChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_SMALLOFFSET>,
|
espgui::StaticText<TEXT_SMALLOFFSET>,
|
||||||
SmallOffsetAccessor,
|
SmallOffsetAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
|
||||||
espgui::SwitchScreenAction<LedstripMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using BigOffsetChangeScreen = espgui::makeComponent<
|
using BigOffsetChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_BIGOFFSET>,
|
espgui::StaticText<TEXT_BIGOFFSET>,
|
||||||
BigOffsetAccessor,
|
BigOffsetAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
|
||||||
espgui::SwitchScreenAction<LedstripMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using DeziampereChangeScreen = espgui::makeComponent<
|
using DeziampereChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_LEDSTRIP_MILLIAMP>,
|
espgui::StaticText<TEXT_LEDSTRIP_MILLIAMP>,
|
||||||
DeziampereAccessor,
|
DeziampereAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
|
||||||
espgui::SwitchScreenAction<LedstripMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using StVOOffsetChangeScreen = espgui::makeComponent<
|
using StVOOffsetChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_STVO_FRONTOFFSET>,
|
espgui::StaticText<TEXT_STVO_FRONTOFFSET>,
|
||||||
LedsStVOFrontOffsetAccessor,
|
LedsStVOFrontOffsetAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
|
||||||
espgui::SwitchScreenAction<LedstripMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using StVOLengthChangeScreen = espgui::makeComponent<
|
using StVOLengthChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_STVO_FRONTLENGTH>,
|
espgui::StaticText<TEXT_STVO_FRONTLENGTH>,
|
||||||
LedsStVOFrontLengthAccessor,
|
LedsStVOFrontLengthAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
|
||||||
espgui::SwitchScreenAction<LedstripMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using animationMultiplierChangeScreen = espgui::makeComponent<
|
using animationMultiplierChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_ANIMATION_MULTIPLIER>,
|
espgui::StaticText<TEXT_ANIMATION_MULTIPLIER>,
|
||||||
AnimationMultiplierAccessor,
|
AnimationMultiplierAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
|
||||||
espgui::SwitchScreenAction<LedstripMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using ledstripBrightnessChangeScreen = espgui::makeComponent<
|
using ledstripBrightnessChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<uint8_t>,
|
BobbyChangeValueDisplay<uint8_t>,
|
||||||
espgui::StaticText<TEXT_LEDSTRIP_BRIGHTNESS>,
|
espgui::StaticText<TEXT_LEDSTRIP_BRIGHTNESS>,
|
||||||
LedstripBrightnessAccessor,
|
LedstripBrightnessAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
|
||||||
espgui::SwitchScreenAction<LedstripMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
class AllCustomLedsOffAction : public virtual espgui::ActionInterface
|
class AllCustomLedsOffAction : public virtual espgui::ActionInterface
|
||||||
|
@ -18,43 +18,43 @@ using IMotMaxChangeScreen = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_IMOTMAX>,
|
espgui::StaticText<TEXT_IMOTMAX>,
|
||||||
IMotMaxAccessor,
|
IMotMaxAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<LimitsSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
using IDcMaxChangeScreen = espgui::makeComponent<
|
using IDcMaxChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_IDCMAX>,
|
espgui::StaticText<TEXT_IDCMAX>,
|
||||||
IDcMaxAccessor,
|
IDcMaxAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<LimitsSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
using NMotMaxKmhChangeScreen = espgui::makeComponent<
|
using NMotMaxKmhChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_NMOTMAXKMH>,
|
espgui::StaticText<TEXT_NMOTMAXKMH>,
|
||||||
NMotMaxKmhAccessor,
|
NMotMaxKmhAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<LimitsSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
using NMotMaxRpmChangeScreen = espgui::makeComponent<
|
using NMotMaxRpmChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_NMOTMAX>,
|
espgui::StaticText<TEXT_NMOTMAX>,
|
||||||
NMotMaxRpmAccessor,
|
NMotMaxRpmAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<LimitsSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
using FieldWeakMaxChangeScreen = espgui::makeComponent<
|
using FieldWeakMaxChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_FIELDWEAKMAX>,
|
espgui::StaticText<TEXT_FIELDWEAKMAX>,
|
||||||
FieldWeakMaxAccessor,
|
FieldWeakMaxAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<LimitsSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
using PhaseAdvMaxChangeScreen = espgui::makeComponent<
|
using PhaseAdvMaxChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_PHASEADVMAX>,
|
espgui::StaticText<TEXT_PHASEADVMAX>,
|
||||||
PhaseAdvMaxAccessor,
|
PhaseAdvMaxAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<LimitsSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<LimitsSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
|
@ -20,32 +20,32 @@ using LockscreenPinDigit0ChangeScreen = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<int8_t>,
|
BobbyChangeValueDisplay<int8_t>,
|
||||||
espgui::StaticText<TEXT_PINDIGIT0>,
|
espgui::StaticText<TEXT_PINDIGIT0>,
|
||||||
LockscreenPinDigitAccessor<0>,
|
LockscreenPinDigitAccessor<0>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<LockscreenSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using LockscreenPinDigit1ChangeScreen = espgui::makeComponent<
|
using LockscreenPinDigit1ChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int8_t>,
|
BobbyChangeValueDisplay<int8_t>,
|
||||||
espgui::StaticText<TEXT_PINDIGIT1>,
|
espgui::StaticText<TEXT_PINDIGIT1>,
|
||||||
LockscreenPinDigitAccessor<1>,
|
LockscreenPinDigitAccessor<1>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<LockscreenSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using LockscreenPinDigit2ChangeScreen = espgui::makeComponent<
|
using LockscreenPinDigit2ChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int8_t>,
|
BobbyChangeValueDisplay<int8_t>,
|
||||||
espgui::StaticText<TEXT_PINDIGIT2>,
|
espgui::StaticText<TEXT_PINDIGIT2>,
|
||||||
LockscreenPinDigitAccessor<2>,
|
LockscreenPinDigitAccessor<2>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<LockscreenSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using LockscreenPinDigit3ChangeScreen = espgui::makeComponent<
|
using LockscreenPinDigit3ChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int8_t>,
|
BobbyChangeValueDisplay<int8_t>,
|
||||||
espgui::StaticText<TEXT_PINDIGIT3>,
|
espgui::StaticText<TEXT_PINDIGIT3>,
|
||||||
LockscreenPinDigitAccessor<3>,
|
LockscreenPinDigitAccessor<3>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<LockscreenSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<LockscreenSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ class GPIOAccessor : public virtual espgui::AccessorInterface<bool>
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
bool getValue() const override { return digitalRead(PIN); }
|
bool getValue() const override { return digitalRead(PIN); }
|
||||||
void setValue(bool value) override { digitalWrite(PIN, value ? HIGH : LOW); }
|
espgui::AccessorInterface<bool>::setter_result_t setValue(bool value) override { digitalWrite(PIN, value ? HIGH : LOW); return {}; }
|
||||||
};
|
};
|
||||||
|
|
||||||
using Mosfet0Accessor = GPIOAccessor<PINS_MOSFET0>;
|
using Mosfet0Accessor = GPIOAccessor<PINS_MOSFET0>;
|
||||||
|
@ -17,16 +17,16 @@ using MotortestMultiplikatorChangeDisplay = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<uint8_t>,
|
BobbyChangeValueDisplay<uint8_t>,
|
||||||
espgui::StaticText<TEXT_MOTORTESTMULTIPLIKATOR>,
|
espgui::StaticText<TEXT_MOTORTESTMULTIPLIKATOR>,
|
||||||
MotortestModeMultiplikatorAccessor,
|
MotortestModeMultiplikatorAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<MotortestModeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<MotortestModeSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<MotortestModeSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<MotortestModeSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using MotortestMaxPwmChangeDisplay = espgui::makeComponent<
|
using MotortestMaxPwmChangeDisplay = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<uint16_t>,
|
BobbyChangeValueDisplay<uint16_t>,
|
||||||
espgui::StaticText<TEXT_MOTORTESTMAXPWM>,
|
espgui::StaticText<TEXT_MOTORTESTMAXPWM>,
|
||||||
MotortestMaxPwmAccessor,
|
MotortestMaxPwmAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<MotortestModeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<MotortestModeSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<MotortestModeSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<MotortestModeSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ namespace {
|
|||||||
struct BacklightAccessor : public virtual espgui::AccessorInterface<bool>
|
struct BacklightAccessor : public virtual espgui::AccessorInterface<bool>
|
||||||
{
|
{
|
||||||
bool getValue() const override { return digitalRead(PINS_LEDBACKLIGHT) != ledBacklightInverted; }
|
bool getValue() const override { return digitalRead(PINS_LEDBACKLIGHT) != ledBacklightInverted; }
|
||||||
void setValue(bool value) override { digitalWrite(PINS_LEDBACKLIGHT, value != ledBacklightInverted); }
|
espgui::AccessorInterface<bool>::setter_result_t setValue(bool value) override { digitalWrite(PINS_LEDBACKLIGHT, value != ledBacklightInverted); return {}; }
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
struct FrontLedAccessor : public espgui::RefAccessor<bool> { bool &getRef() const override { return controllers.front.command.led; } };
|
struct FrontLedAccessor : public espgui::RefAccessor<bool> { bool &getRef() const override { return controllers.front.command.led; } };
|
||||||
|
@ -21,8 +21,8 @@ using TempomatModeCruiseMotTgtChangeDisplay = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_NCRUISEMOTTGT>,
|
espgui::StaticText<TEXT_NCRUISEMOTTGT>,
|
||||||
TempomatModeCruiseMotTgtAccessor,
|
TempomatModeCruiseMotTgtAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<TempomatModeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<TempomatModeSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<TempomatModeSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<TempomatModeSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using TempomatModeModelModeChangeScreen = espgui::makeComponent<
|
using TempomatModeModelModeChangeScreen = espgui::makeComponent<
|
||||||
|
@ -16,8 +16,8 @@ using StatsUpdateRateChangeDisplay = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_STATSUPDATERATE>,
|
espgui::StaticText<TEXT_STATSUPDATERATE>,
|
||||||
StatsUpdateRateAccessor,
|
StatsUpdateRateAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<TimersMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<TimersMenu>>,
|
||||||
espgui::SwitchScreenAction<TimersMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<TimersMenu>>
|
||||||
>;
|
>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -48,8 +48,8 @@ using TimezoneOffsetChangeDisplay = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<int32_t>,
|
BobbyChangeValueDisplay<int32_t>,
|
||||||
espgui::StaticText<TEXT_OFFSET>,
|
espgui::StaticText<TEXT_OFFSET>,
|
||||||
TimezoneOffsetAccessor,
|
TimezoneOffsetAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<TimeSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using DaylightSavingModeChangeDisplay = espgui::makeComponent<
|
using DaylightSavingModeChangeDisplay = espgui::makeComponent<
|
||||||
@ -73,8 +73,8 @@ using TimeSyncIntervalChangeDisplay = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<int32_t>,
|
BobbyChangeValueDisplay<int32_t>,
|
||||||
espgui::StaticText<TEXT_NTPINTERVAL>,
|
espgui::StaticText<TEXT_NTPINTERVAL>,
|
||||||
TimeSyncIntervalAccessor,
|
TimeSyncIntervalAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<TimeSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
class NtpSyncStatusText : public virtual espgui::TextInterface
|
class NtpSyncStatusText : public virtual espgui::TextInterface
|
||||||
|
@ -21,8 +21,8 @@ using UdpCloudSendRateChangeDisplay = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_UDPSENDRATE>,
|
espgui::StaticText<TEXT_UDPSENDRATE>,
|
||||||
UdpCloudSendIntervalAccessor,
|
UdpCloudSendIntervalAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<UdpCloudSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<UdpCloudSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<UdpCloudSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<UdpCloudSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
|
@ -55,8 +55,8 @@ using ApChannelChangeScreen = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<uint8_t>,
|
BobbyChangeValueDisplay<uint8_t>,
|
||||||
espgui::StaticText<TEXT_CHANNEL>,
|
espgui::StaticText<TEXT_CHANNEL>,
|
||||||
WifiApChannelAccessor,
|
WifiApChannelAccessor,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<WifiApSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<WifiApSettingsMenu>>,
|
||||||
espgui::SwitchScreenAction<WifiApSettingsMenu>
|
espgui::BackActionInterface<espgui::SwitchScreenAction<WifiApSettingsMenu>>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using ApAuthmodeChangeScreen = espgui::makeComponent<
|
using ApAuthmodeChangeScreen = espgui::makeComponent<
|
||||||
|
@ -1,105 +0,0 @@
|
|||||||
#include "alertdisplay.h"
|
|
||||||
|
|
||||||
// 3rdparty lib includes
|
|
||||||
#include <tftinstance.h>
|
|
||||||
#include <screenmanager.h>
|
|
||||||
#include <cppmacros.h>
|
|
||||||
|
|
||||||
AlertDisplay::AlertDisplay(std::string &&message, std::unique_ptr<Display> &&lastDisplay) :
|
|
||||||
m_message{std::move(message)}, m_lastDisplay{std::move(lastDisplay)}
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void AlertDisplay::initScreen()
|
|
||||||
{
|
|
||||||
m_lastDisplay->initScreen();
|
|
||||||
|
|
||||||
initOverlay();
|
|
||||||
}
|
|
||||||
|
|
||||||
void AlertDisplay::buttonPressed(espgui::Button button)
|
|
||||||
{
|
|
||||||
Base::buttonPressed(button);
|
|
||||||
|
|
||||||
switch (button)
|
|
||||||
{
|
|
||||||
using espgui::Button;
|
|
||||||
case Button::Left:
|
|
||||||
case Button::Right:
|
|
||||||
closeOverlay();
|
|
||||||
break;
|
|
||||||
default:;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void AlertDisplay::initOverlay()
|
|
||||||
{
|
|
||||||
constexpr auto leftMargin = 20;
|
|
||||||
constexpr auto rightMargin = leftMargin;
|
|
||||||
constexpr auto topMargin = 50;
|
|
||||||
constexpr auto bottomMargin = topMargin;
|
|
||||||
|
|
||||||
const auto width = espgui::tft.width() - leftMargin - rightMargin;
|
|
||||||
const auto height = espgui::tft.height() - topMargin - bottomMargin;
|
|
||||||
const auto right = espgui::tft.width() - rightMargin;
|
|
||||||
const auto bottom = espgui::tft.height() - bottomMargin;
|
|
||||||
|
|
||||||
CPP_UNUSED(right)
|
|
||||||
|
|
||||||
//espgui::tft.drawRect(leftMargin, topMargin, espgui::tft.width() - leftMargin - rightMargin, espgui::tft.height() - topMargin - bottomMargin, TFT_WHITE);
|
|
||||||
//espgui::tft.fillRect(leftMargin + 1, topMargin + 1, espgui::tft.width() - leftMargin - rightMargin - 2, espgui::tft.height() - topMargin - bottomMargin - 2, TFT_BLACK);
|
|
||||||
|
|
||||||
espgui::tft.drawSunkenRect(leftMargin, topMargin, width, height,
|
|
||||||
color565(240, 240, 240),
|
|
||||||
color565(100, 100, 100),
|
|
||||||
color565(30, 30, 30));
|
|
||||||
|
|
||||||
espgui::tft.setTextColor(TFT_WHITE, color565(30, 30, 30));
|
|
||||||
|
|
||||||
int x = leftMargin + 5;
|
|
||||||
int y = topMargin + 5;
|
|
||||||
for (char c : m_message)
|
|
||||||
{
|
|
||||||
if (c == '\n' || x > espgui::tft.width() - rightMargin - 10)
|
|
||||||
{
|
|
||||||
x = leftMargin + 5;
|
|
||||||
y += espgui::tft.fontHeight(4);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (c != '\n')
|
|
||||||
{
|
|
||||||
const auto addedWidth = espgui::tft.drawChar(espgui::tft.decodeUTF8(c), x, y, 4);
|
|
||||||
x += addedWidth;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (y >= espgui::tft.height() - bottomMargin)
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
espgui::tft.setTextColor(TFT_BLACK, color565(170, 170, 170));
|
|
||||||
|
|
||||||
espgui::tft.drawSunkenRect(leftMargin + 15, bottom - 40,
|
|
||||||
(width - 15 - 10 - 15) / 2,
|
|
||||||
30,
|
|
||||||
color565(240, 240, 240),
|
|
||||||
color565(100, 100, 100),
|
|
||||||
color565(170, 170, 170));
|
|
||||||
|
|
||||||
espgui::tft.drawString("Yes", leftMargin + 18, bottom - 37);
|
|
||||||
|
|
||||||
espgui::tft.drawSunkenRect(leftMargin + 15 + ((width - 15 - 30 - 15) / 2) + 15, bottom - 40,
|
|
||||||
(width - 15 - 10 - 15) / 2,
|
|
||||||
30,
|
|
||||||
color565(240, 240, 240),
|
|
||||||
color565(100, 100, 100),
|
|
||||||
color565(170, 170, 170));
|
|
||||||
|
|
||||||
espgui::tft.drawString("No", leftMargin + 18 + ((width - 15 - 30 - 15) / 2) + 15 + 1, bottom - 37);
|
|
||||||
}
|
|
||||||
|
|
||||||
void AlertDisplay::closeOverlay()
|
|
||||||
{
|
|
||||||
auto guard = std::move(espgui::currentDisplay);
|
|
||||||
espgui::currentDisplay = std::move(m_lastDisplay);
|
|
||||||
espgui::currentDisplay->initScreen();
|
|
||||||
}
|
|
@ -1,30 +0,0 @@
|
|||||||
#pragma once
|
|
||||||
|
|
||||||
// system includes
|
|
||||||
#include <memory>
|
|
||||||
|
|
||||||
// local includes
|
|
||||||
#include "displays/bobbydisplay.h"
|
|
||||||
|
|
||||||
class AlertDisplay : public BobbyDisplay
|
|
||||||
{
|
|
||||||
using Base = BobbyDisplay;
|
|
||||||
|
|
||||||
public:
|
|
||||||
AlertDisplay(std::string &&message, std::unique_ptr<Display> &&lastDisplay);
|
|
||||||
|
|
||||||
//void start() override;
|
|
||||||
void initScreen() override;
|
|
||||||
//void update() override;
|
|
||||||
//void redraw() override;
|
|
||||||
//void stop() override;
|
|
||||||
|
|
||||||
void buttonPressed(espgui::Button button) override;
|
|
||||||
|
|
||||||
void initOverlay();
|
|
||||||
void closeOverlay();
|
|
||||||
|
|
||||||
private:
|
|
||||||
std::string m_message;
|
|
||||||
std::unique_ptr<Display> m_lastDisplay;
|
|
||||||
};
|
|
Reference in New Issue
Block a user