mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-21 20:39:18 +02:00
Konwersja na UTF-8
Konwersja na UTF-8 Dodany nowy warunek dla formatera aby nie sortował includów.
This commit is contained in:
@@ -8,11 +8,11 @@ http://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
/*
|
||||
Program obsługi portu COM i innych na potrzeby sterownika MWDevice
|
||||
(oraz innych wykorzystujących komunikację przez port COM)
|
||||
dla Symulatora Pojazdów Szynowych MaSzyna
|
||||
Program obsługi portu COM i innych na potrzeby sterownika MWDevice
|
||||
(oraz innych wykorzystujących komunikację przez port COM)
|
||||
dla Symulatora Pojazdów Szynowych MaSzyna
|
||||
author: Maciej Witek 2016
|
||||
Autor nie ponosi odpowiedzialności za niewłaciwe używanie lub działanie programu!
|
||||
Autor nie ponosi odpowiedzialności za niewłaciwe używanie lub działanie programu!
|
||||
*/
|
||||
#include "stdafx.h"
|
||||
#include "MWD.h"
|
||||
@@ -22,8 +22,8 @@ http://mozilla.org/MPL/2.0/.
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
#define BYTETOWRITE 31 /* ilość bajtów przesyłanych z MaSzyny*/
|
||||
#define BYTETOREAD 16 /* ilość bajtów przesyłanych do MaSzyny*/
|
||||
#define BYTETOWRITE 31 /* ilość bajtów przesyłanych z MaSzyny*/
|
||||
#define BYTETOREAD 16 /* ilość bajtów przesyłanych do MaSzyny*/
|
||||
|
||||
HANDLE hComm;
|
||||
|
||||
@@ -32,7 +32,7 @@ MWDComm::MWDComm() // konstruktor
|
||||
MWDTime = 0;
|
||||
bSHPstate = false;
|
||||
bPrzejazdSHP = false;
|
||||
bKabina1 = true; // pasuje wyciągnąć dane na temat kabiny i ustawiać te dwa parametry!
|
||||
bKabina1 = true; // pasuje wyciągnąć dane na temat kabiny i ustawiać te dwa parametry!
|
||||
bKabina2 = false;
|
||||
bHamowanie = false;
|
||||
bCzuwak = false;
|
||||
@@ -134,7 +134,7 @@ bool MWDComm::Close() // zamykanie portu COM
|
||||
i++;
|
||||
}
|
||||
Sleep(100);
|
||||
SendData(); // wysyłanie do pulpitu: zatrzymanie haslera i zgaszenie lampek
|
||||
SendData(); // wysyłanie do pulpitu: zatrzymanie haslera i zgaszenie lampek
|
||||
Sleep(700);
|
||||
CloseHandle(hComm);
|
||||
WriteLog("COM is close!");
|
||||
@@ -156,7 +156,7 @@ bool MWDComm::ReadData() // odbieranie danych + odczyta danych analogowych i zap
|
||||
|
||||
fAnalog[0] =
|
||||
(float)((ReadDataBuff[9] << 8) + ReadDataBuff[8]) /
|
||||
Global::fMWDAnalogCalib[0][3]; // 4095.0f; //max wartosc wynikająca z rozdzielczości
|
||||
Global::fMWDAnalogCalib[0][3]; // 4095.0f; //max wartosc wynikająca z rozdzielczości
|
||||
fAnalog[1] =
|
||||
(float)((ReadDataBuff[11] << 8) + ReadDataBuff[10]) / Global::fMWDAnalogCalib[1][3];
|
||||
fAnalog[2] =
|
||||
@@ -168,7 +168,7 @@ bool MWDComm::ReadData() // odbieranie danych + odczyta danych analogowych i zap
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool MWDComm::SendData() // wysyłanie danych
|
||||
bool MWDComm::SendData() // wysyłanie danych
|
||||
{
|
||||
DWORD bytes_write;
|
||||
DWORD fdwEvtMask;
|
||||
@@ -178,7 +178,7 @@ bool MWDComm::SendData() // wysy
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool MWDComm::Run() // wywoływanie obsługi MWD + generacja większego opóźnienia
|
||||
bool MWDComm::Run() // wywoływanie obsługi MWD + generacja większego opóźnienia
|
||||
{
|
||||
MWDTime++;
|
||||
if (!(MWDTime % 5))
|
||||
@@ -193,14 +193,14 @@ bool MWDComm::Run() // wywo
|
||||
else
|
||||
{
|
||||
WriteLog("Port COM: connection ERROR!");
|
||||
// może spróbować się połączyć znowu?
|
||||
// może spróbować się połączyć znowu?
|
||||
return 0;
|
||||
}
|
||||
MWDTime = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void MWDComm::CheckData() // sprawdzanie wejść cyfrowych i odpowiednie sterowanie maszyną
|
||||
void MWDComm::CheckData() // sprawdzanie wejść cyfrowych i odpowiednie sterowanie maszyną
|
||||
{
|
||||
int i = 0;
|
||||
while (i < 6)
|
||||
@@ -210,23 +210,23 @@ void MWDComm::CheckData() // sprawdzanie wej
|
||||
i++;
|
||||
}
|
||||
/*
|
||||
Rozpiska portów!
|
||||
Port0: 0 NC odblok. przek. sprężarki i wentyl. oporów
|
||||
1 M wyłącznik wył. szybkiego
|
||||
2 Shift+M impuls załączający wył. szybki
|
||||
3 N odblok. przekaźników nadmiarowych
|
||||
i różnicowego obwodu głównego
|
||||
Rozpiska portów!
|
||||
Port0: 0 NC odblok. przek. sprężarki i wentyl. oporów
|
||||
1 M wyłącznik wył. szybkiego
|
||||
2 Shift+M impuls załączający wył. szybki
|
||||
3 N odblok. przekaźników nadmiarowych
|
||||
i różnicowego obwodu głównego
|
||||
4 NC rezerwa
|
||||
5 Ctrl+N odblok. przek. nadmiarowych
|
||||
przetwornicy, ogrzewania pociągu i różnicowych obw. pomocniczych
|
||||
6 L wył. styczników liniowych
|
||||
przetwornicy, ogrzewania pociągu i różnicowych obw. pomocniczych
|
||||
6 L wył. styczników liniowych
|
||||
7 SPACE kasowanie czuwaka
|
||||
|
||||
Port1: 0 NC
|
||||
1 (Shift) X przetwornica
|
||||
2 (Shift) C sprężarka
|
||||
2 (Shift) C sprężarka
|
||||
3 S piasecznice
|
||||
4 (Shift) H ogrzewanie składu
|
||||
4 (Shift) H ogrzewanie składu
|
||||
5 przel. hamowania Shift+B
|
||||
pspbpwy Ctrl+B pospieszny B towarowy
|
||||
6 przel. hamowania
|
||||
@@ -234,10 +234,10 @@ void MWDComm::CheckData() // sprawdzanie wej
|
||||
|
||||
Port2: 0 (Shift) P pantograf przedni
|
||||
1 (Shift) O pantograf tylni
|
||||
2 ENTER przyhamowanie przy poślizgu
|
||||
3 () przyciemnienie świateł
|
||||
4 () przyciemnienie świateł
|
||||
5 NUM6 odluźniacz
|
||||
2 ENTER przyhamowanie przy poślizgu
|
||||
3 () przyciemnienie świateł
|
||||
4 () przyciemnienie świateł
|
||||
5 NUM6 odluźniacz
|
||||
6 a syrena lok W
|
||||
7 A syrena lok N
|
||||
|
||||
@@ -251,18 +251,18 @@ void MWDComm::CheckData() // sprawdzanie wej
|
||||
7
|
||||
*/
|
||||
|
||||
/* po przełączeniu bistabilnego najpierw wciskamy klawisz i przy następnym
|
||||
wejściu w pętlę MWD puszczamy bo inaczej nie działa
|
||||
/* po przełączeniu bistabilnego najpierw wciskamy klawisz i przy następnym
|
||||
wejściu w pętlę MWD puszczamy bo inaczej nie działa
|
||||
*/
|
||||
|
||||
// wciskanie przycisków klawiatury
|
||||
// wciskanie przycisków klawiatury
|
||||
/*PORT0*/
|
||||
if (maskData[0] & 0x02 && lastStateData[0] & 0x02)
|
||||
KeyBoard('M', 1); // wyłączenie wyłącznika szybkiego
|
||||
KeyBoard('M', 1); // wyłączenie wyłącznika szybkiego
|
||||
else
|
||||
KeyBoard('M', 0); // monostabilny
|
||||
if (maskData[0] & 0x04 && lastStateData[0] & 0x04)
|
||||
{ // impuls załączający wyłącznik szybki
|
||||
{ // impuls załączający wyłącznik szybki
|
||||
KeyBoard(0x10, 1); // monostabilny
|
||||
KeyBoard('M', 1);
|
||||
}
|
||||
@@ -272,12 +272,12 @@ void MWDComm::CheckData() // sprawdzanie wej
|
||||
KeyBoard(0x10, 0);
|
||||
}
|
||||
if (maskData[0] & 0x08 && lastStateData[0] & 0x08)
|
||||
KeyBoard('N', 1); // odblok nadmiarowego silników trakcyjnych
|
||||
KeyBoard('N', 1); // odblok nadmiarowego silników trakcyjnych
|
||||
else
|
||||
KeyBoard('N', 0); // monostabilny
|
||||
if (maskData[0] & 0x20 && lastStateData[0] & 0x20)
|
||||
{ // odblok nadmiarowego przetwornicy, ogrzewania poc.
|
||||
KeyBoard(0x11, 1); // różnicowego obwodów pomocniczych
|
||||
KeyBoard(0x11, 1); // różnicowego obwodów pomocniczych
|
||||
KeyBoard('N', 1); // monostabilny
|
||||
}
|
||||
else
|
||||
@@ -286,7 +286,7 @@ void MWDComm::CheckData() // sprawdzanie wej
|
||||
KeyBoard(0x11, 0);
|
||||
}
|
||||
if (maskData[0] & 0x40 && lastStateData[0] & 0x40)
|
||||
KeyBoard('L', 1); // wył. styczników liniowych
|
||||
KeyBoard('L', 1); // wył. styczników liniowych
|
||||
else
|
||||
KeyBoard('L', 0); // monostabilny
|
||||
if (maskData[0] & 0x80 && lastStateData[0] & 0x80)
|
||||
@@ -365,7 +365,7 @@ void MWDComm::CheckData() // sprawdzanie wej
|
||||
KeyBoard('X', 1);
|
||||
}
|
||||
if (maskData[1] & 0x04 && lastStateData[1] & 0x04)
|
||||
{ // sprężarka
|
||||
{ // sprężarka
|
||||
KeyBoard(0x10, 1); // bistabilny
|
||||
KeyBoard('C', 1);
|
||||
maskSwitch[1] |= 0x04;
|
||||
@@ -382,7 +382,7 @@ void MWDComm::CheckData() // sprawdzanie wej
|
||||
else
|
||||
KeyBoard('S', 0); // monostabilny
|
||||
if (maskData[1] & 0x10 && lastStateData[1] & 0x10)
|
||||
{ // ogrzewanie składu
|
||||
{ // ogrzewanie składu
|
||||
KeyBoard(0x11, 1); // bistabilny
|
||||
KeyBoard('H', 1);
|
||||
maskSwitch[1] |= 0x10;
|
||||
@@ -395,7 +395,7 @@ void MWDComm::CheckData() // sprawdzanie wej
|
||||
KeyBoard('H', 1);
|
||||
}
|
||||
if (maskData[1] & 0x20 || maskData[1] & 0x40)
|
||||
{ // przełącznik hamowania
|
||||
{ // przełącznik hamowania
|
||||
if (lastStateData[1] & 0x20)
|
||||
{ // Shift+B
|
||||
KeyBoard(0x10, 1);
|
||||
@@ -475,7 +475,7 @@ void MWDComm::CheckData() // sprawdzanie wej
|
||||
KeyBoard('O', 1);
|
||||
}
|
||||
if (maskData[2] & 0x04 && lastStateData[2] & 0x04)
|
||||
{ // przyhamowanie przy poślizgu
|
||||
{ // przyhamowanie przy poślizgu
|
||||
KeyBoard(0x10, 1); // monostabilny
|
||||
KeyBoard(0x0D, 1);
|
||||
}
|
||||
@@ -485,7 +485,7 @@ void MWDComm::CheckData() // sprawdzanie wej
|
||||
KeyBoard(0x0D, 0);
|
||||
KeyBoard(0x10, 0);
|
||||
}
|
||||
/*if(maskData[2] & 0x08 && lastStateData[2] & 0x08){ // przyciemnienie świateł
|
||||
/*if(maskData[2] & 0x08 && lastStateData[2] & 0x08){ // przyciemnienie świateł
|
||||
KeyBoard(' ',0); // bistabilny
|
||||
KeyBoard(0x10,1);
|
||||
KeyBoard(' ',1);
|
||||
@@ -494,7 +494,7 @@ void MWDComm::CheckData() // sprawdzanie wej
|
||||
KeyBoard(0x10,0);
|
||||
KeyBoard(' ',1);
|
||||
}
|
||||
if(maskData[2] & 0x10 && lastStateData[2] & 0x10) { // przyciemnienie świateł
|
||||
if(maskData[2] & 0x10 && lastStateData[2] & 0x10) { // przyciemnienie świateł
|
||||
KeyBoard(' ',0); // bistabilny
|
||||
KeyBoard(0x11,1);
|
||||
KeyBoard(' ',1);
|
||||
@@ -504,7 +504,7 @@ void MWDComm::CheckData() // sprawdzanie wej
|
||||
KeyBoard(' ',1);
|
||||
}*/
|
||||
if (maskData[2] & 0x20 && lastStateData[2] & 0x20)
|
||||
KeyBoard(0x66, 1); // odluźniacz
|
||||
KeyBoard(0x66, 1); // odluźniacz
|
||||
else
|
||||
KeyBoard(0x66, 0); // monostabilny
|
||||
if (maskData[2] & 0x40 && lastStateData[2] & 0x40)
|
||||
@@ -713,28 +713,28 @@ void MWDComm::CheckData() // sprawdzanie wej
|
||||
{
|
||||
bnkMask |= 1;
|
||||
nastawnik++;
|
||||
KeyBoard(0x6B, 1); // wciśnij + i dodaj 1 do nastawnika
|
||||
KeyBoard(0x6B, 1); // wciśnij + i dodaj 1 do nastawnika
|
||||
}
|
||||
if (nastawnik > ReadDataBuff[6])
|
||||
{
|
||||
bnkMask |= 2;
|
||||
nastawnik--;
|
||||
KeyBoard(0x6D, 1); // wciśnij - i odejmij 1 do nastawnika
|
||||
KeyBoard(0x6D, 1); // wciśnij - i odejmij 1 do nastawnika
|
||||
}
|
||||
if (bocznik < ReadDataBuff[7])
|
||||
{
|
||||
bnkMask |= 4;
|
||||
bocznik++;
|
||||
KeyBoard(0x6F, 1); // wciśnij / i dodaj 1 do bocznika
|
||||
KeyBoard(0x6F, 1); // wciśnij / i dodaj 1 do bocznika
|
||||
}
|
||||
if (bocznik > ReadDataBuff[7])
|
||||
{
|
||||
bnkMask |= 8;
|
||||
bocznik--;
|
||||
KeyBoard(0x6A, 1); // wciśnij * i odejmij 1 do bocznika
|
||||
KeyBoard(0x6A, 1); // wciśnij * i odejmij 1 do bocznika
|
||||
}
|
||||
|
||||
/* Obsługa HASLERA */
|
||||
/* Obsługa HASLERA */
|
||||
if (ReadDataBuff[0] & 0x80)
|
||||
bCzuwak = true;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user