mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-21 17:09:19 +02:00
Fixed speedcontrol for EN57A
This commit is contained in:
committed by
tmj-fstate
parent
2db964ea40
commit
bbdc67c9b2
@@ -1691,7 +1691,9 @@ bool TMoverParameters::IncMainCtrl(int CtrlSpeed)
|
|||||||
else {
|
else {
|
||||||
++MainCtrlPos;
|
++MainCtrlPos;
|
||||||
OK = true;
|
OK = true;
|
||||||
}
|
if ((EIMCtrlType == 0) && (SpeedCtrlAutoTurnOffFlag == 1) && (MainCtrlActualPos != MainCtrlPos))
|
||||||
|
DecScndCtrl(2);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1853,6 +1855,8 @@ bool TMoverParameters::DecMainCtrl(int CtrlSpeed)
|
|||||||
{
|
{
|
||||||
MainCtrlPos--;
|
MainCtrlPos--;
|
||||||
OK = true;
|
OK = true;
|
||||||
|
if ((EIMCtrlType == 0) && (SpeedCtrlAutoTurnOffFlag == 1) && (MainCtrlActualPos != MainCtrlPos))
|
||||||
|
DecScndCtrl(2);
|
||||||
}
|
}
|
||||||
else if (CtrlSpeed > 1)
|
else if (CtrlSpeed > 1)
|
||||||
OK = (DecMainCtrl(1) && DecMainCtrl(2)); // CtrlSpeed-1);
|
OK = (DecMainCtrl(1) && DecMainCtrl(2)); // CtrlSpeed-1);
|
||||||
@@ -1994,7 +1998,7 @@ bool TMoverParameters::IncScndCtrl(int CtrlSpeed)
|
|||||||
if (LastRelayTime > CtrlDelay)
|
if (LastRelayTime > CtrlDelay)
|
||||||
LastRelayTime = 0;
|
LastRelayTime = 0;
|
||||||
|
|
||||||
if ((OK) && (EngineType == TEngineType::ElectricInductionMotor) && (ScndCtrlPosNo == 1))
|
if ((OK) && (EngineType == TEngineType::ElectricInductionMotor) && (ScndCtrlPosNo == 1) && (MainCtrlPos>0))
|
||||||
{
|
{
|
||||||
// NOTE: round() already adds 0.5, are the ones added here as well correct?
|
// NOTE: round() already adds 0.5, are the ones added here as well correct?
|
||||||
if ((Vmax < 250))
|
if ((Vmax < 250))
|
||||||
@@ -6130,15 +6134,6 @@ void TMoverParameters::CheckSpeedCtrl()
|
|||||||
eimicSpeedCtrl = clamp(0.5 * (ScndCtrlActualPos * 2 - Vel), -1.0, 1.0);
|
eimicSpeedCtrl = clamp(0.5 * (ScndCtrlActualPos * 2 - Vel), -1.0, 1.0);
|
||||||
else
|
else
|
||||||
eimicSpeedCtrl = 1;
|
eimicSpeedCtrl = 1;
|
||||||
if ((EIMCtrlType == 0) && (SpeedCtrlAutoTurnOffFlag == 1) && (MainCtrlActualPos != MainCtrlPos))
|
|
||||||
{
|
|
||||||
DecScndCtrl(1);
|
|
||||||
if (CabNo == 0)
|
|
||||||
{
|
|
||||||
SendCtrlToNext("ScndCtrl", ScndCtrlPos, 1);
|
|
||||||
SendCtrlToNext("ScndCtrl", ScndCtrlPos, -1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// *************************************************************************************************
|
// *************************************************************************************************
|
||||||
|
|||||||
Reference in New Issue
Block a user