From 0f22f24eb74342c0fa93de0689c71478d977331f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kr=C3=B3lik=20Uszasty?= Date: Sat, 11 Sep 2021 00:04:12 +0200 Subject: [PATCH] Added full analog input from Pokeys for EIMCtrlType==0 --- McZapkie/MOVER.h | 1 + McZapkie/Mover.cpp | 3 ++- Train.cpp | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/McZapkie/MOVER.h b/McZapkie/MOVER.h index 895a2c4b..cfd63bb1 100644 --- a/McZapkie/MOVER.h +++ b/McZapkie/MOVER.h @@ -1585,6 +1585,7 @@ public: /*- zmienne dla lokomotyw z silnikami indukcyjnymi -*/ double eimic = 0; /*aktualna pozycja zintegrowanego sterowania jazda i hamowaniem*/ + 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*/ int EIMCtrlType = 0; /*rodzaj wariantu zadajnika jazdy*/ diff --git a/McZapkie/Mover.cpp b/McZapkie/Mover.cpp index 9c25184b..de88ebc1 100644 --- a/McZapkie/Mover.cpp +++ b/McZapkie/Mover.cpp @@ -7112,7 +7112,8 @@ void TMoverParameters::CheckEIMIC(double dt) switch (EIMCtrlType) { case 0: - eimic = (LocalBrakeRatio() > 0.01 ? -LocalBrakeRatio() : (double)MainCtrlPos / (double)MainCtrlPosNo); + eimic = (LocalBrakeRatio() > 0.01 ? -LocalBrakeRatio() : + eimic_analog > 0.01 ? eimic_analog : (double)MainCtrlPos / (double)MainCtrlPosNo); if (EIMCtrlAdditionalZeros || EIMCtrlEmergency) { if (eimic > 0.001) diff --git a/Train.cpp b/Train.cpp index bffdb31e..125e8bc7 100644 --- a/Train.cpp +++ b/Train.cpp @@ -7094,6 +7094,7 @@ bool TTrain::Update( double const Deltatime ) && ( Global.fCalibrateIn[ 2 ][ 1 ] != 0.0 ) ) { set_master_controller( Console::AnalogCalibrateGet( 2 ) * mvOccupied->MainCtrlPosNo ); + mvOccupied->eimic_analog = Console::AnalogCalibrateGet(2); } #endif