From 3b77c4a5b291c656a19ee35ee3449c35f880aad3 Mon Sep 17 00:00:00 2001 From: atef Date: Wed, 13 Sep 2023 10:57:12 +0200 Subject: [PATCH] Added the feature of the forceCalibrationCharge in the config file. --- csharp/App/SaliMax/src/Ess/Controller.cs | 8 +++++++- csharp/App/SaliMax/src/SystemConfig/Config.cs | 6 +++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/csharp/App/SaliMax/src/Ess/Controller.cs b/csharp/App/SaliMax/src/Ess/Controller.cs index 4f991d58e..15adb1590 100644 --- a/csharp/App/SaliMax/src/Ess/Controller.cs +++ b/csharp/App/SaliMax/src/Ess/Controller.cs @@ -188,7 +188,13 @@ public static class Controller private static Boolean MustDoCalibrationCharge(this StatusRecord statusRecord) { - return statusRecord.Battery?.CalibrationChargeRequested ?? false; + var calibrationChargeForced = statusRecord.Config.ForceCalibrationCharge; + + var batteryCalibrationChargeRequested = statusRecord.Battery?.CalibrationChargeRequested?? false ; + + var mustDoCalibrationCharge = batteryCalibrationChargeRequested || calibrationChargeForced; + + return mustDoCalibrationCharge; } diff --git a/csharp/App/SaliMax/src/SystemConfig/Config.cs b/csharp/App/SaliMax/src/SystemConfig/Config.cs index e57a3d5dd..452935375 100644 --- a/csharp/App/SaliMax/src/SystemConfig/Config.cs +++ b/csharp/App/SaliMax/src/SystemConfig/Config.cs @@ -15,7 +15,7 @@ public class Config //TODO: let IE choose from config files (Json) and connect t private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; public required Double MinSoc { get; set; } - public required UnixTime LastEoc { get; set; } + public required Boolean ForceCalibrationCharge { get; set; } public required Double PConstant { get; set; } public required Double GridSetPoint { get; set; } public required Double BatterySelfDischargePower { get; set; } @@ -40,7 +40,7 @@ public class Config //TODO: let IE choose from config files (Json) and connect t public static Config Default => new() { MinSoc = 20, - LastEoc = UnixTime.Epoch, // TODO: remove, use new LastEoc feature from BMS + ForceCalibrationCharge = false, PConstant = .5, GridSetPoint = 0, BatterySelfDischargePower = 200, @@ -102,7 +102,7 @@ public class Config //TODO: let IE choose from config files (Json) and connect t public static Config Default => new() { MinSoc = 20, - LastEoc = UnixTime.Epoch, // TODO: remove, use new LastEoc feature from BMS + ForceCalibrationCharge = false, PConstant = .5, GridSetPoint = 0, BatterySelfDischargePower = 200,