From 1bc8e70021ac9eba25bda183a00e828bd2c3e5ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kr=C3=B3lik=20Uszasty?= Date: Sat, 10 Oct 2020 00:26:30 +0200 Subject: [PATCH] Minimal power for SpeedCtrl with EIMCtrlType = 0 --- McZapkie/Mover.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/McZapkie/Mover.cpp b/McZapkie/Mover.cpp index 6bb97fc0..4b417974 100644 --- a/McZapkie/Mover.cpp +++ b/McZapkie/Mover.cpp @@ -6940,6 +6940,8 @@ void TMoverParameters::CheckEIMIC(double dt) if ((eimic < -0.001) && (BrakeHandle != TBrakeHandle::MHZ_EN57)) eimic = std::min(-0.002, eimic * (double)LocalBrakePosNo / ((double)LocalBrakePosNo - 1.0) + 1.0 / ((double)LocalBrakePosNo - 1.0)); } + if ((eimic > 0.001) && (SpeedCtrlUnit.IsActive)) + eimic = std::max(eimic, SpeedCtrlUnit.MinPower); break; case 1: switch (MainCtrlPos) @@ -7089,7 +7091,7 @@ void TMoverParameters::CheckSpeedCtrl(double dt) if (true) { if ((!SpeedCtrlUnit.Standby)) { if (SpeedCtrlUnit.ManualStateOverride) { - if (eimic > 0.009) eimic = 1.0; + if (eimic > 0.0009) eimic = 1.0; } double error = (std::max(SpeedCtrlValue + SpeedCtrlUnit.Offset, 0.0) - Vel); double factorP = error > 0 ? SpeedCtrlUnit.FactorPpos : SpeedCtrlUnit.FactorPneg;