mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-19 20:19:18 +02:00
Poprawki do MWD - SerialPort
This commit is contained in:
200
Globals.cpp
200
Globals.cpp
@@ -191,17 +191,20 @@ int Global::iBpp = 32; // chyba już nie używa się kart, na których 16bpp co
|
||||
//randomizacja
|
||||
std::mt19937 Global::random_engine = std::mt19937(std::time(NULL));
|
||||
// maciek001: konfiguracja wstępna portu COM
|
||||
bool Global::bMWDdebugEnable = false;
|
||||
bool Global::bMWDInputDataEnable = false;
|
||||
unsigned int Global::iMWDBaudrate = 500000;
|
||||
std::string Global::sMWDPortId = "COM1"; // nazwa portu z którego korzystamy - na razie nie działa
|
||||
bool Global::bMWDBreakEnable = false; // zmienić na FALSE!!! jak już będzie działać wczytywanie z *.ini
|
||||
double Global::fMWDAnalogCalib[4][3] = {{1023, 0, 1023},{1023, 0, 1023},{1023, 0, 1023},{1023, 0, 1023}}; // wartość max potencjometru, wartość min potencjometru, rozdzielczość (max. wartość jaka może być -1)
|
||||
double Global::fMWDzg[2] = {0.9, 1023};
|
||||
double Global::fMWDpg[2] = {0.8, 1023};
|
||||
double Global::fMWDph[2] = {0.6, 1023};
|
||||
double Global::fMWDvolt[2] = {4000, 1023};
|
||||
double Global::fMWDamp[2] = {800, 1023};
|
||||
bool Global::bMWDmasterEnable = false; // główne włączenie portu!
|
||||
bool Global::bMWDdebugEnable = false; // włącz dodawanie do logu
|
||||
int Global::iMWDDebugMode = 0; // co ma wyświetlać w logu
|
||||
std::string Global::sMWDPortId = "COM1"; // nazwa portu z którego korzystamy
|
||||
unsigned long int Global::iMWDBaudrate = 9600; // prędkość transmisji danych
|
||||
bool Global::bMWDInputEnable = false; // włącz wejścia
|
||||
bool Global::bMWDBreakEnable = false; // włącz wejścia analogowe
|
||||
double Global::fMWDAnalogInCalib[4][2] = { { 0, 1023 },{ 0, 1023 },{ 0, 1023 },{ 0, 1023 } }; // wartość max potencjometru, wartość min potencjometru, rozdzielczość (max. wartość jaka może być)
|
||||
double Global::fMWDzg[2] = { 0.9, 1023 };
|
||||
double Global::fMWDpg[2] = { 0.8, 1023 };
|
||||
double Global::fMWDph[2] = { 0.6, 1023 };
|
||||
double Global::fMWDvolt[2] = { 4000, 1023 };
|
||||
double Global::fMWDamp[2] = { 800, 1023 };
|
||||
int Global::iMWDdivider = 5;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
//---------------------------------------------------------------------------
|
||||
@@ -806,93 +809,94 @@ void Global::ConfigParse(cParser &Parser)
|
||||
>> Global::Background[2]; // b
|
||||
}
|
||||
// maciek001: ustawienia MWD
|
||||
else if (token == "mwddebug")
|
||||
{ // czy włączyć obslugę hamulców
|
||||
Parser.getTokens();
|
||||
Parser >> token;
|
||||
bMWDdebugEnable = (token == "yes");
|
||||
}
|
||||
else if (token == "comportname")
|
||||
{
|
||||
Parser.getTokens();
|
||||
Parser >> sMWDPortId;
|
||||
if (bMWDdebugEnable)
|
||||
WriteLog("PortName " + sMWDPortId);
|
||||
}
|
||||
else if (token == "mwdbaudrate")
|
||||
{ // pobierz prędkość transmisji danych
|
||||
Parser.getTokens(1, false);
|
||||
Parser >> iMWDBaudrate;
|
||||
if (bMWDdebugEnable)
|
||||
WriteLog("PortName " + to_string(iMWDBaudrate));
|
||||
}
|
||||
else if (token == "mwdbreakenable")
|
||||
{ // czy włączyć obsługę hamulców
|
||||
Parser.getTokens();
|
||||
Parser >> token;
|
||||
bMWDBreakEnable = (token == "yes");
|
||||
}
|
||||
else if (token == "mwdinputenable")
|
||||
{
|
||||
Parser.getTokens();
|
||||
Parser >> token;
|
||||
bMWDInputDataEnable = (token == "yes");
|
||||
}
|
||||
else if (token == "mwdbreak") // wartość max dla potencjometru hamulca zasadniczego
|
||||
{
|
||||
Parser.getTokens();
|
||||
Parser >> token;
|
||||
int i = stol_def(token, -1); // numer wej�cia
|
||||
if ((i >= 0) && (i <= 3))
|
||||
{
|
||||
Parser.getTokens(3, false);
|
||||
Parser >> fMWDAnalogCalib[i][0] // max -> 2^16 -1
|
||||
>> fMWDAnalogCalib[i][1] // min -> 0
|
||||
>>
|
||||
fMWDAnalogCalib[i][2]; // rozdzielczość -> 255 maksymalna możliwa wartość z ADC
|
||||
if (bMWDdebugEnable)
|
||||
WriteLog("Break settings " + to_string(i) + ": " +
|
||||
to_string(fMWDAnalogCalib[i][0]) + " " +
|
||||
to_string(fMWDAnalogCalib[i][1]) + " " +
|
||||
to_string(fMWDAnalogCalib[i][2]));
|
||||
}
|
||||
}
|
||||
else if (token == "mwdzbiornikglowny")
|
||||
{
|
||||
Parser.getTokens(2, false);
|
||||
Parser >> fMWDzg[0] >> fMWDzg[1];
|
||||
if (bMWDdebugEnable)
|
||||
WriteLog("AirTank settings: " + to_string(fMWDzg[0]) + " " + to_string(fMWDzg[1]));
|
||||
}
|
||||
else if (token == "mwdprzewodglowny")
|
||||
{
|
||||
Parser.getTokens(2, false);
|
||||
Parser >> fMWDpg[0] >> fMWDpg[1];
|
||||
if (bMWDdebugEnable)
|
||||
WriteLog("MainAirPipe settings: " + to_string(fMWDpg[0]) + " " +
|
||||
to_string(fMWDpg[1]));
|
||||
}
|
||||
else if (token == "mwdcylinderhamulcowy")
|
||||
{
|
||||
Parser.getTokens(2, false);
|
||||
Parser >> fMWDph[0] >> fMWDph[1];
|
||||
if (bMWDdebugEnable)
|
||||
WriteLog("AirPipe settings: " + to_string(fMWDph[0]) + " " + to_string(fMWDph[1]));
|
||||
}
|
||||
else if (token == "mwdwoltomierzwn")
|
||||
{
|
||||
Parser.getTokens(2, false);
|
||||
Parser >> fMWDvolt[0] >> fMWDvolt[1];
|
||||
if (bMWDdebugEnable)
|
||||
WriteLog("Volt settings: " + to_string(fMWDvolt[0]) + " " + to_string(fMWDvolt[1]));
|
||||
}
|
||||
else if (token == "mwdamperomierzwn")
|
||||
{
|
||||
Parser.getTokens(2, false);
|
||||
Parser >> fMWDamp[0] >> fMWDamp[1];
|
||||
if (bMWDdebugEnable)
|
||||
WriteLog("Amp settings: " + to_string(fMWDamp[0]) + " " + to_string(fMWDamp[1]));
|
||||
}
|
||||
else if (token == "mwdmasterenable") { // główne włączenie maszyny!
|
||||
Parser.getTokens();
|
||||
Parser >> token;
|
||||
bMWDmasterEnable = (token == "yes");
|
||||
if (bMWDdebugEnable) WriteLog("SerialPort Master Enable");
|
||||
}
|
||||
else if (token == "mwddebugenable") { // logowanie pracy
|
||||
Parser.getTokens();
|
||||
Parser >> token;
|
||||
bMWDdebugEnable = (token == "yes");
|
||||
if (bMWDdebugEnable) WriteLog("MWD Debug Mode On");
|
||||
}
|
||||
else if (token == "mwddebugmode") { // co ma być debugowane?
|
||||
Parser.getTokens(1, false);
|
||||
Parser >> iMWDDebugMode;
|
||||
if (bMWDdebugEnable) WriteLog("Debug Mode = " + to_string(iMWDDebugMode));
|
||||
}
|
||||
else if (token == "mwdcomportname") { // nazwa portu COM
|
||||
Parser.getTokens();
|
||||
Parser >> sMWDPortId;
|
||||
if (bMWDdebugEnable) WriteLog("PortName " + sMWDPortId);
|
||||
}
|
||||
else if (token == "mwdbaudrate") { // prędkość transmisji danych
|
||||
Parser.getTokens(1, false);
|
||||
Parser >> iMWDBaudrate;
|
||||
if (bMWDdebugEnable) WriteLog("Baud rate = " + to_string((int)(iMWDBaudrate / 1000)) + (" kbps"));
|
||||
}
|
||||
else if (token == "mwdinputenable") { // włącz wejścia
|
||||
Parser.getTokens();
|
||||
Parser >> token;
|
||||
bMWDInputEnable = (token == "yes");
|
||||
if (bMWDdebugEnable && bMWDInputEnable) WriteLog("MWD Input Enable");
|
||||
}
|
||||
else if (token == "mwdbreakenable") { // włącz obsługę hamulców
|
||||
Parser.getTokens();
|
||||
Parser >> token;
|
||||
bMWDBreakEnable = (token == "yes");
|
||||
if (bMWDdebugEnable && bMWDBreakEnable) WriteLog("MWD Break Enable");
|
||||
}
|
||||
else if (token == "mwdmainbreakconfig") { // ustawienia hamulca zespolonego
|
||||
Parser.getTokens(2, false);
|
||||
Parser >> fMWDAnalogInCalib[0][0] >> fMWDAnalogInCalib[0][1];
|
||||
if (bMWDdebugEnable) WriteLog("Main break settings: " + to_string(fMWDAnalogInCalib[0][0]) + (" ") + to_string(fMWDAnalogInCalib[0][1]));
|
||||
}
|
||||
else if (token == "mwdlocbreakconfig") { // ustawienia hamulca lokomotywy
|
||||
Parser.getTokens(2, false);
|
||||
Parser >> fMWDAnalogInCalib[1][0] >> fMWDAnalogInCalib[1][1];
|
||||
if (bMWDdebugEnable) WriteLog("Locomotive break settings: " + to_string(fMWDAnalogInCalib[1][0]) + to_string(" ") + to_string(fMWDAnalogInCalib[1][1]));
|
||||
}
|
||||
else if (token == "mwdanalogin1config") { // ustawienia hamulca zespolonego
|
||||
Parser.getTokens(2, false);
|
||||
Parser >> fMWDAnalogInCalib[2][0] >> fMWDAnalogInCalib[2][1];
|
||||
if (bMWDdebugEnable) WriteLog("Analog input 1 settings: " + to_string(fMWDAnalogInCalib[2][0]) + to_string(" ") + to_string(fMWDAnalogInCalib[2][1]));
|
||||
}
|
||||
else if (token == "mwdanalogin2config") { // ustawienia hamulca lokomotywy
|
||||
Parser.getTokens(2, false);
|
||||
Parser >> fMWDAnalogInCalib[3][0] >> fMWDAnalogInCalib[3][1];
|
||||
if (bMWDdebugEnable) WriteLog("Analog input 2 settings: " + to_string(fMWDAnalogInCalib[3][0]) + to_string(" ") + to_string(fMWDAnalogInCalib[3][1]));
|
||||
}
|
||||
else if (token == "mwdmaintankpress") { // max ciśnienie w zbiorniku głownym i rozdzielczość
|
||||
Parser.getTokens(2, false);
|
||||
Parser >> fMWDzg[0] >> fMWDzg[1];
|
||||
if (bMWDdebugEnable) WriteLog("MainAirTank settings: " + to_string(fMWDzg[0]) + to_string(" ") + to_string(fMWDzg[1]));
|
||||
}
|
||||
else if (token == "mwdmainpipepress") { // max ciśnienie w przewodzie głownym i rozdzielczość
|
||||
Parser.getTokens(2, false);
|
||||
Parser >> fMWDpg[0] >> fMWDpg[1];
|
||||
if (bMWDdebugEnable) WriteLog("MainAirPipe settings: " + to_string(fMWDpg[0]) + to_string(" ") + to_string(fMWDpg[1]));
|
||||
}
|
||||
else if (token == "mwdbreakpress") { // max ciśnienie w hamulcach i rozdzielczość
|
||||
Parser.getTokens(2, false);
|
||||
Parser >> fMWDph[0] >> fMWDph[1];
|
||||
if (bMWDdebugEnable) WriteLog("AirPipe settings: " + to_string(fMWDph[0]) + to_string(" ") + to_string(fMWDph[1]));
|
||||
}
|
||||
else if (token == "mwdhivoltmeter") { // max napięcie na woltomierzu WN
|
||||
Parser.getTokens(2, false);
|
||||
Parser >> fMWDvolt[0] >> fMWDvolt[1];
|
||||
if (bMWDdebugEnable) WriteLog("VoltMeter settings: " + to_string(fMWDvolt[0]) + to_string(" ") + to_string(fMWDvolt[1]));
|
||||
}
|
||||
else if (token == "mwdhiampmeter") {
|
||||
Parser.getTokens(2, false);
|
||||
Parser >> fMWDamp[0] >> fMWDamp[1];
|
||||
if (bMWDdebugEnable) WriteLog("Amp settings: " + to_string(fMWDamp[0]) + to_string(" ") + to_string(fMWDamp[1]));
|
||||
}
|
||||
else if (token == "mwddivider") {
|
||||
Parser.getTokens(1, false);
|
||||
Parser >> iMWDdivider;
|
||||
}
|
||||
} while ((token != "") && (token != "endconfig")); //(!Parser->EndOfFile)
|
||||
// na koniec trochę zależności
|
||||
if (!bLoadTraction) // wczytywanie drutów i słupów
|
||||
|
||||
Reference in New Issue
Block a user