From dcfd34908ae17f060840d184e2abbee011b8be9f Mon Sep 17 00:00:00 2001 From: Hirek193 Date: Fri, 17 Apr 2026 20:08:04 +0200 Subject: [PATCH] Revert "Add power smoothing for inverter based vehicles" This reverts commit 40bbbc62107f55afb081f0852f1130d394942bd8. For some reason it broke SA13x controllers lol --- McZapkie/MOVER.h | 3 --- McZapkie/Mover.cpp | 17 +---------------- 2 files changed, 1 insertion(+), 19 deletions(-) diff --git a/McZapkie/MOVER.h b/McZapkie/MOVER.h index d3e058d9..78062821 100644 --- a/McZapkie/MOVER.h +++ b/McZapkie/MOVER.h @@ -1728,9 +1728,6 @@ class TMoverParameters /*- zmienne dla lokomotyw z silnikami indukcyjnymi -*/ double eimic = 0; /*aktualna pozycja zintegrowanego sterowania jazda i hamowaniem*/ - double eimtcp = 0; /* target controller position - docelowa pozycja nastawnika */ - double eimic_last = 0; /* ostatnia pozycja eimtcp przy obliczeniach */ - double eimtcptau = 0.0; /* stała czasowa układu bezwladnosci falownika */ double eimic_analog = 0; /*pozycja zadajnika analogowa*/ double eimic_real = 0; /*faktycznie uzywana pozycja zintegrowanego sterowania jazda i hamowaniem*/ double eim_localbrake = 0; /*nastawa hamowania dodatkowego pneumatycznego lokomotywy*/ diff --git a/McZapkie/Mover.cpp b/McZapkie/Mover.cpp index 4a98bb60..96f384e3 100644 --- a/McZapkie/Mover.cpp +++ b/McZapkie/Mover.cpp @@ -7310,20 +7310,7 @@ void TMoverParameters::CheckEIMIC(double dt) { eimic = (LocalBrakeRatio() > 0.01 ? -LocalBrakeRatio() : eimic); } - case 4: // vectron - // TARGET - eimtcp = (LocalBrakeRatio() > 0.01 ? -LocalBrakeRatio() : (eimic_analog > 0.01 ? eimic_analog : (double)MainCtrlPos / (double)MainCtrlPosNo)); - if ((eimtcp > 0.001) && SpeedCtrlUnit.IsActive) - eimtcp = std::max(eimtcp, SpeedCtrlUnit.MinPower); - - // smoothing - double alpha = std::clamp(dt / eimtcptau, 0.0, 1.0); - double newValue = eimic_last + (eimtcp - eimic_last) * alpha; - if (std::abs(newValue) < 0.05 && eimtcp == 0.0) - newValue = 0.0; - eimic = newValue; - eimic_last = newValue; } if (LocHandleTimeTraxx) { @@ -10719,9 +10706,7 @@ void TMoverParameters::LoadFIZ_Cntrl( std::string const &line ) { EIMCtrlType = clamp( EIMCtrlType, 0, 3 ); extract_value( LocHandleTimeTraxx, "LocalBrakeTraxx", line, "" ); extract_value( EIMCtrlAdditionalZeros, "EIMCtrlAddZeros", line, "" ); - extract_value( EIMCtrlEmergency, "EIMCtrlEmergency", line, ""); - extract_value( eimtcptau, "EIMTau", line, ""); - + extract_value( EIMCtrlEmergency, "EIMCtrlEmergency", line, ""); extract_value( ScndS, "ScndS", line, "" ); // brak pozycji rownoleglej przy niskiej nastawie PSR