From 04e6fdfb602807a0ffeef1d061767b6741adb9b5 Mon Sep 17 00:00:00 2001 From: firleju Date: Mon, 21 Mar 2016 20:06:16 +0100 Subject: [PATCH] =?UTF-8?q?PoKeys:=20dodanie=20warto=C5=9Bci=20maksymalnyc?= =?UTF-8?q?h=20dla=20wyj=C5=9B=C4=87=20PWM=20(mierniki)=20w=20celu=20?= =?UTF-8?q?=C5=82atwego=20kalibrowania.=20S=C5=82owo=20kluczowe=20"calibra?= =?UTF-8?q?teoutmaxvalues"=20z=20warto=C5=9Bciami=20dla=20ka=C5=BCdego=20z?= =?UTF-8?q?=207=20wyj=C5=9B=C4=87.=20Warto=C5=9B=C4=87=200=20oznacza=20bra?= =?UTF-8?q?k=20odniesienia=20i=20star=C4=85=20metod=C4=99.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Console.cpp | 3 +++ Globals.cpp | 12 +++++++++++- Globals.h | 1 + 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/Console.cpp b/Console.cpp index 19b874fc..1660920c 100644 --- a/Console.cpp +++ b/Console.cpp @@ -288,6 +288,9 @@ void Console::ValueSet(int x, double y) if (iMode == 4) if (PoKeys55[0]) { + if (Global::fCalibrateOutMax[x] > 0) + x = x / Global::fCalibrateOutMax[x]; // sprowadzenie do <0,1> jeśli podana maksymalna wartość + PoKeys55[0]->PWM( x, (((((Global::fCalibrateOut[x][5] * y) + Global::fCalibrateOut[x][4]) * y + Global::fCalibrateOut[x][3]) * y + Global::fCalibrateOut[x][2]) * y + diff --git a/Globals.cpp b/Globals.cpp index 6f7e2c41..0e324b11 100644 --- a/Globals.cpp +++ b/Globals.cpp @@ -174,7 +174,7 @@ double Global::fCalibrateOut[7][6] = {{0, 1, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 0}}; - +double Global::fCalibrateOutMax[7] = {0, 0, 0, 0, 0, 0, 0}; // parametry przejściowe (do usunięcia) // bool Global::bTimeChange=false; //Ra: ZiomalCl wyłączył starą wersję nocy // bool Global::bRenderAlpha=true; //Ra: wywaliłam tę flagę @@ -485,6 +485,16 @@ void Global::ConfigParse(TQueryParserComp *qp, cParser *cp) fCalibrateOut[i][4] = GetNextSymbol().ToDouble(); // mnożnik dla 4 potęgi fCalibrateOut[i][5] = GetNextSymbol().ToDouble(); // mnożnik dla 5 potęgi } + else if (str == AnsiString("calibrateoutmaxvalues")) + { // maksymalne wartości jakie można wyświetlić na mierniku + fCalibrateOutMax[0] = GetNextSymbol().ToDouble(); + fCalibrateOutMax[1] = GetNextSymbol().ToDouble(); + fCalibrateOutMax[2] = GetNextSymbol().ToDouble(); + fCalibrateOutMax[3] = GetNextSymbol().ToDouble(); + fCalibrateOutMax[4] = GetNextSymbol().ToDouble(); + fCalibrateOutMax[5] = GetNextSymbol().ToDouble(); + fCalibrateOutMax[6] = GetNextSymbol().ToDouble(); + } else if (str == AnsiString("brakestep")) // krok zmiany hamulca dla klawiszy [Num3] i [Num9] fBrakeStep = GetNextSymbol().ToDouble(); else if (str == diff --git a/Globals.h b/Globals.h index 58b936aa..37402e2a 100644 --- a/Globals.h +++ b/Globals.h @@ -298,6 +298,7 @@ class Global static TDynamicObject *pUserDynamic; // pojazd użytkownika, renderowany bez trzęsienia static double fCalibrateIn[6][6]; // parametry kalibracyjne wejść z pulpitu static double fCalibrateOut[7][6]; // parametry kalibracyjne wyjść dla pulpitu + static double fCalibrateOutMax[7]; // wartości maksymalne wyjść dla pulpitu static double fBrakeStep; // krok zmiany hamulca dla klawiszy [Num3] i [Num9] static bool bJoinEvents; // czy grupować eventy o tych samych nazwach static bool bSmudge; // czy wyświetlać smugę, a pojazd użytkownika na końcu