Added option to apply calibration, preparations for calibration implementation
This commit is contained in:
@@ -172,6 +172,7 @@ struct LedstripBrightnessAccessor : public RefAccessorSaveSettings<uint8_t> { ui
|
|||||||
struct BatterySeriesCellsAccessor : public RefAccessorSaveSettings<uint8_t> { uint8_t &getRef() const override { return settings.battery.cellsSeries; } };
|
struct BatterySeriesCellsAccessor : public RefAccessorSaveSettings<uint8_t> { uint8_t &getRef() const override { return settings.battery.cellsSeries; } };
|
||||||
struct BatteryParallelCellsAccessor : public RefAccessorSaveSettings<uint8_t> { uint8_t &getRef() const override { return settings.battery.cellsParallel; } };
|
struct BatteryParallelCellsAccessor : public RefAccessorSaveSettings<uint8_t> { uint8_t &getRef() const override { return settings.battery.cellsParallel; } };
|
||||||
struct BatteryWHperKMAccessor : public RefAccessorSaveSettings<uint16_t> { uint16_t &getRef() const override { return settings.battery.watthoursPerKilometer; } };
|
struct BatteryWHperKMAccessor : public RefAccessorSaveSettings<uint16_t> { uint16_t &getRef() const override { return settings.battery.watthoursPerKilometer; } };
|
||||||
|
struct BatteryApplyCalibrationAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return settings.battery.applyCalibration; } };
|
||||||
|
|
||||||
|
|
||||||
struct LockscreenAllowPresetSwitchAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return settings.lockscreen.allowPresetSwitch; } };
|
struct LockscreenAllowPresetSwitchAccessor : public RefAccessorSaveSettings<bool> { bool &getRef() const override { return settings.lockscreen.allowPresetSwitch; } };
|
||||||
|
@@ -57,6 +57,8 @@ namespace {
|
|||||||
{
|
{
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_VOLTAGECALIBRATION_30V>, Save30VCalibrationAction>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_VOLTAGECALIBRATION_30V>, Save30VCalibrationAction>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_VOLTAGECALIBRATION_50V>, Save50VCalibrationAction>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_VOLTAGECALIBRATION_50V>, Save50VCalibrationAction>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BATTERY_APPLYCALIB>, ToggleBoolAction, CheckboxIcon, BatteryApplyCalibrationAccessor>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<BatteryMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
|
|
||||||
constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>>();
|
constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>>();
|
||||||
|
|
||||||
@@ -65,7 +67,6 @@ namespace {
|
|||||||
constructMenuItem<makeComponent<MenuItem, BatteryVoltageCalibrationFront50VText, DisabledColor, DummyAction>>();
|
constructMenuItem<makeComponent<MenuItem, BatteryVoltageCalibrationFront50VText, DisabledColor, DummyAction>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, BatteryVoltageCalibrationBack50VText, DisabledColor, DummyAction>>();
|
constructMenuItem<makeComponent<MenuItem, BatteryVoltageCalibrationBack50VText, DisabledColor, DummyAction>>();
|
||||||
|
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<BatteryMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
} // Namespace
|
} // Namespace
|
||||||
|
@@ -261,7 +261,8 @@ constexpr Settings::Battery defaultBattery {
|
|||||||
.front30VoltCalibration = 30,
|
.front30VoltCalibration = 30,
|
||||||
.back30VoltCalibration = 30,
|
.back30VoltCalibration = 30,
|
||||||
.front50VoltCalibration = 50,
|
.front50VoltCalibration = 50,
|
||||||
.back50VoltCalibration = 50
|
.back50VoltCalibration = 50,
|
||||||
|
.applyCalibration = false
|
||||||
};
|
};
|
||||||
|
|
||||||
constexpr Settings defaultSettings {
|
constexpr Settings defaultSettings {
|
||||||
|
@@ -180,6 +180,7 @@ struct Settings
|
|||||||
int16_t back30VoltCalibration;
|
int16_t back30VoltCalibration;
|
||||||
int16_t front50VoltCalibration;
|
int16_t front50VoltCalibration;
|
||||||
int16_t back50VoltCalibration;
|
int16_t back50VoltCalibration;
|
||||||
|
bool applyCalibration;
|
||||||
} battery;
|
} battery;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@@ -299,6 +300,7 @@ void Settings::executeForEveryCommonSetting(T &&callable)
|
|||||||
callable("batB30VCal", battery.back30VoltCalibration);
|
callable("batB30VCal", battery.back30VoltCalibration);
|
||||||
callable("batF50VCal", battery.front50VoltCalibration);
|
callable("batF50VCal", battery.front50VoltCalibration);
|
||||||
callable("batB50VCal", battery.back50VoltCalibration);
|
callable("batB50VCal", battery.back50VoltCalibration);
|
||||||
|
callable("applyBatCal", battery.applyCalibration);
|
||||||
|
|
||||||
callable("lockAlwPresetSw", lockscreen.allowPresetSwitch);
|
callable("lockAlwPresetSw", lockscreen.allowPresetSwitch);
|
||||||
callable("lockscreenPin", lockscreen.pin);
|
callable("lockscreenPin", lockscreen.pin);
|
||||||
|
@@ -99,6 +99,7 @@ constexpr char TEXT_BATTERY_TYPE_HG2[] = "HG2 cells";
|
|||||||
constexpr char TEXT_BATTERY_TYPE_MH1[] = "MH1 cells";
|
constexpr char TEXT_BATTERY_TYPE_MH1[] = "MH1 cells";
|
||||||
constexpr char TEXT_BATTERY_TYPE_VTC5[] = "VTC5 cells";
|
constexpr char TEXT_BATTERY_TYPE_VTC5[] = "VTC5 cells";
|
||||||
constexpr char TEXT_BATTERY_WHKM[] = "Wh per km";
|
constexpr char TEXT_BATTERY_WHKM[] = "Wh per km";
|
||||||
|
constexpr char TEXT_BATTERY_APPLYCALIB[] = "Apply calibration";
|
||||||
|
|
||||||
//CalibrateVoltageDisplay
|
//CalibrateVoltageDisplay
|
||||||
constexpr char TEXT_VOLTAGECALIBRATION_30V[] = "Calibrate 30.0V";
|
constexpr char TEXT_VOLTAGECALIBRATION_30V[] = "Calibrate 30.0V";
|
||||||
|
10
main/utils.h
10
main/utils.h
@@ -64,6 +64,16 @@ float fixBatVoltage(int16_t value)
|
|||||||
return value/100.;
|
return value/100.;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float fixFrontBatVoltage(int16_t value)
|
||||||
|
{
|
||||||
|
float frontVoltage = fixBatVoltage(value);
|
||||||
|
// settings.battery.front30VoltCalibration // Front 30.0V
|
||||||
|
// settings.battery.back30VoltCalibration // Back 30.0V
|
||||||
|
// settings.battery.front50VoltCalibration // Front 50.0V
|
||||||
|
// settings.battery.back50VoltCalibration // Back 50.0V
|
||||||
|
return frontVoltage;
|
||||||
|
}
|
||||||
|
|
||||||
float fixBoardTemp(int16_t value)
|
float fixBoardTemp(int16_t value)
|
||||||
{
|
{
|
||||||
return value/10.;
|
return value/10.;
|
||||||
|
Reference in New Issue
Block a user