Commit 55205d56f381e4b30551dd28c12110c1ca16e3d0

Authored by xiemeng
1 parent 261b3bdf

1 合并TTYINFO.H 和MTTTY.H

2 导入comctl32.lib winmm.lib 支持
3 默认窗口大小
4 某些常用数据改为全局数据
Showing 2 changed files with 148 additions and 128 deletions
@@ -21,6 +21,146 @@ @@ -21,6 +21,146 @@
21 #include "resource.h" 21 #include "resource.h"
22 #include "ttyinfo.h" 22 #include "ttyinfo.h"
23 23
  24 +#pragma comment(lib,"comctl32.lib")
  25 +#pragma comment(lib,"winmm.lib")
  26 +//
  27 +// hard coded maximum number of ports
  28 +//
  29 +#define MAXPORTS 32
  30 +
  31 +//
  32 +// terminal size
  33 +//
  34 +#define MAXROWS 50
  35 +#define MAXCOLS 80
  36 +
  37 +//
  38 +// cursor states
  39 +//
  40 +#define CS_HIDE 0x00
  41 +#define CS_SHOW 0x01
  42 +
  43 +//
  44 +// ascii definitions
  45 +//
  46 +#define ASCII_BEL 0x07
  47 +#define ASCII_BS 0x08
  48 +#define ASCII_LF 0x0A
  49 +#define ASCII_CR 0x0D
  50 +#define ASCII_XON 0x11
  51 +#define ASCII_XOFF 0x13
  52 +
  53 +//
  54 +// data structures
  55 +//
  56 +struct TTYInfoStruct
  57 +{
  58 + HANDLE hCommPort, hReaderStatus, hWriter ;
  59 + DWORD dwEventFlags;
  60 + CHAR Screen[MAXCOLS * MAXROWS];
  61 + CHAR chFlag, chXON, chXOFF;
  62 + WORD wXONLimit, wXOFFLimit;
  63 + DWORD fRtsControl;
  64 + DWORD fDtrControl;
  65 + BOOL fConnected, fTransferring, fRepeating,
  66 + fLocalEcho, fNewLine,
  67 + fDisplayErrors, fAutowrap,
  68 + fCTSOutFlow, fDSROutFlow, fDSRInFlow,
  69 + fXonXoffOutFlow, fXonXoffInFlow,
  70 + fTXafterXoffSent,
  71 + fNoReading, fNoWriting, fNoEvents, fNoStatus,
  72 + fDisplayTimeouts;
  73 + BYTE bPort, bByteSize, bParity, bStopBits ;
  74 + DWORD dwBaudRate ;
  75 + WORD wCursorState ;
  76 + HFONT hTTYFont ;
  77 + LOGFONT lfTTYFont ;
  78 + DWORD rgbFGColor ;
  79 + COMMTIMEOUTS timeoutsorig;
  80 + COMMTIMEOUTS timeoutsnew;
  81 + int xSize, ySize, xScroll, yScroll, xOffset, yOffset,
  82 + nColumn, nRow, xChar, yChar , nCharPos;
  83 +#if 1//def __TOPWELL_EDIT__
  84 + DWORD rgbBGColor ;
  85 + BOOL DownloadReday;
  86 + DWORD tickcountFinish; //Íê³ÉÏÂÔØµÄʱ¼ä
  87 + BYTE unOpenedPortAry[255];
  88 +
  89 + char szFileName[MAX_PATH];
  90 +
  91 + HANDLE hFile;
  92 + DWORD dwFileSize;
  93 + DWORD dwPacketSize, dwMaxPackets;
  94 + DWORD dwRead;
  95 + char buff_Binfile[1024*1024*3];
  96 +
  97 + #endif
  98 +} TTYInfo;
  99 +
  100 +//
  101 +// macros ( for easier readability )
  102 +//
  103 +#define COMDEV( x ) (x.hCommPort)
  104 +#define CURSORSTATE( x ) (x.wCursorState)
  105 +#define PORT( x ) (x.bPort)
  106 +#define SCREEN( x ) (x.Screen)
  107 +#define CONNECTED( x ) (x.fConnected)
  108 +#define TRANSFERRING( x ) (x.fTransferring)
  109 +#define REPEATING( x ) (x.fRepeating)
  110 +#define LOCALECHO( x ) (x.fLocalEcho)
  111 +#define NEWLINE( x ) (x.fNewLine)
  112 +#define AUTOWRAP( x ) (x.fAutowrap)
  113 +#define BYTESIZE( x ) (x.bByteSize)
  114 +#define PARITY( x ) (x.bParity)
  115 +#define STOPBITS( x ) (x.bStopBits)
  116 +#define BAUDRATE( x ) (x.dwBaudRate)
  117 +#define HTTYFONT( x ) (x.hTTYFont)
  118 +#define LFTTYFONT( x ) (x.lfTTYFont)
  119 +#define FGCOLOR( x ) (x.rgbFGColor)
  120 +#define XSIZE( x ) (x.xSize)
  121 +#define YSIZE( x ) (x.ySize)
  122 +#define XSCROLL( x ) (x.xScroll)
  123 +#define YSCROLL( x ) (x.yScroll)
  124 +#define XOFFSET( x ) (x.xOffset)
  125 +#define YOFFSET( x ) (x.yOffset)
  126 +#define COLUMN( x ) (x.nColumn)
  127 +#define ROW( x ) (x.nRow)
  128 +#define XCHAR( x ) (x.xChar)
  129 +#define YCHAR( x ) (x.yChar)
  130 +#define DISPLAYERRORS( x ) (x.fDisplayErrors)
  131 +#define TIMEOUTSORIG( x ) (x.timeoutsorig)
  132 +#define TIMEOUTSNEW( x ) (x.timeoutsnew)
  133 +#define WRITERTHREAD( x ) (x.hWriter)
  134 +#define READSTATTHREAD( x ) (x.hReaderStatus)
  135 +#define EVENTFLAGS( x ) (x.dwEventFlags)
  136 +#define FLAGCHAR( x ) (x.chFlag)
  137 +#define SCREENCHAR( x, col, row ) (x.Screen[row * MAXCOLS + col])
  138 +
  139 +#define DTRCONTROL( x ) (x.fDtrControl)
  140 +#define RTSCONTROL( x ) (x.fRtsControl)
  141 +#define XONCHAR( x ) (x.chXON)
  142 +#define XOFFCHAR( x ) (x.chXOFF)
  143 +#define XONLIMIT( x ) (x.wXONLimit)
  144 +#define XOFFLIMIT( x ) (x.wXOFFLimit)
  145 +#define CTSOUTFLOW( x ) (x.fCTSOutFlow)
  146 +#define DSROUTFLOW( x ) (x.fDSROutFlow)
  147 +#define DSRINFLOW( x ) (x.fDSRInFlow)
  148 +#define XONXOFFOUTFLOW( x ) (x.fXonXoffOutFlow)
  149 +#define XONXOFFINFLOW( x ) (x.fXonXoffInFlow)
  150 +#define TXAFTERXOFFSENT(x) (x.fTXafterXoffSent)
  151 +
  152 +#define NOREADING( x ) (x.fNoReading)
  153 +#define NOWRITING( x ) (x.fNoWriting)
  154 +#define NOEVENTS( x ) (x.fNoEvents)
  155 +#define NOSTATUS( x ) (x.fNoStatus)
  156 +#define SHOWTIMEOUTS( x ) (x.fDisplayTimeouts)
  157 +
  158 +//---------------------------------------------------------------------------
  159 +// End of File: ttyinfo.h
  160 +//---------------------------------------------------------------------------
  161 +
  162 +
  163 +
24 // 164 //
25 // GLOBAL DEFINES 165 // GLOBAL DEFINES
26 // 166 //
@@ -54,13 +194,13 @@ @@ -54,13 +194,13 @@
54 // 194 //
55 // window coords 195 // window coords
56 // 196 //
57 -#define MAXXWINDOW 750  
58 -#define MAXYWINDOW 530 197 +#define MAXXWINDOW 350
  198 +#define MAXYWINDOW 230
59 #define STARTXWINDOW 80 199 #define STARTXWINDOW 80
60 #define STARTYWINDOW 70 200 #define STARTYWINDOW 70
61 201
62 -#define SETTINGSFACTOR 5  
63 -#define STATUSFACTOR 5 202 +#define SETTINGSFACTOR 3
  203 +#define STATUSFACTOR 2
64 204
65 // 205 //
66 // window timer ids 206 // window timer ids
@@ -76,7 +216,7 @@ HACCEL ghAccel; @@ -76,7 +216,7 @@ HACCEL ghAccel;
76 HWND ghwndMain; 216 HWND ghwndMain;
77 HWND ghWndToolbarDlg; 217 HWND ghWndToolbarDlg;
78 HWND ghWndStatusDlg; 218 HWND ghWndStatusDlg;
79 -HWND ghWndTTY; 219 +HWND ghWndMessage;
80 HWND ghWndHidden; 220 HWND ghWndHidden;
81 221
82 // 222 //
@@ -190,7 +330,7 @@ void InitNewFont( LOGFONT, COLORREF ); @@ -190,7 +330,7 @@ void InitNewFont( LOGFONT, COLORREF );
190 // 330 //
191 void OpenSettingsToolbar( HWND ); 331 void OpenSettingsToolbar( HWND );
192 void OpenStatusToolbar( HWND ); 332 void OpenStatusToolbar( HWND );
193 -BOOL CmdAbout( HWND ); 333 +//BOOL CmdAbout( HWND );
194 334
195 // 335 //
196 // TTY functions 336 // TTY functions
@@ -222,7 +362,8 @@ DWORD GetAFrequency( void ); @@ -222,7 +362,8 @@ DWORD GetAFrequency( void );
222 // Buffer manipulation functions 362 // Buffer manipulation functions
223 // 363 //
224 void OutputABufferToWindow( HWND, char *, DWORD ); 364 void OutputABufferToWindow( HWND, char *, DWORD );
225 -void OutputABuffer( HWND, char *, DWORD ); 365 +void OutputABuffer( char *);
  366 +void OutputAclorBuffer( char *,DWORD);
226 BOOL ClearTTYContents( void ); 367 BOOL ClearTTYContents( void );
227 368
228 // 369 //
@@ -18,124 +18,3 @@ @@ -18,124 +18,3 @@
18 // constant definitions 18 // constant definitions
19 // 19 //
20 20
21 -//  
22 -// hard coded maximum number of ports  
23 -//  
24 -#define MAXPORTS 32  
25 -  
26 -//  
27 -// terminal size  
28 -//  
29 -#define MAXROWS 50  
30 -#define MAXCOLS 80  
31 -  
32 -//  
33 -// cursor states  
34 -//  
35 -#define CS_HIDE 0x00  
36 -#define CS_SHOW 0x01  
37 -  
38 -//  
39 -// ascii definitions  
40 -//  
41 -#define ASCII_BEL 0x07  
42 -#define ASCII_BS 0x08  
43 -#define ASCII_LF 0x0A  
44 -#define ASCII_CR 0x0D  
45 -#define ASCII_XON 0x11  
46 -#define ASCII_XOFF 0x13  
47 -  
48 -//  
49 -// data structures  
50 -//  
51 -struct TTYInfoStruct  
52 -{  
53 - HANDLE hCommPort, hReaderStatus, hWriter ;  
54 - DWORD dwEventFlags;  
55 - CHAR Screen[MAXCOLS * MAXROWS];  
56 - CHAR chFlag, chXON, chXOFF;  
57 - WORD wXONLimit, wXOFFLimit;  
58 - DWORD fRtsControl;  
59 - DWORD fDtrControl;  
60 - BOOL fConnected, fTransferring, fRepeating,  
61 - fLocalEcho, fNewLine,  
62 - fDisplayErrors, fAutowrap,  
63 - fCTSOutFlow, fDSROutFlow, fDSRInFlow,  
64 - fXonXoffOutFlow, fXonXoffInFlow,  
65 - fTXafterXoffSent,  
66 - fNoReading, fNoWriting, fNoEvents, fNoStatus,  
67 - fDisplayTimeouts;  
68 - BYTE bPort, bByteSize, bParity, bStopBits ;  
69 - DWORD dwBaudRate ;  
70 - WORD wCursorState ;  
71 - HFONT hTTYFont ;  
72 - LOGFONT lfTTYFont ;  
73 - DWORD rgbFGColor ;  
74 - COMMTIMEOUTS timeoutsorig;  
75 - COMMTIMEOUTS timeoutsnew;  
76 - int xSize, ySize, xScroll, yScroll, xOffset, yOffset,  
77 - nColumn, nRow, xChar, yChar , nCharPos;  
78 -  
79 -} TTYInfo;  
80 -  
81 -//  
82 -// macros ( for easier readability )  
83 -//  
84 -#define COMDEV( x ) (x.hCommPort)  
85 -#define CURSORSTATE( x ) (x.wCursorState)  
86 -#define PORT( x ) (x.bPort)  
87 -#define SCREEN( x ) (x.Screen)  
88 -#define CONNECTED( x ) (x.fConnected)  
89 -#define TRANSFERRING( x ) (x.fTransferring)  
90 -#define REPEATING( x ) (x.fRepeating)  
91 -#define LOCALECHO( x ) (x.fLocalEcho)  
92 -#define NEWLINE( x ) (x.fNewLine)  
93 -#define AUTOWRAP( x ) (x.fAutowrap)  
94 -#define BYTESIZE( x ) (x.bByteSize)  
95 -#define PARITY( x ) (x.bParity)  
96 -#define STOPBITS( x ) (x.bStopBits)  
97 -#define BAUDRATE( x ) (x.dwBaudRate)  
98 -#define HTTYFONT( x ) (x.hTTYFont)  
99 -#define LFTTYFONT( x ) (x.lfTTYFont)  
100 -#define FGCOLOR( x ) (x.rgbFGColor)  
101 -#define XSIZE( x ) (x.xSize)  
102 -#define YSIZE( x ) (x.ySize)  
103 -#define XSCROLL( x ) (x.xScroll)  
104 -#define YSCROLL( x ) (x.yScroll)  
105 -#define XOFFSET( x ) (x.xOffset)  
106 -#define YOFFSET( x ) (x.yOffset)  
107 -#define COLUMN( x ) (x.nColumn)  
108 -#define ROW( x ) (x.nRow)  
109 -#define XCHAR( x ) (x.xChar)  
110 -#define YCHAR( x ) (x.yChar)  
111 -#define DISPLAYERRORS( x ) (x.fDisplayErrors)  
112 -#define TIMEOUTSORIG( x ) (x.timeoutsorig)  
113 -#define TIMEOUTSNEW( x ) (x.timeoutsnew)  
114 -#define WRITERTHREAD( x ) (x.hWriter)  
115 -#define READSTATTHREAD( x ) (x.hReaderStatus)  
116 -#define EVENTFLAGS( x ) (x.dwEventFlags)  
117 -#define FLAGCHAR( x ) (x.chFlag)  
118 -#define SCREENCHAR( x, col, row ) (x.Screen[row * MAXCOLS + col])  
119 -  
120 -#define DTRCONTROL( x ) (x.fDtrControl)  
121 -#define RTSCONTROL( x ) (x.fRtsControl)  
122 -#define XONCHAR( x ) (x.chXON)  
123 -#define XOFFCHAR( x ) (x.chXOFF)  
124 -#define XONLIMIT( x ) (x.wXONLimit)  
125 -#define XOFFLIMIT( x ) (x.wXOFFLimit)  
126 -#define CTSOUTFLOW( x ) (x.fCTSOutFlow)  
127 -#define DSROUTFLOW( x ) (x.fDSROutFlow)  
128 -#define DSRINFLOW( x ) (x.fDSRInFlow)  
129 -#define XONXOFFOUTFLOW( x ) (x.fXonXoffOutFlow)  
130 -#define XONXOFFINFLOW( x ) (x.fXonXoffInFlow)  
131 -#define TXAFTERXOFFSENT(x) (x.fTXafterXoffSent)  
132 -  
133 -#define NOREADING( x ) (x.fNoReading)  
134 -#define NOWRITING( x ) (x.fNoWriting)  
135 -#define NOEVENTS( x ) (x.fNoEvents)  
136 -#define NOSTATUS( x ) (x.fNoStatus)  
137 -#define SHOWTIMEOUTS( x ) (x.fDisplayTimeouts)  
138 -  
139 -//---------------------------------------------------------------------------  
140 -// End of File: ttyinfo.h  
141 -//---------------------------------------------------------------------------  
Please register or login to post a comment