mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-19 02:09:17 +02:00
ReleaseParkingBySpringBrakeWhenDoorIsOpen for Impuls EMU
This commit is contained in:
committed by
tmj-fstate
parent
11ba7696a5
commit
b0342c7447
@@ -3117,7 +3117,7 @@ bool TDynamicObject::Update(double dt, double dt1)
|
||||
|| ( MoverParameters->Doors.permit_needed
|
||||
&& ( MoverParameters->Doors.instances[ side::left ].open_permit
|
||||
|| MoverParameters->Doors.instances[ side::right ].open_permit ) ) };
|
||||
//doorisopen &= !(MoverParameters->ReleaseParkingBySpringBrakeWhenDoorIsOpen && MoverParameters->SpringBrake.IsActive);
|
||||
doorisopen &= !(MoverParameters->ReleaseParkingBySpringBrakeWhenDoorIsOpen && MoverParameters->SpringBrake.IsActive);
|
||||
|
||||
if ((MoverParameters->Vel < 0.5) && (eimic < 0 || doorisopen || MoverParameters->Hamulec->GetEDBCP()))
|
||||
{
|
||||
@@ -3144,7 +3144,7 @@ bool TDynamicObject::Update(double dt, double dt1)
|
||||
{
|
||||
Fzad = std::min(LBR * FmaxED, FfulED);
|
||||
}
|
||||
if (((MoverParameters->ShuntMode) && (eimic <= 0)) /*||
|
||||
if (((MoverParameters->ShuntMode) && (eimic <= 0) || (doorisopen)) /*||
|
||||
(MoverParameters->V * MoverParameters->DirAbsolute < -0.2)*/)
|
||||
{
|
||||
auto const sbd { ( ( MoverParameters->SpringBrake.IsActive && MoverParameters->ReleaseParkingBySpringBrake ) ? 0.0 : MoverParameters->StopBrakeDecc ) };
|
||||
|
||||
@@ -7129,11 +7129,27 @@ void TMoverParameters::CheckEIMIC(double dt)
|
||||
|
||||
auto const eimicpowerenabled {
|
||||
( ( true == Mains ) || ( Power == 0.0 ) )
|
||||
&& ( ( Doors.instances[ side::left ].open_permit == false )
|
||||
&& ( Doors.instances[ side::right ].open_permit == false ) )
|
||||
&& ( !SpringBrake.IsActive || !SpringBrakeCutsOffDrive )
|
||||
&& ( !LockPipe ) };
|
||||
eimic = clamp(eimic, -1.0, eimicpowerenabled ? 1.0 : 0.0);
|
||||
auto const eimicdoorenabled {
|
||||
(SpringBrake.IsActive && ReleaseParkingBySpringBrakeWhenDoorIsOpen)
|
||||
};
|
||||
double eimic_max = 0.0;
|
||||
if ((Doors.instances[side::left].open_permit == false)
|
||||
&& (Doors.instances[side::right].open_permit == false)) {
|
||||
if (eimicpowerenabled) {
|
||||
eimic_max = 1.0;
|
||||
}
|
||||
else {
|
||||
eimic_max = 0.001;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (eimicdoorenabled) {
|
||||
eimic_max = 0.001;
|
||||
}
|
||||
}
|
||||
eimic = clamp(eimic, -1.0, eimicpowerenabled ? eimic_max : 0.0);
|
||||
}
|
||||
|
||||
void TMoverParameters::CheckSpeedCtrl(double dt)
|
||||
@@ -10226,7 +10242,7 @@ void TMoverParameters::LoadFIZ_Cntrl( std::string const &line ) {
|
||||
|
||||
extract_value( StopBrakeDecc, "SBD", line, "" );
|
||||
extract_value( ReleaseParkingBySpringBrake, "ReleaseParkingBySpringBrake", line, "" );
|
||||
extract_value(ReleaseParkingBySpringBrakeWhenDoorIsOpen, "ReleaseParkingBySpringBrakeWhenDoorIsOpen", line, "");
|
||||
extract_value( ReleaseParkingBySpringBrakeWhenDoorIsOpen, "ReleaseParkingBySpringBrakeWhenDoorIsOpen", line, "" );
|
||||
extract_value( SpringBrakeCutsOffDrive, "SpringBrakeCutsOffDrive", line, "");
|
||||
extract_value( SpringBrakeDriveEmergencyVel, "SpringBrakeDriveEmergencyVel", line, "");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user