From 5db90b47bdf870d8f03e1acc2abac04bc6f472d0 Mon Sep 17 00:00:00 2001 From: firleju Date: Sun, 15 Nov 2015 16:24:04 +0100 Subject: [PATCH] ProximityVelocity is active again, but not used. When was deactivated there were some crashes. --- Driver.cpp | 17 ++++++++--------- Driver.h | 4 ++-- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/Driver.cpp b/Driver.cpp index 6cbc210c..0d1430b6 100644 --- a/Driver.cpp +++ b/Driver.cpp @@ -164,12 +164,12 @@ void TSpeedPos::CommandCheck() fVelNext = 0.0; // TrainParams->IsStop()?0.0:-1.0; //na razie tak iFlags |= spPassengerStopPoint; // niestety nie da się w tym miejscu współpracować z rozkładem break; - //case cm_SetProximityVelocity: - // // odcinek z ograniczeniem prędkości o podanej długości - // fVelNext = value1; - // iFlags |= spProximityVelocity; - // fSectionVelocityDist = value2; - // break; + case cm_SetProximityVelocity: + // musi zostać gdyż inaczej nie działają manewry + fVelNext = -1; + iFlags |= spProximityVelocity; + // fSectionVelocityDist = value2; + break; case cm_OutsideStation: // w trybie manewrowym: skanować od niej wstecz i stanąć po wyjechaniu za sygnalizator i // zmienić kierunek @@ -177,12 +177,11 @@ void TSpeedPos::CommandCheck() fVelNext = -1; iFlags |= spOutsideStation; // W5 break; - default: + default: // inna komenda w evencie skanowanym powoduje zatrzymanie i wysłanie tej komendy iFlags &= ~(spShuntSemaphor | spPassengerStopPoint | spStopOnSBL); // nie manewrowa, nie przystanek, nie zatrzymać na SBL - fVelNext = -1.0; // jak nieznana komenda w komórce sygnałowej, to pokazujemy w tabelce ale - // ignorujemy + fVelNext = 0.0; // jak nieznana komenda w komórce sygnałowej, to zatrzymujemy } }; diff --git a/Driver.h b/Driver.h index 4fbbb717..7cc45286 100644 --- a/Driver.h +++ b/Driver.h @@ -115,7 +115,7 @@ enum TSpeedPosFlag spSemaphor = 0x4000, // semafor pociągowy spRoadVel = 0x8000, // zadanie prędkości drogowej spSectionVel = 0x20000, // odcinek z ograniczeniem - // spProximityVelocity = 0x40000, // odcinek z ograniczeniem i podaną jego długościa + spProximityVelocity = 0x40000, // odcinek z ograniczeniem i podaną jego długościa spEndOfTable = 0x10000 // zatkanie tabelki }; @@ -240,7 +240,7 @@ class TController public: double VelNext; // prędkość, jaka ma być po przejechaniu długości ProximityDist private: - // double fProximityDist; //odleglosc podawana w SetProximityVelocity(); >0:przeliczać do + double fProximityDist; //odleglosc podawana w SetProximityVelocity(); >0:przeliczać do // punktu, <0:podana wartość public: double