16
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-07-22 12:49:18 +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:
maciek001
2016-12-11 14:56:04 +01:00
parent 008ae4a1dd
commit 1647256564
2 changed files with 41 additions and 14 deletions

View File

@@ -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;
} }

View File

@@ -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;