mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-22 18:39:18 +02:00
przerobione hamulce: teraz AnalogCalibrateGet()zwraca wartość od 0 do 1 i dopiero w Train przeliczana jest wartość na położenie hamulca.
Osobno hamulec FV4a i osobno FVel6.
This commit is contained in:
11
Console.cpp
11
Console.cpp
@@ -474,16 +474,7 @@ float Console::AnalogCalibrateGet(int x)
|
|||||||
if (Global::bMWDmasterEnable && Global::bMWDBreakEnable)
|
if (Global::bMWDmasterEnable && Global::bMWDBreakEnable)
|
||||||
{
|
{
|
||||||
float b = (float)MWDComm->uiAnalog[x];
|
float b = (float)MWDComm->uiAnalog[x];
|
||||||
b = (b - Global::fMWDAnalogInCalib[x][0]) / (Global::fMWDAnalogInCalib[x][1] - Global::fMWDAnalogInCalib[x][0]);
|
return (b - Global::fMWDAnalogInCalib[x][0]) / (Global::fMWDAnalogInCalib[x][1] - Global::fMWDAnalogInCalib[x][0]);
|
||||||
switch (x)
|
|
||||||
{
|
|
||||||
case 0: if (Global::bMWDdebugEnable && Global::iMWDDebugMode & 4) WriteLog("Pozycja kranu = " + to_string(b * 8 - 2));
|
|
||||||
return (b * 8 - 2);
|
|
||||||
break;
|
|
||||||
case 1: return (b * 10);
|
|
||||||
break;
|
|
||||||
default: return 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return -1.0; // odcięcie
|
return -1.0; // odcięcie
|
||||||
};
|
};
|
||||||
|
|||||||
14
Train.cpp
14
Train.cpp
@@ -3762,12 +3762,21 @@ bool TTrain::Update( double const Deltatime )
|
|||||||
false) // nie blokujemy AI
|
false) // nie blokujemy AI
|
||||||
{ // Ra: nie najlepsze miejsce, ale na początek gdzieś to dać trzeba
|
{ // Ra: nie najlepsze miejsce, ale na początek gdzieś to dać trzeba
|
||||||
// Firleju: dlatego kasujemy i zastepujemy funkcją w Console
|
// Firleju: dlatego kasujemy i zastepujemy funkcją w Console
|
||||||
if (((mvOccupied->BrakeHandle == FV4a) ||
|
if (mvOccupied->BrakeHandle == FV4a)
|
||||||
(mvOccupied->BrakeHandle == FVel6))) // może można usunąć ograniczenie do FV4a i FVel6?
|
|
||||||
{
|
{
|
||||||
double b = Console::AnalogCalibrateGet(0);
|
double b = Console::AnalogCalibrateGet(0);
|
||||||
|
b = b * 8 - 2;
|
||||||
b = Global::CutValueToRange(-2.0, b, mvOccupied->BrakeCtrlPosNo); // przycięcie zmiennej do granic
|
b = Global::CutValueToRange(-2.0, b, mvOccupied->BrakeCtrlPosNo); // przycięcie zmiennej do granic
|
||||||
|
|
||||||
|
ggBrakeCtrl.UpdateValue(b); // przesów bez zaokrąglenia
|
||||||
|
mvOccupied->BrakeLevelSet(b);
|
||||||
|
}
|
||||||
|
if (mvOccupied->BrakeHandle == FVel6) // może można usunąć ograniczenie do FV4a i FVel6?
|
||||||
|
{
|
||||||
|
double b = Console::AnalogCalibrateGet(0);
|
||||||
|
b = b * 7 - 1;
|
||||||
|
b = Global::CutValueToRange(-1.0, b, mvOccupied->BrakeCtrlPosNo); // przycięcie zmiennej do granic
|
||||||
|
|
||||||
ggBrakeCtrl.UpdateValue(b); // przesów bez zaokrąglenia
|
ggBrakeCtrl.UpdateValue(b); // przesów bez zaokrąglenia
|
||||||
mvOccupied->BrakeLevelSet(b);
|
mvOccupied->BrakeLevelSet(b);
|
||||||
}
|
}
|
||||||
@@ -3789,6 +3798,7 @@ bool TTrain::Update( double const Deltatime )
|
|||||||
if ((mvOccupied->BrakeLocHandle == FD1))
|
if ((mvOccupied->BrakeLocHandle == FD1))
|
||||||
{
|
{
|
||||||
double b = Console::AnalogCalibrateGet(1);
|
double b = Console::AnalogCalibrateGet(1);
|
||||||
|
b *= 10;
|
||||||
b = Global::CutValueToRange(0.0, b, LocalBrakePosNo); // przycięcie zmiennej do granic
|
b = Global::CutValueToRange(0.0, b, LocalBrakePosNo); // przycięcie zmiennej do granic
|
||||||
ggLocalBrake.UpdateValue(b); // przesów bez zaokrąglenia
|
ggLocalBrake.UpdateValue(b); // przesów bez zaokrąglenia
|
||||||
mvOccupied->LocalBrakePos =
|
mvOccupied->LocalBrakePos =
|
||||||
|
|||||||
Reference in New Issue
Block a user