mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-18 20:29:17 +02:00
More fluent dynamic brake test, fix for eimp_pnX_cp
This commit is contained in:
31
Driver.cpp
31
Driver.cpp
@@ -6507,32 +6507,47 @@ TController::UpdateSituation(double dt) {
|
||||
&& (vel > std::min(TrainParams.TTVmax - 2.0, 58.0)))
|
||||
{
|
||||
DynamicBrakeTest = 1;
|
||||
DBT_VelocityBrake = vel;
|
||||
DBT_VelocityRelease = vel - 8.0;
|
||||
DBT_BrakingTime = ElapsedTime;
|
||||
}
|
||||
switch (DynamicBrakeTest)
|
||||
{
|
||||
case 1:
|
||||
AccDesired = fAccThreshold * 1.01;
|
||||
ForcePNBrake = true;
|
||||
mvOccupied->EpFuseSwitch(false);
|
||||
AccDesired = -0.06;
|
||||
if (ElapsedTime - DBT_BrakingTime > 1)
|
||||
{
|
||||
ForcePNBrake = true;
|
||||
mvOccupied->EpFuseSwitch(false);
|
||||
DynamicBrakeTest = 2;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (ElapsedTime - DBT_BrakingTime > 2)
|
||||
{
|
||||
DBT_BrakingTime = ElapsedTime;
|
||||
DBT_VelocityBrake = vel;
|
||||
DBT_VelocityRelease = vel - 8.0;
|
||||
DynamicBrakeTest = 3;
|
||||
}
|
||||
AccDesired = -0.06;
|
||||
break;
|
||||
case 3:
|
||||
AccDesired = clamp(-AbsAccS, fAccThreshold * 1.01, fAccThreshold * 1.21);
|
||||
if (vel <= DBT_VelocityRelease)
|
||||
{
|
||||
DynamicBrakeTest = 2;
|
||||
DynamicBrakeTest = 4;
|
||||
DBT_BrakingTime = ElapsedTime - DBT_BrakingTime;
|
||||
DBT_MidPointAcc = AbsAccS;
|
||||
DBT_ReleasingTime = ElapsedTime;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
case 4:
|
||||
if (fReady < 0.5)
|
||||
{
|
||||
if (BrakeSystem == TBrakeSystem::ElectroPneumatic) {
|
||||
mvOccupied->EpFuseSwitch(true);
|
||||
}
|
||||
ForcePNBrake = false;
|
||||
DynamicBrakeTest = 3;
|
||||
DynamicBrakeTest = 5;
|
||||
DBT_ReleasingTime = ElapsedTime - DBT_ReleasingTime;
|
||||
DBT_VelocityFinish = vel;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user