mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-22 19:49:19 +02:00
Fix for AI to use MHZ_EN57 properly
This commit is contained in:
committed by
tmj-fstate
parent
92e4b0d653
commit
0a93804768
21
Driver.cpp
21
Driver.cpp
@@ -1840,6 +1840,12 @@ void TController::AutoRewident()
|
|||||||
fAccThreshold = -fBrake_a0[BrakeAccTableSize] - 1 * fBrake_a1[BrakeAccTableSize];
|
fAccThreshold = -fBrake_a0[BrakeAccTableSize] - 1 * fBrake_a1[BrakeAccTableSize];
|
||||||
fBrakeReaction = 1.00 + fLength*0.005;
|
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)
|
double TController::ESMVelocity(bool Main)
|
||||||
@@ -2564,8 +2570,14 @@ bool TController::IncBrake()
|
|||||||
}
|
}
|
||||||
case ElectroPneumatic: {
|
case ElectroPneumatic: {
|
||||||
if( mvOccupied->EngineType == ElectricInductionMotor ) {
|
if( mvOccupied->EngineType == ElectricInductionMotor ) {
|
||||||
|
if (mvOccupied->BrakeHandle == MHZ_EN57) {
|
||||||
|
if (mvOccupied->BrakeCtrlPos < mvOccupied->Handle->GetPos(bh_FB))
|
||||||
|
OK = mvOccupied->BrakeLevelAdd(1.0);
|
||||||
|
}
|
||||||
|
else {
|
||||||
OK = mvOccupied->IncLocalBrakeLevel(1);
|
OK = mvOccupied->IncLocalBrakeLevel(1);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else if( mvOccupied->fBrakeCtrlPos != mvOccupied->Handle->GetPos( bh_EPB ) ) {
|
else if( mvOccupied->fBrakeCtrlPos != mvOccupied->Handle->GetPos( bh_EPB ) ) {
|
||||||
mvOccupied->BrakeLevelSet( mvOccupied->Handle->GetPos( bh_EPB ) );
|
mvOccupied->BrakeLevelSet( mvOccupied->Handle->GetPos( bh_EPB ) );
|
||||||
if( mvOccupied->Handle->GetPos( bh_EPR ) - mvOccupied->Handle->GetPos( bh_EPN ) < 0.1 )
|
if( mvOccupied->Handle->GetPos( bh_EPR ) - mvOccupied->Handle->GetPos( bh_EPN ) < 0.1 )
|
||||||
@@ -2612,10 +2624,15 @@ bool TController::DecBrake()
|
|||||||
Need_BrakeRelease = true;
|
Need_BrakeRelease = true;
|
||||||
break;
|
break;
|
||||||
case ElectroPneumatic:
|
case ElectroPneumatic:
|
||||||
if (mvOccupied->EngineType == ElectricInductionMotor)
|
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);
|
OK = mvOccupied->DecLocalBrakeLevel(1);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else if (mvOccupied->fBrakeCtrlPos != mvOccupied->Handle->GetPos(bh_EPR))
|
else if (mvOccupied->fBrakeCtrlPos != mvOccupied->Handle->GetPos(bh_EPR))
|
||||||
{
|
{
|
||||||
mvOccupied->BrakeLevelSet(mvOccupied->Handle->GetPos(bh_EPR));
|
mvOccupied->BrakeLevelSet(mvOccupied->Handle->GetPos(bh_EPR));
|
||||||
|
|||||||
Reference in New Issue
Block a user