mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-22 00:09:18 +02:00
Dodatkowe zmienne dla pythona do obsługi sygnalizacji kabinowej.
This commit is contained in:
@@ -1151,6 +1151,10 @@ TCommandType TController::TableUpdate(double &fVelDes, double &fDist, double &fN
|
|||||||
iDrivigFlags |= moveSemaphorFound; //jeśli z przodu to dajemy falgę, że jest
|
iDrivigFlags |= moveSemaphorFound; //jeśli z przodu to dajemy falgę, że jest
|
||||||
d_to_next_sem = Min0R(sSpeedTable[i].fDist, d_to_next_sem);
|
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)
|
else if (sSpeedTable[i].iFlags & spRoadVel)
|
||||||
{ // to W6
|
{ // to W6
|
||||||
|
|||||||
1
Driver.h
1
Driver.h
@@ -242,6 +242,7 @@ class TController
|
|||||||
double VelLimit; // predkość zadawana przez event jednokierunkowego ograniczenia prędkości
|
double VelLimit; // predkość zadawana przez event jednokierunkowego ograniczenia prędkości
|
||||||
public:
|
public:
|
||||||
double VelSignalLast; // prędkość zadana na ostatnim semaforze
|
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 VelLimitLast; // prędkość zadana przez ograniczenie
|
||||||
double VelRoad; // aktualna prędkość drogowa (ze znaku W27)
|
double VelRoad; // aktualna prędkość drogowa (ze znaku W27)
|
||||||
// (PutValues albo komendą)
|
// (PutValues albo komendą)
|
||||||
|
|||||||
@@ -4085,7 +4085,7 @@ begin
|
|||||||
if (EngineType=ElectricSeriesMotor) then
|
if (EngineType=ElectricSeriesMotor) then
|
||||||
begin
|
begin
|
||||||
case RVentType of {wentylatory rozruchowe}
|
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
|
RventRot:=RventRot+(RVentnmax-RventRot)*RVentSpeed*dt
|
||||||
else
|
else
|
||||||
RventRot:=RventRot*(1-RVentSpeed*dt);
|
RventRot:=RventRot*(1-RVentSpeed*dt);
|
||||||
|
|||||||
@@ -349,6 +349,14 @@ PyObject *TTrain::GetTrainState()
|
|||||||
PyDict_SetItemString(dict, "manual_brake", PyGetBool(mvOccupied->ManualBrakePos > 0));
|
PyDict_SetItemString(dict, "manual_brake", PyGetBool(mvOccupied->ManualBrakePos > 0));
|
||||||
PyDict_SetItemString(dict, "pantpress", PyGetFloat(mvControlled->PantPress));
|
PyDict_SetItemString(dict, "pantpress", PyGetFloat(mvControlled->PantPress));
|
||||||
PyDict_SetItemString(dict, "trainnumber", PyGetString(DynamicObject->Mechanik->TrainName().c_str()));
|
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;
|
return dict;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user