mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-22 15:09:19 +02:00
1. Licencje dodane - jeżeli uważasz, że źle to daj znać jak to naprawić ;)
2. Przy zamykaniu połączenia ustawiam zera i wysyłam żeby cały pulpit się wyłączył (lampki, kontrolki, buczki), hasler przestał kręcić itd. 3. Ramek do sterowania nie ma: sama specyfikacja RS-232 określa tylko ramkę danych (nie ma rozróżneinia między danymi a sterowaniem) i sygnałami sterującymi takimi jak RTS, CTS. Na razie nie wykorzystuję RTS ale prawdopodobnie będę go dorzucał jako dodatkowy sygnał. 4. Emulacja klawiatury: najpierw "wciskam" przycisk na klawiaturze i żeby nie generować opuźnienia puszczam go dopiero w następnej obsłudze. Obsługa wszystkiego na raz (wciskanie i puszczanie) nie działa bo za szybko się to robi ;) 5. Funkcja emulacji klawiatury działa następująco: przesyłasz numer przycisku do wciśnięcia i (teraz już boola) czy ma być wciśnięty czy puszczony.
This commit is contained in:
@@ -1,9 +1,18 @@
|
|||||||
/*
|
/*
|
||||||
Program obsługi portu COM i innych na potrzeby sterownika MWDevise
|
This Source Code Form is subject to the
|
||||||
dla Symulatora Pojazdów Szynowych MaSzyna
|
terms of the Mozilla Public License, v.
|
||||||
|
2.0. If a copy of the MPL was not
|
||||||
|
distributed with this file, You can
|
||||||
|
obtain one at
|
||||||
|
http://mozilla.org/MPL/2.0/.
|
||||||
|
*/
|
||||||
|
|
||||||
author: Maciej Witek 2016
|
/*
|
||||||
wszelkie prawa zastrzeżone!
|
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!
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "MWD.h"
|
#include "MWD.h"
|
||||||
@@ -110,20 +119,20 @@ bool MWDComm::Open() // otwieranie portu COM
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool MWDComm::Close() // zamykanie portu COM
|
bool MWDComm::Close() // zamykanie portu COM
|
||||||
{
|
{
|
||||||
WriteLog("zamykam COM-a");
|
WriteLog("COM Port is closing...");
|
||||||
int i = 0;
|
int i = 0;
|
||||||
while(i<BYTETOWRITE)
|
while(i<BYTETOWRITE) // zerowanie danych...
|
||||||
{
|
{
|
||||||
WriteDataBuff[i] = 0;
|
WriteDataBuff[i] = 0;
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
Sleep(100);
|
Sleep(100);
|
||||||
SendData();
|
SendData(); // wysyłanie do pulpitu: zatrzymanie haslera i zgaszenie lampek
|
||||||
Sleep(700);
|
Sleep(700);
|
||||||
CloseHandle(hComm);
|
CloseHandle(hComm);
|
||||||
WriteLog("COM zamkniety");
|
WriteLog("COM is close!");
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -169,7 +178,7 @@ bool MWDComm::Run() // wywo
|
|||||||
return 1;
|
return 1;
|
||||||
}else
|
}else
|
||||||
{
|
{
|
||||||
WriteLog("Port COM: blad polaczenia!");
|
WriteLog("Port COM: connection ERROR!");
|
||||||
// może spróbować się połączyć znowu?
|
// może spróbować się połączyć znowu?
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -653,7 +662,7 @@ bool MWDComm::CheckData() // sprawdzanie wej
|
|||||||
else WriteDataBuff[6] &= ~(1<<3);
|
else WriteDataBuff[6] &= ~(1<<3);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool MWDComm::KeyBoard(int key, int s) // emulacja klawiatury
|
void MWDComm::KeyBoard(int key, bool s) // emulacja klawiatury
|
||||||
{
|
{
|
||||||
INPUT ip;
|
INPUT ip;
|
||||||
// Set up a generic keyboard event.
|
// Set up a generic keyboard event.
|
||||||
@@ -664,7 +673,7 @@ bool MWDComm::KeyBoard(int key, int s) // emulacja klawiatury
|
|||||||
|
|
||||||
ip.ki.wVk = key; // virtual-key code for the "a" key
|
ip.ki.wVk = key; // virtual-key code for the "a" key
|
||||||
|
|
||||||
if(s!=0){// Press the "A" key
|
if(s){// Press the "A" key
|
||||||
ip.ki.dwFlags = 0; // 0 for key press
|
ip.ki.dwFlags = 0; // 0 for key press
|
||||||
SendInput(1, &ip, sizeof(INPUT));
|
SendInput(1, &ip, sizeof(INPUT));
|
||||||
}else{
|
}else{
|
||||||
@@ -672,7 +681,7 @@ bool MWDComm::KeyBoard(int key, int s) // emulacja klawiatury
|
|||||||
SendInput(1, &ip, sizeof(INPUT));
|
SendInput(1, &ip, sizeof(INPUT));
|
||||||
}
|
}
|
||||||
|
|
||||||
return 1;
|
//return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,21 @@
|
|||||||
|
/*
|
||||||
|
This Source Code Form is subject to the
|
||||||
|
terms of the Mozilla Public License, v.
|
||||||
|
2.0. If a copy of the MPL was not
|
||||||
|
distributed with this file, You can
|
||||||
|
obtain one at
|
||||||
|
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
|
||||||
|
author: Maciej Witek 2016
|
||||||
|
Autor nie ponosi odpowiedzialności za niewłaciwe używanie lub działanie programu!
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
#ifndef MWDH
|
#ifndef MWDH
|
||||||
#define MWDH
|
#define MWDH
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
@@ -16,7 +34,7 @@ private:
|
|||||||
bool ReadData(); //BYTE *pReadDataBuff);
|
bool ReadData(); //BYTE *pReadDataBuff);
|
||||||
bool SendData(); //BYTE *pWriteDataBuff);
|
bool SendData(); //BYTE *pWriteDataBuff);
|
||||||
bool CheckData(); //sprawdzanie zmian wejść i kontrola mazaków HASLERA
|
bool CheckData(); //sprawdzanie zmian wejść i kontrola mazaków HASLERA
|
||||||
bool KeyBoard(int key, int s);
|
void KeyBoard(int key, bool s);
|
||||||
|
|
||||||
bool bRysik1H;
|
bool bRysik1H;
|
||||||
bool bRysik1L;
|
bool bRysik1L;
|
||||||
|
|||||||
Reference in New Issue
Block a user