Dodatkowe zmienne dla pythona do obsługi sygnalizacji kabinowej.

This commit is contained in:
antonisauren
2016-10-20 20:28:52 +02:00
parent 1ea2a6e392
commit 0dfabe1a0a
4 changed files with 14 additions and 1 deletions

View File

@@ -1151,6 +1151,10 @@ TCommandType TController::TableUpdate(double &fVelDes, double &fDist, double &fN
iDrivigFlags |= moveSemaphorFound; //jeśli z przodu to dajemy falgę, że jest
d_to_next_sem = Min0R(sSpeedTable[i].fDist, d_to_next_sem);
}
if (sSpeedTable[i].fDist <= d_to_next_sem)
{
VelSignalNext = sSpeedTable[i].fVelNext;
}
}
else if (sSpeedTable[i].iFlags & spRoadVel)
{ // to W6

View File

@@ -242,6 +242,7 @@ class TController
double VelLimit; // predkość zadawana przez event jednokierunkowego ograniczenia prędkości
public:
double VelSignalLast; // prędkość zadana na ostatnim semaforze
double VelSignalNext; // prędkość zadana na następnym semaforze
double VelLimitLast; // prędkość zadana przez ograniczenie
double VelRoad; // aktualna prędkość drogowa (ze znaku W27)
// (PutValues albo komendą)

View File

@@ -4085,7 +4085,7 @@ begin
if (EngineType=ElectricSeriesMotor) then
begin
case RVentType of {wentylatory rozruchowe}
1: if ActiveDir<>0 and (RList[MainCtrlActualPos].R>RVentCutOff) then
1: if (ActiveDir<>0) and (RList[MainCtrlActualPos].R>RVentCutOff) then
RventRot:=RventRot+(RVentnmax-RventRot)*RVentSpeed*dt
else
RventRot:=RventRot*(1-RVentSpeed*dt);

View File

@@ -349,6 +349,14 @@ PyObject *TTrain::GetTrainState()
PyDict_SetItemString(dict, "manual_brake", PyGetBool(mvOccupied->ManualBrakePos > 0));
PyDict_SetItemString(dict, "pantpress", PyGetFloat(mvControlled->PantPress));
PyDict_SetItemString(dict, "trainnumber", PyGetString(DynamicObject->Mechanik->TrainName().c_str()));
PyDict_SetItemString(dict, "velnext", PyGetFloat(DynamicObject->Mechanik->VelNext));
PyDict_SetItemString(dict, "actualproximitydist", PyGetFloat(DynamicObject->Mechanik->ActualProximityDist));
PyDict_SetItemString(dict, "velsignallast", PyGetFloat(DynamicObject->Mechanik->VelSignalLast));
PyDict_SetItemString(dict, "vellimitlast", PyGetFloat(DynamicObject->Mechanik->VelLimitLast));
PyDict_SetItemString(dict, "velroad", PyGetFloat(DynamicObject->Mechanik->VelRoad));
PyDict_SetItemString(dict, "velsignalnext", PyGetFloat(DynamicObject->Mechanik->VelSignalNext));
PyDict_SetItemString(dict, "battery", PyGetBool(mvControlled->Battery));
return dict;
}