mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-17 23:39: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:
@@ -1,9 +1,18 @@
|
||||
/*
|
||||
Program obsługi portu COM i innych na potrzeby sterownika MWDevise
|
||||
dla Symulatora Pojazdów Szynowych MaSzyna
|
||||
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/.
|
||||
*/
|
||||
|
||||
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"
|
||||
@@ -110,20 +119,20 @@ bool MWDComm::Open() // otwieranie portu COM
|
||||
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;
|
||||
while(i<BYTETOWRITE)
|
||||
while(i<BYTETOWRITE) // zerowanie danych...
|
||||
{
|
||||
WriteDataBuff[i] = 0;
|
||||
i++;
|
||||
}
|
||||
Sleep(100);
|
||||
SendData();
|
||||
SendData(); // wysyłanie do pulpitu: zatrzymanie haslera i zgaszenie lampek
|
||||
Sleep(700);
|
||||
CloseHandle(hComm);
|
||||
WriteLog("COM zamkniety");
|
||||
WriteLog("COM is close!");
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -169,7 +178,7 @@ bool MWDComm::Run() // wywo
|
||||
return 1;
|
||||
}else
|
||||
{
|
||||
WriteLog("Port COM: blad polaczenia!");
|
||||
WriteLog("Port COM: connection ERROR!");
|
||||
// może spróbować się połączyć znowu?
|
||||
return 0;
|
||||
}
|
||||
@@ -653,7 +662,7 @@ bool MWDComm::CheckData() // sprawdzanie wej
|
||||
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;
|
||||
// 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
|
||||
|
||||
if(s!=0){// Press the "A" key
|
||||
if(s){// Press the "A" key
|
||||
ip.ki.dwFlags = 0; // 0 for key press
|
||||
SendInput(1, &ip, sizeof(INPUT));
|
||||
}else{
|
||||
@@ -672,7 +681,7 @@ bool MWDComm::KeyBoard(int key, int s) // emulacja klawiatury
|
||||
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
|
||||
#define MWDH
|
||||
//---------------------------------------------------------------------------
|
||||
@@ -16,7 +34,7 @@ private:
|
||||
bool ReadData(); //BYTE *pReadDataBuff);
|
||||
bool SendData(); //BYTE *pWriteDataBuff);
|
||||
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 bRysik1L;
|
||||
|
||||
Reference in New Issue
Block a user