Add setting to enable/disable remote control in default mode

This commit is contained in:
2022-09-09 00:14:19 +02:00
parent 6a2720c437
commit dd3608a09d
5 changed files with 7 additions and 1 deletions

View File

@@ -132,6 +132,7 @@ struct UdpUseStdStringAccessor : public NewSettingsAccessor<bool> { ConfigWrappe
// DefaultMode // DefaultMode
struct DefaultModeModelModeAccessor : public RefAccessorSaveSettings<UnifiedModelMode> { UnifiedModelMode &getRef() const override { return profileSettings.defaultMode.modelMode; } }; struct DefaultModeModelModeAccessor : public RefAccessorSaveSettings<UnifiedModelMode> { UnifiedModelMode &getRef() const override { return profileSettings.defaultMode.modelMode; } };
struct DefaultModeAllowRemoteControlAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return profileSettings.defaultMode.allowRemoteControl; } };
struct DefaultModeSquareGasAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return profileSettings.defaultMode.squareGas; } }; struct DefaultModeSquareGasAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return profileSettings.defaultMode.squareGas; } };
struct DefaultModeSquareBremsAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return profileSettings.defaultMode.squareBrems; } }; struct DefaultModeSquareBremsAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return profileSettings.defaultMode.squareBrems; } };

View File

@@ -20,6 +20,7 @@
namespace { namespace {
constexpr char TEXT_DEFAULTMODESETTIGNS[] = "Default mode settings"; constexpr char TEXT_DEFAULTMODESETTIGNS[] = "Default mode settings";
constexpr char TEXT_MODELMODE[] = "Model mode"; constexpr char TEXT_MODELMODE[] = "Model mode";
constexpr char TEXT_ALLOWREMOTECONTROL[] = "Allow remote control";
constexpr char TEXT_SQUAREGAS[] = "Square gas"; constexpr char TEXT_SQUAREGAS[] = "Square gas";
constexpr char TEXT_SQUAREBREMS[] = "Square brems"; constexpr char TEXT_SQUAREBREMS[] = "Square brems";
constexpr char TEXT_ENABLESMOOTHINGUP[] = "Enable up smoothing"; constexpr char TEXT_ENABLESMOOTHINGUP[] = "Enable up smoothing";
@@ -120,6 +121,7 @@ using namespace espgui;
DefaultModeSettingsMenu::DefaultModeSettingsMenu() DefaultModeSettingsMenu::DefaultModeSettingsMenu()
{ {
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MODELMODE>, PushScreenAction<DefaultModeModelModeChangeDisplay>>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MODELMODE>, PushScreenAction<DefaultModeModelModeChangeDisplay>>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ALLOWREMOTECONTROL>, BobbyCheckbox, DefaultModeAllowRemoteControlAccessor>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SQUAREGAS>, BobbyCheckbox, DefaultModeSquareGasAccessor>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SQUAREGAS>, BobbyCheckbox, DefaultModeSquareGasAccessor>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SQUAREBREMS>, BobbyCheckbox, DefaultModeSquareBremsAccessor>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SQUAREBREMS>, BobbyCheckbox, DefaultModeSquareBremsAccessor>>();
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLESMOOTHINGUP>, BobbyCheckbox, DefaultModeEnableSmoothingUpAccessor>>(); constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLESMOOTHINGUP>, BobbyCheckbox, DefaultModeEnableSmoothingUpAccessor>>();

View File

@@ -261,7 +261,7 @@ void DefaultMode::update()
} }
} }
if (m_remoteCommand && espchrono::ago(m_timestamp) < 500ms) if (profileSettings.defaultMode.allowRemoteControl && m_remoteCommand && espchrono::ago(m_timestamp) < 500ms)
{ {
controllers.front.command.left.pwm += m_remoteCommand->frontLeft; controllers.front.command.left.pwm += m_remoteCommand->frontLeft;
controllers.front.command.right.pwm += m_remoteCommand->frontRight; controllers.front.command.right.pwm += m_remoteCommand->frontRight;

View File

@@ -58,6 +58,7 @@ constexpr ProfileSettings::ControllerHardware spinnerControllerHardware {
constexpr ProfileSettings::DefaultMode defaultDefaultMode { constexpr ProfileSettings::DefaultMode defaultDefaultMode {
.modelMode = UnifiedModelMode::FocTorque, // profileSetting .modelMode = UnifiedModelMode::FocTorque, // profileSetting
.allowRemoteControl = true,
.squareGas = true, .squareGas = true,
.squareBrems = true, .squareBrems = true,
.enableSmoothingUp = true, // profileSetting .enableSmoothingUp = true, // profileSetting

View File

@@ -24,6 +24,7 @@ struct ProfileSettings
struct DefaultMode { struct DefaultMode {
UnifiedModelMode modelMode; UnifiedModelMode modelMode;
bool allowRemoteControl;
bool squareGas; bool squareGas;
bool squareBrems; bool squareBrems;
bool enableSmoothingUp; bool enableSmoothingUp;
@@ -110,6 +111,7 @@ void ProfileSettings::executeForEveryProfileSetting(T &&callable)
callable("default.brems1_", defaultMode.brems1_wert); callable("default.brems1_", defaultMode.brems1_wert);
callable("default.brems2_", defaultMode.brems2_wert); callable("default.brems2_", defaultMode.brems2_wert);
callable("default.squareG", defaultMode.squareGas); callable("default.squareG", defaultMode.squareGas);
callable("default.alwRemo", defaultMode.allowRemoteControl);
callable("default.squareB", defaultMode.squareBrems); callable("default.squareB", defaultMode.squareBrems);
callable("tempoma.modelMo", tempomatMode.modelMode); callable("tempoma.modelMo", tempomatMode.modelMode);