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