16
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-07-19 04:19:19 +02:00

Fix for AI to use MHZ_EN57 properly

This commit is contained in:
Królik Uszasty
2018-04-21 12:31:42 +02:00
committed by tmj-fstate
parent 92e4b0d653
commit 0a93804768

View File

@@ -1840,6 +1840,12 @@ void TController::AutoRewident()
fAccThreshold = -fBrake_a0[BrakeAccTableSize] - 1 * fBrake_a1[BrakeAccTableSize];
fBrakeReaction = 1.00 + fLength*0.005;
}
for (int i = 1; i <= 8; i *= 2) //ustawianie trybu pracy zadajnika hamulca, wystarczy raz po inicjalizacji AI
{
if ((mvOccupied->BrakeOpModes & i) > 0) {
mvOccupied->BrakeOpModeFlag = i;
}
}
}
double TController::ESMVelocity(bool Main)
@@ -2564,7 +2570,13 @@ bool TController::IncBrake()
}
case ElectroPneumatic: {
if( mvOccupied->EngineType == ElectricInductionMotor ) {
OK = mvOccupied->IncLocalBrakeLevel( 1 );
if (mvOccupied->BrakeHandle == MHZ_EN57) {
if (mvOccupied->BrakeCtrlPos < mvOccupied->Handle->GetPos(bh_FB))
OK = mvOccupied->BrakeLevelAdd(1.0);
}
else {
OK = mvOccupied->IncLocalBrakeLevel(1);
}
}
else if( mvOccupied->fBrakeCtrlPos != mvOccupied->Handle->GetPos( bh_EPB ) ) {
mvOccupied->BrakeLevelSet( mvOccupied->Handle->GetPos( bh_EPB ) );
@@ -2612,10 +2624,15 @@ bool TController::DecBrake()
Need_BrakeRelease = true;
break;
case ElectroPneumatic:
if (mvOccupied->EngineType == ElectricInductionMotor)
{
OK = mvOccupied->DecLocalBrakeLevel(1);
}
if (mvOccupied->EngineType == ElectricInductionMotor) {
if (mvOccupied->BrakeHandle == MHZ_EN57) {
if (mvOccupied->BrakeCtrlPos > mvOccupied->Handle->GetPos(bh_MB))
OK = mvOccupied->BrakeLevelAdd(-1.0);
}
else {
OK = mvOccupied->DecLocalBrakeLevel(1);
}
}
else if (mvOccupied->fBrakeCtrlPos != mvOccupied->Handle->GetPos(bh_EPR))
{
mvOccupied->BrakeLevelSet(mvOccupied->Handle->GetPos(bh_EPR));