diff --git a/Console.cpp b/Console.cpp index bf8950bb..0480cd93 100644 --- a/Console.cpp +++ b/Console.cpp @@ -396,33 +396,41 @@ void Console::ValueSet(int x, double y) case 0: iliczba = (unsigned int)floor((y / (Global::fMWDzg[0] * 10) * Global::fMWDzg[1]) + 0.5); // zbiornik g??wny MWDComm->WriteDataBuff[12] = (unsigned char)(iliczba >> 8); MWDComm->WriteDataBuff[11] = (unsigned char)iliczba; + if (Global::bMWDmasterEnable && Global::iMWDDebugMode & 8) WriteLog("Main tank presure " + to_string(MWDComm->WriteDataBuff[12]) + " " + to_string(MWDComm->WriteDataBuff[11])); break; case 1: iliczba = (unsigned int)floor((y / (Global::fMWDpg[0] * 10) * Global::fMWDpg[1]) + 0.5); // przew?d g??wny MWDComm->WriteDataBuff[10] = (unsigned char)(iliczba >> 8); MWDComm->WriteDataBuff[9] = (unsigned char)iliczba; + if (Global::bMWDmasterEnable && Global::iMWDDebugMode & 8) WriteLog("Main pipe presure " + to_string(MWDComm->WriteDataBuff[10]) + " " + to_string(MWDComm->WriteDataBuff[9])); break; case 2: iliczba = (unsigned int)floor((y / (Global::fMWDph[0] * 10) * Global::fMWDph[1]) + 0.5); // cylinder hamulcowy MWDComm->WriteDataBuff[8] = (unsigned char)(iliczba >> 8); MWDComm->WriteDataBuff[7] = (unsigned char)iliczba; + if (Global::bMWDmasterEnable && Global::iMWDDebugMode & 8) WriteLog("Break presure " + to_string(MWDComm->WriteDataBuff[8]) + " " + to_string(MWDComm->WriteDataBuff[7])); break; case 3: iliczba = (unsigned int)floor((y / Global::fMWDvolt[0] * Global::fMWDvolt[1]) + 0.5); // woltomierz WN MWDComm->WriteDataBuff[14] = (unsigned char)(iliczba >> 8); MWDComm->WriteDataBuff[13] = (unsigned char)iliczba; + if (Global::bMWDmasterEnable && Global::iMWDDebugMode & 8) WriteLog("Volt meter " + to_string(MWDComm->WriteDataBuff[14]) + " " + to_string(MWDComm->WriteDataBuff[13])); break; case 4: iliczba = (unsigned int)floor((y / Global::fMWDamp[0] * Global::fMWDamp[1]) + 0.5); // amp WN 1 MWDComm->WriteDataBuff[16] = (unsigned char)(iliczba >> 8); MWDComm->WriteDataBuff[15] = (unsigned char)iliczba; + if (Global::bMWDmasterEnable && Global::iMWDDebugMode & 8) WriteLog("Apm meter1 " + to_string(MWDComm->WriteDataBuff[16]) + " " + to_string(MWDComm->WriteDataBuff[15])); break; case 5: iliczba = (unsigned int)floor((y / Global::fMWDamp[0] * Global::fMWDamp[1]) + 0.5); // amp WN 2 MWDComm->WriteDataBuff[18] = (unsigned char)(iliczba >> 8); MWDComm->WriteDataBuff[17] = (unsigned char)iliczba; + if (Global::bMWDmasterEnable && Global::iMWDDebugMode & 8) WriteLog("Apm meter2 " + to_string(MWDComm->WriteDataBuff[18]) + " " + to_string(MWDComm->WriteDataBuff[17])); break; case 6: iliczba = (unsigned int)floor((y / Global::fMWDamp[0] * Global::fMWDamp[1]) + 0.5); // amp WN 3 MWDComm->WriteDataBuff[20] = (unsigned int)(iliczba >> 8); MWDComm->WriteDataBuff[19] = (unsigned char)iliczba; + if (Global::bMWDmasterEnable && Global::iMWDDebugMode & 8) WriteLog("Apm meter3 " + to_string(MWDComm->WriteDataBuff[20]) + " " + to_string(MWDComm->WriteDataBuff[19])); break; - case 7: if (Global::iPause) MWDComm->WriteDataBuff[0] = 0; //skoro pauza to hasler stoi i nie nabija kilometrów + case 7: if (Global::iPause) MWDComm->WriteDataBuff[0] = 0; //skoro pauza to hasler stoi i nie nabija kilometrów CHYBA NIE DZIAŁA! else MWDComm->WriteDataBuff[0] = (unsigned char)floor(y); // prędkość dla np haslera + if (Global::bMWDmasterEnable && Global::iMWDDebugMode & 8) WriteLog("Speed: " + to_string(MWDComm->WriteDataBuff[0])); break; } } diff --git a/Console/MWD.cpp b/Console/MWD.cpp index e6a93008..19564b8f 100644 --- a/Console/MWD.cpp +++ b/Console/MWD.cpp @@ -133,11 +133,9 @@ bool TMWDComm::Open() // otwieranie portu COM bool TMWDComm::Close() // zamykanie portu COM { - Global::bMWDmasterEnable = false; // wyłącz SerialPort - Global::bMWDInputEnable = false; // wyłącz wejścia - Global::bMWDBreakEnable = false; // wyłącz wejścia analogowe - Global::bMWDdebugEnable = false; // wyłącz debugowanie - Global::iMWDDebugMode = 0; // wyłącz debugMode! + Global::bMWDmasterEnable = false; // główne włączenie portu! + Global::bMWDInputEnable = false; // włącz wejścia + Global::bMWDBreakEnable = false; // włącz wejścia analogowe WriteLog("COM Port is closing..."); int i = 0; diff --git a/Train.cpp b/Train.cpp index 035a5524..6436cc2f 100644 --- a/Train.cpp +++ b/Train.cpp @@ -2842,6 +2842,18 @@ bool TTrain::Update( double const Deltatime ) /// napędu } + if (Global::bMWDmasterEnable) // pobieranie danych dla pulpitu przez port szeregowy (COM) + { + Console::ValueSet(0, mvOccupied->Compressor); // zbiornik główny + Console::ValueSet(1, mvOccupied->PipePress); // przewód główny + Console::ValueSet(2, mvOccupied->BrakePress); // cylinder hamulcowy + Console::ValueSet(3, fHVoltage); // woltomierz wysokiego napięcia + Console::ValueSet(4, fHCurrent[3]); // drugi amperomierz 3 + Console::ValueSet(4, fHCurrent[2]); // drugi amperomierz 2 + Console::ValueSet(5, fHCurrent[(mvControlled->TrainType & dt_EZT) ? 0 : 1]); // pierwszy amperomierz; dla EZT prąd całkowity + Console::ValueSet(6, fTachoVelocity); + } + // hunter-080812: wyrzucanie szybkiego na elektrykach gdy nie ma napiecia // przy dowolnym ustawieniu kierunkowego // Ra: to już jest w T_MoverParameters::TractionForce(), ale zależy od @@ -3763,8 +3775,8 @@ bool TTrain::Update( double const Deltatime ) { // Ra: nie najlepsze miejsce, ale na początek gdzieś to dać trzeba // Firleju: dlatego kasujemy i zastepujemy funkcją w Console if (mvOccupied->BrakeHandle == FV4a) - { - 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 if (Global::bMWDdebugEnable && Global::iMWDDebugMode & 4) WriteLog("Pozycja kranu = " + to_string(b));