16
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-07-22 17:29:18 +02:00

automatic alerter (de)activation on cab and vehicle change, minor diagnostics enhancements

This commit is contained in:
tmj-fstate
2017-07-13 19:24:34 +02:00
parent 9877b37e1f
commit 4f9000ebe2
2 changed files with 51 additions and 60 deletions

View File

@@ -2023,6 +2023,7 @@ bool TMoverParameters::CabActivisation(void)
{ {
CabNo = ActiveCab; // sterowanie jest z kabiny z obsadą CabNo = ActiveCab; // sterowanie jest z kabiny z obsadą
DirAbsolute = ActiveDir * CabNo; DirAbsolute = ActiveDir * CabNo;
SecuritySystem.Status |= s_waiting; // activate the alerter TODO: make it part of control based cab selection
SendCtrlToNext("CabActivisation", 1, CabNo); SendCtrlToNext("CabActivisation", 1, CabNo);
} }
return OK; return OK;
@@ -2042,6 +2043,8 @@ bool TMoverParameters::CabDeactivisation(void)
CabNo = 0; CabNo = 0;
DirAbsolute = ActiveDir * CabNo; DirAbsolute = ActiveDir * CabNo;
DepartureSignal = false; // nie buczeć z nieaktywnej kabiny DepartureSignal = false; // nie buczeć z nieaktywnej kabiny
SecuritySystem.Status = 0; // deactivate alerter TODO: make it part of control based cab selection
SendCtrlToNext("CabActivisation", 0, ActiveCab); // CabNo==0! SendCtrlToNext("CabActivisation", 0, ActiveCab); // CabNo==0!
} }
return OK; return OK;

View File

@@ -1427,9 +1427,10 @@ TWorld::Update_UI() {
// for cars other than leading unit indicate the leader // for cars other than leading unit indicate the leader
uitextline1 += ", owned by " + tmp->ctOwner->OwnerName(); uitextline1 += ", owned by " + tmp->ctOwner->OwnerName();
} }
uitextline1 += "; Status: " + tmp->MoverParameters->EngineDescription( 0 );
// informacja o sprzęgach // informacja o sprzęgach
uitextline1 += uitextline1 +=
" C0:" + "; C0:" +
( tmp->PrevConnected ? ( tmp->PrevConnected ?
tmp->PrevConnected->GetName() + ":" + to_string( tmp->MoverParameters->Couplers[ 0 ].CouplingFlag ) : tmp->PrevConnected->GetName() + ":" + to_string( tmp->MoverParameters->Couplers[ 0 ].CouplingFlag ) :
"none" ); "none" );
@@ -1439,9 +1440,23 @@ TWorld::Update_UI() {
tmp->NextConnected->GetName() + ":" + to_string( tmp->MoverParameters->Couplers[ 1 ].CouplingFlag ) : tmp->NextConnected->GetName() + ":" + to_string( tmp->MoverParameters->Couplers[ 1 ].CouplingFlag ) :
"none" ); "none" );
uitextline2 = "Damage status: " + tmp->MoverParameters->EngineDescription( 0 ); // equipment flags
uitextline2 = ( tmp->MoverParameters->Battery ? "B" : "." );
uitextline2 += "; Brake delay: "; uitextline2 += ( tmp->MoverParameters->Mains ? "M" : "." );
uitextline2 += ( tmp->MoverParameters->PantRearUp ? ( tmp->MoverParameters->PantRearVolt > 0.0 ? "O" : "o" ) : "." );;
uitextline2 += ( tmp->MoverParameters->PantFrontUp ? ( tmp->MoverParameters->PantFrontVolt > 0.0 ? "P" : "p" ) : "." );;
uitextline2 += ( tmp->MoverParameters->PantPressLockActive ? "!" : ( tmp->MoverParameters->PantPressSwitchActive ? "*" : "." ) );
uitextline2 += ( false == tmp->MoverParameters->ConverterAllowLocal ? "-" : ( tmp->MoverParameters->ConverterAllow ? ( tmp->MoverParameters->ConverterFlag ? "X" : "x" ) : "." ) );
uitextline2 += ( tmp->MoverParameters->ConvOvldFlag ? "!" : "." );
uitextline2 += ( false == tmp->MoverParameters->CompressorAllowLocal ? "-" : ( tmp->MoverParameters->CompressorAllow ? ( tmp->MoverParameters->CompressorFlag ? "C" : "c" ) : "." ) );
uitextline2 += ( tmp->MoverParameters->CompressorGovernorLock ? "!" : "." );
/*
uitextline2 +=
" AnlgB: " + to_string( tmp->MoverParameters->AnPos, 1 )
+ "+"
+ to_string( tmp->MoverParameters->LocalBrakePosA, 1 )
*/
uitextline2 += " Bdelay: ";
if( ( tmp->MoverParameters->BrakeDelayFlag & bdelay_G ) == bdelay_G ) if( ( tmp->MoverParameters->BrakeDelayFlag & bdelay_G ) == bdelay_G )
uitextline2 += "G"; uitextline2 += "G";
if( ( tmp->MoverParameters->BrakeDelayFlag & bdelay_P ) == bdelay_P ) if( ( tmp->MoverParameters->BrakeDelayFlag & bdelay_P ) == bdelay_P )
@@ -1451,39 +1466,22 @@ TWorld::Update_UI() {
if( ( tmp->MoverParameters->BrakeDelayFlag & bdelay_M ) == bdelay_M ) if( ( tmp->MoverParameters->BrakeDelayFlag & bdelay_M ) == bdelay_M )
uitextline2 += "+Mg"; uitextline2 += "+Mg";
uitextline2 += ", BTP: " + to_string( tmp->MoverParameters->LoadFlag, 0 ); uitextline2 += ", Load: " + to_string( tmp->MoverParameters->LoadFlag, 0 );
{
uitextline2 += uitextline2 +=
"; pant: " "; Pant: "
+ to_string( tmp->MoverParameters->PantPress, 2 ) + to_string( tmp->MoverParameters->PantPress, 2 )
+ ( tmp->MoverParameters->bPantKurek3 ? "-ZG" : "|ZG" ); + ( tmp->MoverParameters->bPantKurek3 ? "-ZG" : "|ZG" );
}
uitextline2 += uitextline2 +=
", MED:" "; Ft: " + to_string( tmp->MoverParameters->Ft * 0.001f * tmp->MoverParameters->ActiveCab, 1 )
+ to_string( tmp->MoverParameters->LocalBrakePosA, 2 ) + ", Fb: " + to_string( tmp->MoverParameters->Fb * 0.001f, 1 )
+ "+" + ", Fr: " + to_string( tmp->MoverParameters->RunningTrack.friction, 2 )
+ to_string( tmp->MoverParameters->AnPos, 2 ); + ( tmp->MoverParameters->SlippingWheels ? " (!)" : "" );
uitextline2 +=
", Ft:"
+ to_string( tmp->MoverParameters->Ft * 0.001f, 0 );
uitextline2 += uitextline2 +=
"; TC:" "; TC:"
+ to_string( tmp->MoverParameters->TotalCurrent, 0 ); + to_string( tmp->MoverParameters->TotalCurrent, 0 );
#ifdef EU07_USE_OLD_HVCOUPLERS
uitextline2 +=
", HV0: "
+ to_string( tmp->MoverParameters->HVCouplers[ TMoverParameters::side::front ][ TMoverParameters::hvcoupler::voltage ], 0 )
+ "@"
+ to_string( tmp->MoverParameters->HVCouplers[ TMoverParameters::side::front ][ TMoverParameters::hvcoupler::current ], 0 );
uitextline2 +=
", HV1: "
+ to_string( tmp->MoverParameters->HVCouplers[ TMoverParameters::side::rear ][ TMoverParameters::hvcoupler::voltage ], 0 )
+ "@"
+ to_string( tmp->MoverParameters->HVCouplers[ TMoverParameters::side::rear ][ TMoverParameters::hvcoupler::current ], 0 );
#else
auto const frontcouplerhighvoltage = auto const frontcouplerhighvoltage =
to_string( tmp->MoverParameters->Couplers[ TMoverParameters::side::front ].power_high.voltage, 0 ) to_string( tmp->MoverParameters->Couplers[ TMoverParameters::side::front ].power_high.voltage, 0 )
+ "@" + "@"
@@ -1505,24 +1503,14 @@ TWorld::Update_UI() {
+ ":F" + ( tmp->DirectionGet() ? "<<" : ">>" ) + "R:" + ":F" + ( tmp->DirectionGet() ? "<<" : ">>" ) + "R:"
+ rearcouplerhighvoltage; + rearcouplerhighvoltage;
} }
#endif
// equipment flags
uitextline3 = "";
uitextline3 += ( tmp->MoverParameters->Battery ? "B" : "." );
uitextline3 += ( tmp->MoverParameters->Mains ? "M" : "." );
uitextline3 += ( tmp->MoverParameters->PantRearUp ? ( tmp->MoverParameters->PantRearVolt > 0.0 ? "O" : "o" ) : "." );;
uitextline3 += ( tmp->MoverParameters->PantFrontUp ? ( tmp->MoverParameters->PantFrontVolt > 0.0 ? "P" : "p" ) : "." );;
uitextline3 += ( tmp->MoverParameters->PantPressLockActive ? "!" : ( tmp->MoverParameters->PantPressSwitchActive ? "*" : "." ) );
uitextline3 += ( false == tmp->MoverParameters->ConverterAllowLocal ? "-" : ( tmp->MoverParameters->ConverterAllow ? ( tmp->MoverParameters->ConverterFlag ? "X" : "x" ) : "." ) );
uitextline3 += ( tmp->MoverParameters->ConvOvldFlag ? "!" : "." );
uitextline3 += ( false == tmp->MoverParameters->CompressorAllowLocal ? "-" : ( tmp->MoverParameters->CompressorAllow ? ( tmp->MoverParameters->CompressorFlag ? "C" : "c" ) : "." ) );
uitextline3 += ( tmp->MoverParameters->CompressorGovernorLock ? "!" : "." );
uitextline3 += uitextline3 +=
"TrB: " + to_string( tmp->MoverParameters->BrakePress, 2 ) "TrB: " + to_string( tmp->MoverParameters->BrakePress, 2 )
+ ", " + to_hex_str( tmp->MoverParameters->Hamulec->GetBrakeStatus(), 2 ) + ", " + to_hex_str( tmp->MoverParameters->Hamulec->GetBrakeStatus(), 2 );
+ ", LcB: " + to_string( tmp->MoverParameters->LocBrakePress, 2 )
+ ", pipes: " + to_string( tmp->MoverParameters->PipePress, 2 ) uitextline3 +=
"; LcB: " + to_string( tmp->MoverParameters->LocBrakePress, 2 )
+ "; pipes: " + to_string( tmp->MoverParameters->PipePress, 2 )
+ "/" + to_string( tmp->MoverParameters->ScndPipePress, 2 ) + "/" + to_string( tmp->MoverParameters->ScndPipePress, 2 )
+ "/" + to_string( tmp->MoverParameters->EqvtPipePress, 2 ) + "/" + to_string( tmp->MoverParameters->EqvtPipePress, 2 )
+ ", MT: " + to_string( tmp->MoverParameters->CompressedVolume, 3 ) + ", MT: " + to_string( tmp->MoverParameters->CompressedVolume, 3 )
@@ -1532,9 +1520,9 @@ TWorld::Update_UI() {
if( tmp->MoverParameters->ManualBrakePos > 0 ) { if( tmp->MoverParameters->ManualBrakePos > 0 ) {
uitextline3 += ", manual brake on"; uitextline3 += "; manual brake on";
} }
/*
if( tmp->MoverParameters->LocalBrakePos > 0 ) { if( tmp->MoverParameters->LocalBrakePos > 0 ) {
uitextline3 += ", local brake on"; uitextline3 += ", local brake on";
@@ -1543,7 +1531,7 @@ TWorld::Update_UI() {
uitextline3 += ", local brake off"; uitextline3 += ", local brake off";
} }
*/
if( tmp->Mechanik ) { if( tmp->Mechanik ) {
// o ile jest ktoś w środku // o ile jest ktoś w środku
std::string flags = "bwaccmlshhhoibsgvdp; "; // flagi AI (definicja w Driver.h) std::string flags = "bwaccmlshhhoibsgvdp; "; // flagi AI (definicja w Driver.h)