-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy pathComm.h
More file actions
162 lines (135 loc) · 4.11 KB
/
Copy pathComm.h
File metadata and controls
162 lines (135 loc) · 4.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
//Copyright+LGPL
//-----------------------------------------------------------------------------------------------------------------------------------------------
// Copyright 2000-2013 Makoto Mori, Nobuyuki Oba
//-----------------------------------------------------------------------------------------------------------------------------------------------
// This file is part of MMTTY.
// MMTTY is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License
// as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
// MMTTY is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
// You should have received a copy of the GNU Lesser General Public License along with MMTTY. If not, see
// <http://www.gnu.org/licenses/>.
//-----------------------------------------------------------------------------------------------------------------------------------------------
///----------------------------------------------------------
/// RS232C通信クラス
///
/// (C) JE3HHT Makoto.Mori
///
//---------------------------------------------------------------------------
#ifndef CommH
#define CommH
#include "rtty.h"
//---------------------------------------------------------------------------
#include <Classes.hpp>
//---------------------------------------------------------------------------
#define CR 0x0d
#define LF 0x0a
#define COMM_CLOSE 1
typedef struct {
int change;
int Baud;
int BitLen;
int Stop;
int Parity;
}COMMPARA;
extern COMMPARA COMM;
typedef long (__stdcall *extfskOpen)(long para);
typedef void (__stdcall *extfskClose)(void);
typedef long (__stdcall *extfskIsTxBusy)(void);
typedef void (__stdcall *extfskPutChar)(BYTE c);
typedef void (__stdcall *extfskSetPTT)(long tx);
class CEXTFSK
{
private:
//HANDLE m_hLib;
HINSTANCE m_hLib; //JA7UDE 0427
extfskOpen fextfskOpen;
extfskClose fextfskClose;
extfskIsTxBusy fextfskIsTxBusy;
extfskPutChar fextfskPutChar;
extfskSetPTT fextfskSetPTT;
private:
FARPROC GetProc(LPCSTR pName);
public:
__fastcall CEXTFSK(LPCSTR pName);
__fastcall ~CEXTFSK();
long __fastcall IsLib(void){return m_hLib != NULL;};
long __fastcall Open(long para);
void __fastcall Close(void);
long __fastcall IsTxBusy(void);
void __fastcall PutChar(BYTE c);
void __fastcall SetPTT(long tx);
};
#define COMM_TXBUFSIZE MODBUFMAX
class CComm : public TThread
{
public:
BOOL m_CreateON; // クリエイトフラグ
volatile int m_Command;
int m_Execute;
DCB m_dcb; // DCB
HANDLE m_fHnd; // ファイルハンドル
int m_inv;
int m_TxEnb;
char m_txbuf[COMM_TXBUFSIZE];
int m_txcnt;
int m_txwp;
int m_txrp;
int m_idle;
BYTE m_Data;
BYTE m_fig;
int m_DisDiddle;
int m_FirstGaurd;
int m_WaitTimerCount;
int m_figout;
CFSKMOD *pMod;
DWORD m_nextcount;
DWORD m_addcount;
#if BITDEBUG
int m_bitCount;
int m_bitCountA;
#endif
CEXTFSK *m_pEXT;
protected:
void virtual __fastcall Execute();
private:
void __fastcall NextBuf(void);
void __fastcall WaitTXD(int w);
void __fastcall OutData(BYTE d);
public:
__fastcall CComm(bool CreateSuspended);
__fastcall ~CComm(){
Close();
};
inline BOOL __fastcall IsOpen(void){
return m_CreateON;
};
inline void __fastcall SetInv(int inv){m_inv = inv;};
BOOL __fastcall Open(LPCTSTR PortName, int inv, COMMPARA *cp);
void __fastcall Close(void);
void __fastcall ReqClose(void);
void __fastcall WaitClose(void);
void __fastcall SetTXRX(int sw);
// void __fastcall SetDTR(int sw);
int __fastcall TxBusy(void);
// void Out(BYTE d);
void __fastcall PutChar(BYTE c);
void __fastcall EnbTX(int sw);
void __fastcall Timer(void);
inline __fastcall GetBufCount(void){
return m_txcnt;
};
void __fastcall DisDiddle(int sw){
m_DisDiddle = sw;
};
void __fastcall InitTxBuf(void){
m_txwp = m_txrp = m_txcnt = 0;
FSKCount1 = 0;
FSKCount2 = 0;
FSKCount = 0;
FSKDeff = 0;
};
// DWORD RecvLen(void);
};
void InitCOMMPara(void);
#endif