Moved buzzer settings into newSettings
This commit is contained in:
@ -21,11 +21,31 @@ struct AutoConnectBmsAccessor : public RefAccessorSaveSettings<bool> { bool &get
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Buzzer
|
// Buzzer
|
||||||
struct ReverseBeepAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return settings.buzzer.reverseBeep; } };
|
struct ReverseBeepAccessor : public virtual espgui::AccessorInterface<bool>
|
||||||
struct ReverseBeepFreq0Accessor : public RefAccessorSaveSettings<uint8_t> { uint8_t &getRef() const override { return settings.buzzer.reverseBeepFreq0; } };
|
{
|
||||||
struct ReverseBeepFreq1Accessor : public RefAccessorSaveSettings<uint8_t> { uint8_t &getRef() const override { return settings.buzzer.reverseBeepFreq1; } };
|
bool getValue() const override { return configs.reverseBeep.value; }
|
||||||
struct ReverseBeepDuration0Accessor : public RefAccessorSaveSettings<int16_t> { int16_t &getRef() const override { return settings.buzzer.reverseBeepDuration0; } };
|
void setValue(bool value) override { configs.write_config(configs.reverseBeep, value); }
|
||||||
struct ReverseBeepDuration1Accessor : public RefAccessorSaveSettings<int16_t> { int16_t &getRef() const override { return settings.buzzer.reverseBeepDuration1; } };
|
};
|
||||||
|
struct ReverseBeepFreq0Accessor : public virtual espgui::AccessorInterface<uint8_t>
|
||||||
|
{
|
||||||
|
uint8_t getValue() const override { return configs.reverseBeepFreq0.value; }
|
||||||
|
void setValue(uint8_t value) override { configs.write_config(configs.reverseBeepFreq0, value); }
|
||||||
|
};
|
||||||
|
struct ReverseBeepFreq1Accessor : public virtual espgui::AccessorInterface<uint8_t>
|
||||||
|
{
|
||||||
|
uint8_t getValue() const override { return configs.reverseBeepFreq1.value; }
|
||||||
|
void setValue(uint8_t value) override { configs.write_config(configs.reverseBeepFreq1, value); }
|
||||||
|
};
|
||||||
|
struct ReverseBeepDuration0Accessor : public virtual espgui::AccessorInterface<int16_t>
|
||||||
|
{
|
||||||
|
int16_t getValue() const override { return configs.reverseBeepDuration0.value; }
|
||||||
|
void setValue(int16_t value) override { configs.write_config(configs.reverseBeepDuration0, value); }
|
||||||
|
};
|
||||||
|
struct ReverseBeepDuration1Accessor : public virtual espgui::AccessorInterface<int16_t>
|
||||||
|
{
|
||||||
|
int16_t getValue() const override { return configs.reverseBeepDuration1.value; }
|
||||||
|
void setValue(int16_t value) override { configs.write_config(configs.reverseBeepDuration1, value); }
|
||||||
|
};
|
||||||
|
|
||||||
// Limits
|
// Limits
|
||||||
struct IMotMaxAccessor : public RefAccessorSaveSettings<int16_t> { int16_t &getRef() const override { return settings.limits.iMotMax; } };
|
struct IMotMaxAccessor : public RefAccessorSaveSettings<int16_t> { int16_t &getRef() const override { return settings.limits.iMotMax; } };
|
||||||
|
@ -78,10 +78,16 @@ public:
|
|||||||
ConfigWrapper<uint8_t> wifiApChannel {1, DoReset, {}, "wifiApChannel" };
|
ConfigWrapper<uint8_t> wifiApChannel {1, DoReset, {}, "wifiApChannel" };
|
||||||
ConfigWrapper<wifi_auth_mode_t> wifiApAuthmode{WIFI_AUTH_WPA2_PSK, DoReset, {}, "wifiApAuthmode" };
|
ConfigWrapper<wifi_auth_mode_t> wifiApAuthmode{WIFI_AUTH_WPA2_PSK, DoReset, {}, "wifiApAuthmode" };
|
||||||
|
|
||||||
ConfigWrapper<bool> canBusResetOnError {false, DoReset, {}, "canBusRstErr" };
|
ConfigWrapper<bool> canBusResetOnError {false, DoReset, {}, "canBusRstErr" };
|
||||||
|
|
||||||
ConfigWrapper<std::string> bluetoothName {defaultHostname, DoReset, StringMinMaxSize<4, 32>, "bluetoothName" };
|
ConfigWrapper<std::string> bluetoothName {defaultHostname, DoReset, StringMinMaxSize<4, 32>, "bluetoothName" };
|
||||||
|
|
||||||
|
ConfigWrapper<bool> reverseBeep {false, DoReset, {}, "reverseBeep" };
|
||||||
|
ConfigWrapper<uint8_t> reverseBeepFreq0 {3, DoReset, {}, "revBeepFreq0" };
|
||||||
|
ConfigWrapper<uint8_t> reverseBeepFreq1 {0, DoReset, {}, "revBeepFreq1" };
|
||||||
|
ConfigWrapper<int16_t> reverseBeepDuration0{500, DoReset, {}, "revBeepDur0" };
|
||||||
|
ConfigWrapper<int16_t> reverseBeepDuration1{500, DoReset, {}, "revBeepDur1" };
|
||||||
|
|
||||||
#define NEW_SETTINGS(x) \
|
#define NEW_SETTINGS(x) \
|
||||||
x(baseMacAddressOverride) \
|
x(baseMacAddressOverride) \
|
||||||
x(hostname) \
|
x(hostname) \
|
||||||
@ -198,7 +204,13 @@ public:
|
|||||||
\
|
\
|
||||||
x(canBusResetOnError) \
|
x(canBusResetOnError) \
|
||||||
\
|
\
|
||||||
//x(bluetoothName)
|
x(bluetoothName) \
|
||||||
|
\
|
||||||
|
x(reverseBeep) \
|
||||||
|
x(reverseBeepFreq0) \
|
||||||
|
x(reverseBeepFreq1) \
|
||||||
|
x(reverseBeepDuration0) \
|
||||||
|
//x(reverseBeepDuration1)
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
void callForEveryConfig(T &&callback)
|
void callForEveryConfig(T &&callback)
|
||||||
@ -206,7 +218,7 @@ public:
|
|||||||
#define HELPER(x) callback(x);
|
#define HELPER(x) callback(x);
|
||||||
NEW_SETTINGS(HELPER)
|
NEW_SETTINGS(HELPER)
|
||||||
#undef HELPER
|
#undef HELPER
|
||||||
callback(bluetoothName);
|
callback(reverseBeepDuration1);
|
||||||
}
|
}
|
||||||
|
|
||||||
auto getAllConfigParams()
|
auto getAllConfigParams()
|
||||||
@ -215,7 +227,7 @@ public:
|
|||||||
#define HELPER(x) std::ref<ConfigWrapperInterface>(x),
|
#define HELPER(x) std::ref<ConfigWrapperInterface>(x),
|
||||||
NEW_SETTINGS(HELPER)
|
NEW_SETTINGS(HELPER)
|
||||||
#undef HELPER
|
#undef HELPER
|
||||||
std::ref<ConfigWrapperInterface>(bluetoothName)
|
std::ref<ConfigWrapperInterface>(reverseBeepDuration1)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -26,14 +26,6 @@ constexpr Settings::Limits defaultLimits {
|
|||||||
.phaseAdvMax = DEFAULT_FIELDADVMAX
|
.phaseAdvMax = DEFAULT_FIELDADVMAX
|
||||||
};
|
};
|
||||||
|
|
||||||
constexpr Settings::Buzzer defaultBuzzer {
|
|
||||||
.reverseBeep = false,
|
|
||||||
.reverseBeepFreq0 = 3,
|
|
||||||
.reverseBeepFreq1 = 0,
|
|
||||||
.reverseBeepDuration0 = 500,
|
|
||||||
.reverseBeepDuration1 = 500,
|
|
||||||
};
|
|
||||||
|
|
||||||
constexpr Settings::Limits kidsLimits {
|
constexpr Settings::Limits kidsLimits {
|
||||||
.iMotMax = 5,
|
.iMotMax = 5,
|
||||||
.iDcMax = 7,
|
.iDcMax = 7,
|
||||||
@ -314,7 +306,6 @@ constexpr Settings defaultSettings {
|
|||||||
#ifdef FEATURE_BMS
|
#ifdef FEATURE_BMS
|
||||||
.autoConnectBms = false,
|
.autoConnectBms = false,
|
||||||
#endif
|
#endif
|
||||||
.buzzer = defaultBuzzer,
|
|
||||||
.limits = defaultLimits,
|
.limits = defaultLimits,
|
||||||
#ifdef FEATURE_BLUETOOTH
|
#ifdef FEATURE_BLUETOOTH
|
||||||
.bluetoothSettings = defaultBluetoothSettings,
|
.bluetoothSettings = defaultBluetoothSettings,
|
||||||
|
@ -31,13 +31,6 @@ struct Settings
|
|||||||
#ifdef FEATURE_BMS
|
#ifdef FEATURE_BMS
|
||||||
bool autoConnectBms;
|
bool autoConnectBms;
|
||||||
#endif
|
#endif
|
||||||
struct Buzzer {
|
|
||||||
bool reverseBeep;
|
|
||||||
uint8_t reverseBeepFreq0;
|
|
||||||
uint8_t reverseBeepFreq1;
|
|
||||||
int16_t reverseBeepDuration0;
|
|
||||||
int16_t reverseBeepDuration1;
|
|
||||||
} buzzer;
|
|
||||||
|
|
||||||
struct Limits {
|
struct Limits {
|
||||||
int16_t iMotMax; // [A] Maximum motor current limit
|
int16_t iMotMax; // [A] Maximum motor current limit
|
||||||
@ -243,12 +236,6 @@ void Settings::executeForEveryCommonSetting(T &&callable)
|
|||||||
callable("autoConnectBms", autoConnectBms);
|
callable("autoConnectBms", autoConnectBms);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
callable("reverseBeep", buzzer.reverseBeep);
|
|
||||||
callable("revBeepFreq0", buzzer.reverseBeepFreq0);
|
|
||||||
callable("revBeepFreq1", buzzer.reverseBeepFreq1);
|
|
||||||
callable("revBeepDur0", buzzer.reverseBeepDuration0);
|
|
||||||
callable("revBeepDur1", buzzer.reverseBeepDuration1);
|
|
||||||
|
|
||||||
#ifdef FEATURE_BLUETOOTH
|
#ifdef FEATURE_BLUETOOTH
|
||||||
callable("autoBluetoothMo", bluetoothSettings.autoBluetoothMode);
|
callable("autoBluetoothMo", bluetoothSettings.autoBluetoothMode);
|
||||||
#endif
|
#endif
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "globals.h"
|
#include "globals.h"
|
||||||
|
#include "newsettings.h"
|
||||||
|
|
||||||
using namespace std::chrono_literals;
|
using namespace std::chrono_literals;
|
||||||
|
|
||||||
@ -108,7 +109,7 @@ void fixCommonParams()
|
|||||||
motor.phaseAdvMax = settings.limits.phaseAdvMax;
|
motor.phaseAdvMax = settings.limits.phaseAdvMax;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (settings.buzzer.reverseBeep)
|
if (configs.reverseBeep.value)
|
||||||
{
|
{
|
||||||
const auto x = motors();
|
const auto x = motors();
|
||||||
const auto shouldBeep = std::all_of(std::begin(x), std::end(x), [](const bobbycar::protocol::serial::MotorState &motor){ return motor.pwm < 0; });
|
const auto shouldBeep = std::all_of(std::begin(x), std::end(x), [](const bobbycar::protocol::serial::MotorState &motor){ return motor.pwm < 0; });
|
||||||
@ -120,7 +121,7 @@ void fixCommonParams()
|
|||||||
reverseBeepToggle = true;
|
reverseBeepToggle = true;
|
||||||
lastReverseBeepToggle = espchrono::millis_clock::now();
|
lastReverseBeepToggle = espchrono::millis_clock::now();
|
||||||
for (auto &controller : controllers)
|
for (auto &controller : controllers)
|
||||||
controller.command.buzzer = {.freq=settings.buzzer.reverseBeepFreq0, .pattern=0};
|
controller.command.buzzer = {.freq=configs.reverseBeepFreq0.value, .pattern=0};
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
for (auto &controller : controllers)
|
for (auto &controller : controllers)
|
||||||
@ -128,12 +129,12 @@ void fixCommonParams()
|
|||||||
|
|
||||||
currentlyReverseBeeping = shouldBeep;
|
currentlyReverseBeeping = shouldBeep;
|
||||||
}
|
}
|
||||||
else if (shouldBeep && espchrono::millis_clock::now() - lastReverseBeepToggle >= std::chrono::milliseconds{reverseBeepToggle?settings.buzzer.reverseBeepDuration0:settings.buzzer.reverseBeepDuration1})
|
else if (shouldBeep && espchrono::millis_clock::now() - lastReverseBeepToggle >= std::chrono::milliseconds{reverseBeepToggle?configs.reverseBeepDuration0.value:configs.reverseBeepDuration1.value})
|
||||||
{
|
{
|
||||||
reverseBeepToggle = !reverseBeepToggle;
|
reverseBeepToggle = !reverseBeepToggle;
|
||||||
|
|
||||||
for (auto &controller : controllers)
|
for (auto &controller : controllers)
|
||||||
controller.command.buzzer = {.freq=uint8_t(reverseBeepToggle?settings.buzzer.reverseBeepFreq0:settings.buzzer.reverseBeepFreq1), .pattern=0};
|
controller.command.buzzer = {.freq=uint8_t(reverseBeepToggle?configs.reverseBeepFreq0.value:configs.reverseBeepFreq1.value), .pattern=0};
|
||||||
|
|
||||||
lastReverseBeepToggle = espchrono::millis_clock::now();
|
lastReverseBeepToggle = espchrono::millis_clock::now();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user