Commit a01030be4069e3c38510e8d4de87bc97e5997e2c

Authored by xiemeng
1 parent 261b3bdf

增加__OPTEK_EDIT__ 区分optek编辑部分

@@ -34,8 +34,6 @@ @@ -34,8 +34,6 @@
34 #include <commctrl.h> 34 #include <commctrl.h>
35 #include "mttty.h" 35 #include "mttty.h"
36 36
37 -#pragma comment(lib,"comctl32.lib")  
38 -  
39 /* 37 /*
40 Prototypes for functions called only within this file 38 Prototypes for functions called only within this file
41 */ 39 */
@@ -51,13 +49,14 @@ DWORD WaitForThreads( DWORD ); @@ -51,13 +49,14 @@ DWORD WaitForThreads( DWORD );
51 */ 49 */
52 COMMTIMEOUTS gTimeoutsDefault = { 0x01, 0, 0, 0, 0 }; 50 COMMTIMEOUTS gTimeoutsDefault = { 0x01, 0, 0, 0, 0 };
53 51
  52 +#ifdef __OPTEK_EDIT__
54 extern char szFileName[MAX_PATH]; 53 extern char szFileName[MAX_PATH];
55 54
56 void oem_init(void) 55 void oem_init(void)
57 { 56 {
58 memset(szFileName,0,sizeof(szFileName)); 57 memset(szFileName,0,sizeof(szFileName));
59 } 58 }
60 - 59 +#endif
61 60
62 /*----------------------------------------------------------------------------- 61 /*-----------------------------------------------------------------------------
63 62
@@ -75,7 +74,9 @@ void GlobalInitialize() @@ -75,7 +74,9 @@ void GlobalInitialize()
75 { 74 {
76 int cyMenuHeight, cyCaptionHeight, cyFrameHeight; 75 int cyMenuHeight, cyCaptionHeight, cyFrameHeight;
77 76
  77 +#ifdef __OPTEK_EDIT__
78 oem_init(); 78 oem_init();
  79 +#endif
79 // 80 //
80 // critical sections in status reporting & node management 81 // critical sections in status reporting & node management
81 // 82 //
@@ -213,7 +214,9 @@ void InitNewFont(LOGFONT LogFont, COLORREF rgbColor) @@ -213,7 +214,9 @@ void InitNewFont(LOGFONT LogFont, COLORREF rgbColor)
213 YOFFSET( TTYInfo ) = YCHAR(TTYInfo) * ROW(TTYInfo); 214 YOFFSET( TTYInfo ) = YCHAR(TTYInfo) * ROW(TTYInfo);
214 } 215 }
215 216
  217 +#ifdef __OPTEK_EDIT__
216 extern DWORD BaudTable[]; 218 extern DWORD BaudTable[];
  219 +#endif
217 /*----------------------------------------------------------------------------- 220 /*-----------------------------------------------------------------------------
218 221
219 FUNCTION: InitTTYInfo 222 FUNCTION: InitTTYInfo
@@ -238,7 +241,11 @@ BOOL InitTTYInfo() @@ -238,7 +241,11 @@ BOOL InitTTYInfo()
238 LOCALECHO( TTYInfo ) = FALSE ; 241 LOCALECHO( TTYInfo ) = FALSE ;
239 CURSORSTATE( TTYInfo ) = CS_HIDE ; 242 CURSORSTATE( TTYInfo ) = CS_HIDE ;
240 PORT( TTYInfo ) = 1 ; 243 PORT( TTYInfo ) = 1 ;
  244 +#ifdef __OPTEK_EDIT__
241 BAUDRATE( TTYInfo ) = BaudTable[2] ; 245 BAUDRATE( TTYInfo ) = BaudTable[2] ;
  246 +#else
  247 + BAUDRATE( TTYInfo ) = CBR_9600 ;
  248 +#endif
242 BYTESIZE( TTYInfo ) = 8 ; 249 BYTESIZE( TTYInfo ) = 8 ;
243 PARITY( TTYInfo ) = NOPARITY ; 250 PARITY( TTYInfo ) = NOPARITY ;
244 STOPBITS( TTYInfo ) = ONESTOPBIT ; 251 STOPBITS( TTYInfo ) = ONESTOPBIT ;
@@ -289,7 +296,11 @@ BOOL InitTTYInfo() @@ -289,7 +296,11 @@ BOOL InitTTYInfo()
289 // 296 //
290 // setup default font information 297 // setup default font information
291 // 298 //
  299 +#ifdef __OPTEK_EDIT__
292 LFTTYFONT( TTYInfo ).lfHeight = 20 ; 300 LFTTYFONT( TTYInfo ).lfHeight = 20 ;
  301 +#else
  302 + LFTTYFONT( TTYInfo ).lfHeight = 12 ;
  303 +#endif
293 LFTTYFONT( TTYInfo ).lfWidth = 0 ; 304 LFTTYFONT( TTYInfo ).lfWidth = 0 ;
294 LFTTYFONT( TTYInfo ).lfEscapement = 0 ; 305 LFTTYFONT( TTYInfo ).lfEscapement = 0 ;
295 LFTTYFONT( TTYInfo ).lfOrientation = 0 ; 306 LFTTYFONT( TTYInfo ).lfOrientation = 0 ;
@@ -297,13 +308,16 @@ BOOL InitTTYInfo() @@ -297,13 +308,16 @@ BOOL InitTTYInfo()
297 LFTTYFONT( TTYInfo ).lfItalic = 0 ; 308 LFTTYFONT( TTYInfo ).lfItalic = 0 ;
298 LFTTYFONT( TTYInfo ).lfUnderline = 0 ; 309 LFTTYFONT( TTYInfo ).lfUnderline = 0 ;
299 LFTTYFONT( TTYInfo ).lfStrikeOut = 0 ; 310 LFTTYFONT( TTYInfo ).lfStrikeOut = 0 ;
  311 +#ifdef __OPTEK_EDIT__
300 LFTTYFONT( TTYInfo ).lfCharSet = ANSI_CHARSET;//OEM_CHARSET ; 312 LFTTYFONT( TTYInfo ).lfCharSet = ANSI_CHARSET;//OEM_CHARSET ;
  313 +#else
  314 + LFTTYFONT( TTYInfo ).lfCharSet = OEM_CHARSET ;
  315 +#endif
301 LFTTYFONT( TTYInfo ).lfOutPrecision = OUT_DEFAULT_PRECIS ; 316 LFTTYFONT( TTYInfo ).lfOutPrecision = OUT_DEFAULT_PRECIS ;
302 LFTTYFONT( TTYInfo ).lfClipPrecision = CLIP_DEFAULT_PRECIS ; 317 LFTTYFONT( TTYInfo ).lfClipPrecision = CLIP_DEFAULT_PRECIS ;
303 LFTTYFONT( TTYInfo ).lfQuality = DEFAULT_QUALITY ; 318 LFTTYFONT( TTYInfo ).lfQuality = DEFAULT_QUALITY ;
304 LFTTYFONT( TTYInfo ).lfPitchAndFamily = FIXED_PITCH | FF_MODERN ; 319 LFTTYFONT( TTYInfo ).lfPitchAndFamily = FIXED_PITCH | FF_MODERN ;
305 strcpy( LFTTYFONT( TTYInfo ).lfFaceName, "FixedSys" ) ; 320 strcpy( LFTTYFONT( TTYInfo ).lfFaceName, "FixedSys" ) ;
306 -// strcpy( LFTTYFONT( TTYInfo ).lfFaceName, "Courier New" ) ;  
307 321
308 InitNewFont( LFTTYFONT(TTYInfo), RGB(0,0,0)); 322 InitNewFont( LFTTYFONT(TTYInfo), RGB(0,0,0));
309 323
@@ -579,11 +593,14 @@ HISTORY: Date: Author: Comment: @@ -579,11 +593,14 @@ HISTORY: Date: Author: Comment:
579 -----------------------------------------------------------------------------*/ 593 -----------------------------------------------------------------------------*/
580 BOOL DisconnectOK() 594 BOOL DisconnectOK()
581 { 595 {
  596 +#ifdef __OPTEK_EDIT__
582 char gszPort_Temp[20] = { 0 }; 597 char gszPort_Temp[20] = { 0 };
  598 +#endif
583 if (!CONNECTED(TTYInfo)) 599 if (!CONNECTED(TTYInfo))
584 return TRUE; 600 return TRUE;
585 601
586 602
  603 +#ifdef __OPTEK_EDIT__
587 GetDlgItemText(ghWndToolbarDlg, IDC_PORTCOMBO, gszPort, sizeof(gszPort)); 604 GetDlgItemText(ghWndToolbarDlg, IDC_PORTCOMBO, gszPort, sizeof(gszPort));
588 605
589 if (gszPort[3] - '0' > 0 && gszPort[4] - '0' > 0) 606 if (gszPort[3] - '0' > 0 && gszPort[4] - '0' > 0)
@@ -592,6 +609,7 @@ BOOL DisconnectOK() @@ -592,6 +609,7 @@ BOOL DisconnectOK()
592 memset(gszPort, 20, sizeof(char)); 609 memset(gszPort, 20, sizeof(char));
593 strcpy(gszPort, gszPort_Temp); 610 strcpy(gszPort, gszPort_Temp);
594 } 611 }
  612 +#endif
595 613
596 return ((MessageBox(ghwndMain, "OK to Disconnect?", gszPort, MB_YESNO)) == IDYES); 614 return ((MessageBox(ghwndMain, "OK to Disconnect?", gszPort, MB_YESNO)) == IDYES);
597 } 615 }
@@ -25,7 +25,7 @@ STD_LIBS = libcmt.lib kernel32.lib \ @@ -25,7 +25,7 @@ STD_LIBS = libcmt.lib kernel32.lib \
25 user32.lib gdi32.lib \ 25 user32.lib gdi32.lib \
26 comdlg32.lib 26 comdlg32.lib
27 EXTRA_LIBS = winmm.lib comctl32.lib 27 EXTRA_LIBS = winmm.lib comctl32.lib
28 -GLOBAL_DEP = mttty.h ttyinfo.h 28 +GLOBAL_DEP = mttty.h
29 RC_DEP = resource.h mttty.ico \ 29 RC_DEP = resource.h mttty.ico \
30 mttty2.ico mttty3.ico \ 30 mttty2.ico mttty3.ico \
31 mttty4.ico 31 mttty4.ico
@@ -46,8 +46,9 @@ BOOL ScrollTTYHorz( HWND, WORD, WORD ); @@ -46,8 +46,9 @@ BOOL ScrollTTYHorz( HWND, WORD, WORD );
46 BOOL VersionCheck(); 46 BOOL VersionCheck();
47 BOOL PaintTTY( HWND ); 47 BOOL PaintTTY( HWND );
48 48
  49 +#ifdef __OPTEK_EDIT__
49 char szFileName[MAX_PATH]; 50 char szFileName[MAX_PATH];
50 - 51 +#endif
51 /*----------------------------------------------------------------------------- 52 /*-----------------------------------------------------------------------------
52 53
53 FUNCTION: WinMain(HINSTANCE, HINSTANCE, LPSTR, int) 54 FUNCTION: WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
@@ -150,7 +151,11 @@ BOOL InitializeApp(HINSTANCE hInst, int nShowCmd) @@ -150,7 +151,11 @@ BOOL InitializeApp(HINSTANCE hInst, int nShowCmd)
150 // 151 //
151 wc.lpfnWndProc = (WNDPROC) MTTTYWndProc; 152 wc.lpfnWndProc = (WNDPROC) MTTTYWndProc;
152 wc.hInstance = hInst; 153 wc.hInstance = hInst;
  154 +#ifdef __OPTEK_EDIT__
153 wc.hIcon = LoadIcon(hInst,MAKEINTRESOURCE(IDI_TITLE)); 155 wc.hIcon = LoadIcon(hInst,MAKEINTRESOURCE(IDI_TITLE));
  156 +#else
  157 + wc.hIcon = LoadIcon(hInst,MAKEINTRESOURCE(IDI_APPICON));
  158 +#endif
154 wc.hCursor = LoadCursor(NULL, IDC_ARROW); 159 wc.hCursor = LoadCursor(NULL, IDC_ARROW);
155 wc.lpszMenuName = MAKEINTRESOURCE(IDR_MTTTYMENU); 160 wc.lpszMenuName = MAKEINTRESOURCE(IDR_MTTTYMENU);
156 wc.hbrBackground = (HBRUSH) (COLOR_WINDOW + 1) ; 161 wc.hbrBackground = (HBRUSH) (COLOR_WINDOW + 1) ;
@@ -180,11 +185,19 @@ BOOL InitializeApp(HINSTANCE hInst, int nShowCmd) @@ -180,11 +185,19 @@ BOOL InitializeApp(HINSTANCE hInst, int nShowCmd)
180 // 185 //
181 // create main window 186 // create main window
182 // 187 //
  188 +#ifdef __OPTEK_EDIT__
183 ghwndMain = CreateWindow("MTTTYClass", "OPTEK", 189 ghwndMain = CreateWindow("MTTTYClass", "OPTEK",
184 WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN, 190 WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN,
185 STARTXWINDOW, STARTYWINDOW, 191 STARTXWINDOW, STARTYWINDOW,
186 MAXXWINDOW, MAXYWINDOW, 192 MAXXWINDOW, MAXYWINDOW,
187 NULL, NULL, hInst, NULL); 193 NULL, NULL, hInst, NULL);
  194 +#else
  195 + ghwndMain = CreateWindow("MTTTYClass", "Multi-threaded TTY",
  196 + WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN,
  197 + STARTXWINDOW, STARTYWINDOW,
  198 + MAXXWINDOW, MAXYWINDOW,
  199 + NULL, NULL, hInst, NULL);
  200 +#endif
188 201
189 if (ghwndMain == NULL) { 202 if (ghwndMain == NULL) {
190 GlobalCleanup(); 203 GlobalCleanup();
@@ -314,20 +327,24 @@ int WINAPI MTTTYWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) @@ -314,20 +327,24 @@ int WINAPI MTTTYWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
314 break; 327 break;
315 328
316 case WM_CLOSE: 329 case WM_CLOSE:
317 - /* if (DisconnectOK()) {  
318 - if (CONNECTED(TTYInfo)) {  
319 - if (TRANSFERRING(TTYInfo))  
320 - TransferFileTextEnd();  
321 - BreakDownCommPort();  
322 - }  
323 - DestroyWindow(hwnd);  
324 - }*/ 330 +#ifdef __OPTEK_EDIT__
  331 +
325 if (CONNECTED(TTYInfo)) { 332 if (CONNECTED(TTYInfo)) {
326 if (TRANSFERRING(TTYInfo)) 333 if (TRANSFERRING(TTYInfo))
327 TransferFileTextEnd(); 334 TransferFileTextEnd();
328 BreakDownCommPort(); 335 BreakDownCommPort();
329 } 336 }
330 DestroyWindow(hwnd); 337 DestroyWindow(hwnd);
  338 +#else
  339 + if (DisconnectOK()) {
  340 + if (CONNECTED(TTYInfo)) {
  341 + if (TRANSFERRING(TTYInfo))
  342 + TransferFileTextEnd();
  343 + BreakDownCommPort();
  344 + }
  345 + DestroyWindow(hwnd);
  346 + }
  347 +#endif
331 break; 348 break;
332 349
333 default: 350 default:
@@ -363,7 +380,11 @@ void CmdDispatch(int iMenuChoice, HWND hwnd, LPARAM lParam) @@ -363,7 +380,11 @@ void CmdDispatch(int iMenuChoice, HWND hwnd, LPARAM lParam)
363 380
364 case ID_TRANSFER_SENDFILETEXT: 381 case ID_TRANSFER_SENDFILETEXT:
365 { 382 {
  383 +#ifdef __OPTEK_EDIT__
366 char * szFilter = "bin Files\0*.bin\0"; 384 char * szFilter = "bin Files\0*.bin\0";
  385 +#else
  386 + char * szFilter = "Text Files\0*.TXT\0";
  387 +#endif
367 OPENFILENAME ofn = {0}; 388 OPENFILENAME ofn = {0};
368 389
369 ofn.lStructSize = sizeof(OPENFILENAME); 390 ofn.lStructSize = sizeof(OPENFILENAME);
@@ -371,15 +392,22 @@ void CmdDispatch(int iMenuChoice, HWND hwnd, LPARAM lParam) @@ -371,15 +392,22 @@ void CmdDispatch(int iMenuChoice, HWND hwnd, LPARAM lParam)
371 ofn.lpstrFilter = szFilter; 392 ofn.lpstrFilter = szFilter;
372 ofn.lpstrFile = szFileName; 393 ofn.lpstrFile = szFileName;
373 ofn.nMaxFile = MAX_PATH; 394 ofn.nMaxFile = MAX_PATH;
  395 +#ifdef __OPTEK_EDIT__
374 ofn.lpstrTitle = "Select file"; 396 ofn.lpstrTitle = "Select file";
  397 +#else
  398 + ofn.lpstrTitle = "Send File";
  399 +#endif
375 ofn.Flags = OFN_FILEMUSTEXIST; 400 ofn.Flags = OFN_FILEMUSTEXIST;
376 401
377 if (!GetOpenFileName(&ofn)) 402 if (!GetOpenFileName(&ofn))
378 break; 403 break;
379 404
  405 +#ifdef __OPTEK_EDIT__
380 UpdateStatus(szFileName); 406 UpdateStatus(szFileName);
381 - //if (TRUE)  
382 - // TransferFileTextStart(szFileName); 407 +#else
  408 + if (TRUE)
  409 + TransferFileTextStart(szFileName);
  410 +#endif
383 } 411 }
384 break; 412 break;
385 413
@@ -455,7 +483,9 @@ void CmdDispatch(int iMenuChoice, HWND hwnd, LPARAM lParam) @@ -455,7 +483,9 @@ void CmdDispatch(int iMenuChoice, HWND hwnd, LPARAM lParam)
455 483
456 // The following correspond to menu choices and buttons in the settings dlog 484 // The following correspond to menu choices and buttons in the settings dlog
457 case IDC_FONTBTN: 485 case IDC_FONTBTN:
  486 +#ifdef __OPTEK_EDIT__
458 case IDC_SENDBTN: 487 case IDC_SENDBTN:
  488 +#endif
459 case IDC_COMMEVENTSBTN: 489 case IDC_COMMEVENTSBTN:
460 case IDC_FLOWCONTROLBTN: 490 case IDC_FLOWCONTROLBTN:
461 case IDC_TIMEOUTSBTN: 491 case IDC_TIMEOUTSBTN:
@@ -573,19 +603,20 @@ BOOL NEAR ScrollTTYVert( HWND hWnd, WORD wScrollCmd, WORD wScrollPos ) @@ -573,19 +603,20 @@ BOOL NEAR ScrollTTYVert( HWND hWnd, WORD wScrollCmd, WORD wScrollPos )
573 603
574 if ((YOFFSET( TTYInfo ) + nScrollAmt) < 0) 604 if ((YOFFSET( TTYInfo ) + nScrollAmt) < 0)
575 nScrollAmt = -YOFFSET( TTYInfo ) ; 605 nScrollAmt = -YOFFSET( TTYInfo ) ;
576 -  
577 -  
578 - 606 +#ifdef __OPTEK_EDIT__
579 if (nScrollAmt != 0) 607 if (nScrollAmt != 0)
580 { 608 {
581 YOFFSET( TTYInfo ) = YOFFSET( TTYInfo ) + nScrollAmt ; 609 YOFFSET( TTYInfo ) = YOFFSET( TTYInfo ) + nScrollAmt ;
582 -  
583 SetScrollPos( hWnd, SB_VERT, YOFFSET( TTYInfo ), TRUE ) ; 610 SetScrollPos( hWnd, SB_VERT, YOFFSET( TTYInfo ), TRUE ) ;
584 -  
585 ScrollWindowEx( hWnd, 0, -nScrollAmt, NULL, NULL, NULL, NULL, SW_INVALIDATE | SW_ERASE) ; 611 ScrollWindowEx( hWnd, 0, -nScrollAmt, NULL, NULL, NULL, NULL, SW_INVALIDATE | SW_ERASE) ;
586 } 612 }
  613 +#else
  614 + ScrollWindowEx( hWnd, 0, -nScrollAmt, NULL, NULL, NULL, NULL, SW_INVALIDATE | SW_ERASE) ;
587 615
  616 + YOFFSET( TTYInfo ) = YOFFSET( TTYInfo ) + nScrollAmt ;
588 617
  618 + SetScrollPos( hWnd, SB_VERT, YOFFSET( TTYInfo ), TRUE ) ;
  619 +#endif
589 return ( TRUE ) ; 620 return ( TRUE ) ;
590 621
591 } // end of ScrollTTYVert() 622 } // end of ScrollTTYVert()
@@ -19,7 +19,142 @@ @@ -19,7 +19,142 @@
19 // 19 //
20 20
21 #include "resource.h" 21 #include "resource.h"
22 -#include "ttyinfo.h" 22 +//#include "ttyinfo.h"
  23 +#define __OPTEK_EDIT__
  24 +
  25 +#ifdef __OPTEK_EDIT__
  26 +#pragma comment(lib,"comctl32.lib")
  27 +#pragma comment(lib,"winmm.lib")
  28 +#endif
  29 +
  30 +
  31 +//
  32 +// constant definitions
  33 +//
  34 +
  35 +//
  36 +// hard coded maximum number of ports
  37 +//
  38 +#ifdef __OPTEK_EDIT__
  39 +#define MAXPORTS 32
  40 +#else
  41 +#define MAXPORTS 4
  42 +#endif
  43 +
  44 +//
  45 +// terminal size
  46 +//
  47 +#define MAXROWS 50
  48 +#define MAXCOLS 80
  49 +
  50 +//
  51 +// cursor states
  52 +//
  53 +#define CS_HIDE 0x00
  54 +#define CS_SHOW 0x01
  55 +
  56 +//
  57 +// ascii definitions
  58 +//
  59 +#define ASCII_BEL 0x07
  60 +#define ASCII_BS 0x08
  61 +#define ASCII_LF 0x0A
  62 +#define ASCII_CR 0x0D
  63 +#define ASCII_XON 0x11
  64 +#define ASCII_XOFF 0x13
  65 +
  66 +//
  67 +// data structures
  68 +//
  69 +struct TTYInfoStruct
  70 +{
  71 + HANDLE hCommPort, hReaderStatus, hWriter ;
  72 + DWORD dwEventFlags;
  73 + CHAR Screen[MAXCOLS * MAXROWS];
  74 + CHAR chFlag, chXON, chXOFF;
  75 + WORD wXONLimit, wXOFFLimit;
  76 + DWORD fRtsControl;
  77 + DWORD fDtrControl;
  78 + BOOL fConnected, fTransferring, fRepeating,
  79 + fLocalEcho, fNewLine,
  80 + fDisplayErrors, fAutowrap,
  81 + fCTSOutFlow, fDSROutFlow, fDSRInFlow,
  82 + fXonXoffOutFlow, fXonXoffInFlow,
  83 + fTXafterXoffSent,
  84 + fNoReading, fNoWriting, fNoEvents, fNoStatus,
  85 + fDisplayTimeouts;
  86 + BYTE bPort, bByteSize, bParity, bStopBits ;
  87 + DWORD dwBaudRate ;
  88 + WORD wCursorState ;
  89 + HFONT hTTYFont ;
  90 + LOGFONT lfTTYFont ;
  91 + DWORD rgbFGColor ;
  92 + COMMTIMEOUTS timeoutsorig;
  93 + COMMTIMEOUTS timeoutsnew;
  94 + int xSize, ySize, xScroll, yScroll, xOffset, yOffset,
  95 + nColumn, nRow, xChar, yChar , nCharPos;
  96 +
  97 +} TTYInfo;
  98 +
  99 +//
  100 +// macros ( for easier readability )
  101 +//
  102 +#define COMDEV( x ) (x.hCommPort)
  103 +#define CURSORSTATE( x ) (x.wCursorState)
  104 +#define PORT( x ) (x.bPort)
  105 +#define SCREEN( x ) (x.Screen)
  106 +#define CONNECTED( x ) (x.fConnected)
  107 +#define TRANSFERRING( x ) (x.fTransferring)
  108 +#define REPEATING( x ) (x.fRepeating)
  109 +#define LOCALECHO( x ) (x.fLocalEcho)
  110 +#define NEWLINE( x ) (x.fNewLine)
  111 +#define AUTOWRAP( x ) (x.fAutowrap)
  112 +#define BYTESIZE( x ) (x.bByteSize)
  113 +#define PARITY( x ) (x.bParity)
  114 +#define STOPBITS( x ) (x.bStopBits)
  115 +#define BAUDRATE( x ) (x.dwBaudRate)
  116 +#define HTTYFONT( x ) (x.hTTYFont)
  117 +#define LFTTYFONT( x ) (x.lfTTYFont)
  118 +#define FGCOLOR( x ) (x.rgbFGColor)
  119 +#define XSIZE( x ) (x.xSize)
  120 +#define YSIZE( x ) (x.ySize)
  121 +#define XSCROLL( x ) (x.xScroll)
  122 +#define YSCROLL( x ) (x.yScroll)
  123 +#define XOFFSET( x ) (x.xOffset)
  124 +#define YOFFSET( x ) (x.yOffset)
  125 +#define COLUMN( x ) (x.nColumn)
  126 +#define ROW( x ) (x.nRow)
  127 +#define XCHAR( x ) (x.xChar)
  128 +#define YCHAR( x ) (x.yChar)
  129 +#define DISPLAYERRORS( x ) (x.fDisplayErrors)
  130 +#define TIMEOUTSORIG( x ) (x.timeoutsorig)
  131 +#define TIMEOUTSNEW( x ) (x.timeoutsnew)
  132 +#define WRITERTHREAD( x ) (x.hWriter)
  133 +#define READSTATTHREAD( x ) (x.hReaderStatus)
  134 +#define EVENTFLAGS( x ) (x.dwEventFlags)
  135 +#define FLAGCHAR( x ) (x.chFlag)
  136 +#define SCREENCHAR( x, col, row ) (x.Screen[row * MAXCOLS + col])
  137 +
  138 +#define DTRCONTROL( x ) (x.fDtrControl)
  139 +#define RTSCONTROL( x ) (x.fRtsControl)
  140 +#define XONCHAR( x ) (x.chXON)
  141 +#define XOFFCHAR( x ) (x.chXOFF)
  142 +#define XONLIMIT( x ) (x.wXONLimit)
  143 +#define XOFFLIMIT( x ) (x.wXOFFLimit)
  144 +#define CTSOUTFLOW( x ) (x.fCTSOutFlow)
  145 +#define DSROUTFLOW( x ) (x.fDSROutFlow)
  146 +#define DSRINFLOW( x ) (x.fDSRInFlow)
  147 +#define XONXOFFOUTFLOW( x ) (x.fXonXoffOutFlow)
  148 +#define XONXOFFINFLOW( x ) (x.fXonXoffInFlow)
  149 +#define TXAFTERXOFFSENT(x) (x.fTXafterXoffSent)
  150 +
  151 +#define NOREADING( x ) (x.fNoReading)
  152 +#define NOWRITING( x ) (x.fNoWriting)
  153 +#define NOEVENTS( x ) (x.fNoEvents)
  154 +#define NOSTATUS( x ) (x.fNoStatus)
  155 +#define SHOWTIMEOUTS( x ) (x.fDisplayTimeouts)
  156 +
  157 +
23 158
24 // 159 //
25 // GLOBAL DEFINES 160 // GLOBAL DEFINES
@@ -127,7 +262,11 @@ typedef struct STATUS_MESSAGE @@ -127,7 +262,11 @@ typedef struct STATUS_MESSAGE
127 // 262 //
128 // Port name 263 // Port name
129 // 264 //
  265 +#ifdef __OPTEK_EDIT__
130 char gszPort[20]; 266 char gszPort[20];
  267 +#else
  268 +char gszPort[10];
  269 +#endif
131 270
132 // 271 //
133 // Writer heap variables 272 // Writer heap variables
@@ -77,7 +77,7 @@ BOOL CALLBACK GetADWORDProc( HWND, UINT, WPARAM, LPARAM ); @@ -77,7 +77,7 @@ BOOL CALLBACK GetADWORDProc( HWND, UINT, WPARAM, LPARAM );
77 77
78 DCB dcbTemp; 78 DCB dcbTemp;
79 79
80 -#if 1 80 +#ifdef __OPTEK_EDIT__
81 char * szBaud[] = { 81 char * szBaud[] = {
82 "115200*1", "115200*2", "115200*4", "115200*8" 82 "115200*1", "115200*2", "115200*4", "115200*8"
83 }; 83 };
@@ -90,14 +90,14 @@ DWORD BaudTable[] = { @@ -90,14 +90,14 @@ DWORD BaudTable[] = {
90 char * szBaud[] = { 90 char * szBaud[] = {
91 "110", "300", "600", "1200", "2400", 91 "110", "300", "600", "1200", "2400",
92 "4800", "9600", "14400", "19200", 92 "4800", "9600", "14400", "19200",
93 - "38400", "56000", "57600", "460800",  
94 - "128000" 93 + "38400", "56000", "57600", "115200",
  94 + "128000", "256000"
95 }; 95 };
96 96
97 DWORD BaudTable[] = { 97 DWORD BaudTable[] = {
98 CBR_110, CBR_300, CBR_600, CBR_1200, CBR_2400, 98 CBR_110, CBR_300, CBR_600, CBR_1200, CBR_2400,
99 CBR_4800, CBR_9600, CBR_14400, CBR_19200, CBR_38400, 99 CBR_4800, CBR_9600, CBR_14400, CBR_19200, CBR_38400,
100 - CBR_56000, CBR_57600, (CBR_115200)*4, CBR_128000 100 + CBR_56000, CBR_57600, CBR_115200, CBR_128000, CBR_256000
101 } ; 101 } ;
102 #endif 102 #endif
103 char * szParity[] = { "None", "Even", "Odd", "Mark", "Space" }; 103 char * szParity[] = { "None", "Even", "Odd", "Mark", "Space" };
@@ -273,11 +273,11 @@ void UpdateTTYInfo() @@ -273,11 +273,11 @@ void UpdateTTYInfo()
273 // 273 //
274 // update globals from dialog settings 274 // update globals from dialog settings
275 // 275 //
  276 +#ifdef __OPTEK_EDIT__
276 char gszPort_Temp[20] = {0}; 277 char gszPort_Temp[20] = {0};
277 - 278 +#endif
278 GetDlgItemText(ghWndToolbarDlg, IDC_PORTCOMBO, gszPort, sizeof(gszPort)); 279 GetDlgItemText(ghWndToolbarDlg, IDC_PORTCOMBO, gszPort, sizeof(gszPort));
279 - /*MessageBox(NULL, gszPort, "TEST", MB_OK);*/  
280 - 280 +#ifdef __OPTEK_EDIT__
281 if (gszPort[3] - '0' > 0 && gszPort[4] - '0' > 0) 281 if (gszPort[3] - '0' > 0 && gszPort[4] - '0' > 0)
282 { 282 {
283 wsprintf(gszPort_Temp,"\\\\.\\%s%d","COM", (gszPort[3] - '0' )*10 + (gszPort[4] - '0')); 283 wsprintf(gszPort_Temp,"\\\\.\\%s%d","COM", (gszPort[3] - '0' )*10 + (gszPort[4] - '0'));
@@ -285,7 +285,7 @@ void UpdateTTYInfo() @@ -285,7 +285,7 @@ void UpdateTTYInfo()
285 strcpy(gszPort, gszPort_Temp); 285 strcpy(gszPort, gszPort_Temp);
286 /*MessageBox(NULL, gszPort, "TEST---", MB_OK);*/ 286 /*MessageBox(NULL, gszPort, "TEST---", MB_OK);*/
287 } 287 }
288 - 288 +#endif
289 BAUDRATE(TTYInfo) = GetdwTTYItem( ghWndToolbarDlg, 289 BAUDRATE(TTYInfo) = GetdwTTYItem( ghWndToolbarDlg,
290 IDC_BAUDCOMBO, 290 IDC_BAUDCOMBO,
291 szBaud, 291 szBaud,
@@ -474,9 +474,7 @@ void SetComboBox( HWND hCtrlWnd, WORD wTableLen, DWORD dwNewSetting ) @@ -474,9 +474,7 @@ void SetComboBox( HWND hCtrlWnd, WORD wTableLen, DWORD dwNewSetting )
474 return ; 474 return ;
475 } 475 }
476 476
477 -//???ù′??ú  
478 -//2?êy£obEnablePort£?????′??úóDD§£?bEnablePort[0]±íê?COM1£?bEnablePort[n-1]±íê?COMn  
479 -//·μ???μ£oóDD§μ?′??ú??êy 477 +#ifdef __OPTEK_EDIT__
480 int EnumAllComPort(int* bEnablePort) 478 int EnumAllComPort(int* bEnablePort)
481 { 479 {
482 int nCommSum = 0;//¡ä??¨²??¨ºy 480 int nCommSum = 0;//¡ä??¨²??¨ºy
@@ -517,7 +515,7 @@ int EnumAllComPort(int* bEnablePort) @@ -517,7 +515,7 @@ int EnumAllComPort(int* bEnablePort)
517 515
518 return nCommSum; 516 return nCommSum;
519 } 517 }
520 - 518 +#endif
521 519
522 /*----------------------------------------------------------------------------- 520 /*-----------------------------------------------------------------------------
523 521
@@ -541,24 +539,25 @@ BOOL SettingsDlgInit( HWND hDlg ) @@ -541,24 +539,25 @@ BOOL SettingsDlgInit( HWND hDlg )
541 { 539 {
542 char szBuffer[ MAXLEN_TEMPSTR ], szTemp[ MAXLEN_TEMPSTR ] ; 540 char szBuffer[ MAXLEN_TEMPSTR ], szTemp[ MAXLEN_TEMPSTR ] ;
543 WORD wCount, wMaxCOM, wPosition ; 541 WORD wCount, wMaxCOM, wPosition ;
  542 +#ifdef __OPTEK_EDIT__
544 int cmdT[MAXPORTS]; 543 int cmdT[MAXPORTS];
545 - 544 +#endif
546 wMaxCOM = MAXPORTS ; 545 wMaxCOM = MAXPORTS ;
547 strcpy(szTemp, "COM"); 546 strcpy(szTemp, "COM");
548 547
  548 +#ifdef __OPTEK_EDIT__
549 memset(cmdT,0,sizeof(cmdT)); 549 memset(cmdT,0,sizeof(cmdT));
550 EnumAllComPort(cmdT); 550 EnumAllComPort(cmdT);
551 -  
552 //for (int i=0;i<10;i++) 551 //for (int i=0;i<10;i++)
553 { 552 {
554 //UpdateStatus("com%d:%d\r\n",i+1,cmdT[i]); 553 //UpdateStatus("com%d:%d\r\n",i+1,cmdT[i]);
555 } 554 }
556 -  
557 - 555 +#endif
558 // 556 //
559 // fill port combo box and make initial selection 557 // fill port combo box and make initial selection
560 // 558 //
561 for (wCount = 0; wCount < wMaxCOM; wCount++) { 559 for (wCount = 0; wCount < wMaxCOM; wCount++) {
  560 +#ifdef __OPTEK_EDIT__
562 //wsprintf( szBuffer, "%s%d", (LPSTR) szTemp, wCount + 1 ) ; 561 //wsprintf( szBuffer, "%s%d", (LPSTR) szTemp, wCount + 1 ) ;
563 if (cmdT[wCount]) 562 if (cmdT[wCount])
564 { 563 {
@@ -566,6 +565,11 @@ BOOL SettingsDlgInit( HWND hDlg ) @@ -566,6 +565,11 @@ BOOL SettingsDlgInit( HWND hDlg )
566 SendDlgItemMessage( hDlg, IDC_PORTCOMBO, CB_ADDSTRING, 0, 565 SendDlgItemMessage( hDlg, IDC_PORTCOMBO, CB_ADDSTRING, 0,
567 (LPARAM) (LPSTR) szBuffer ) ; 566 (LPARAM) (LPSTR) szBuffer ) ;
568 } 567 }
  568 +#else
  569 + wsprintf( szBuffer, "%s%d", (LPSTR) szTemp, wCount + 1 ) ;
  570 + SendDlgItemMessage( hDlg, IDC_PORTCOMBO, CB_ADDSTRING, 0,
  571 + (LPARAM) (LPSTR) szBuffer ) ;
  572 +#endif
569 } 573 }
570 574
571 SendDlgItemMessage( hDlg, IDC_PORTCOMBO, CB_SETCURSEL, 575 SendDlgItemMessage( hDlg, IDC_PORTCOMBO, CB_SETCURSEL,
@@ -717,6 +721,7 @@ BYTE GetbTTYItem(HWND hDlg, int idControl, char ** szString, DWORD * pTable, int @@ -717,6 +721,7 @@ BYTE GetbTTYItem(HWND hDlg, int idControl, char ** szString, DWORD * pTable, int
717 return 0; 721 return 0;
718 } 722 }
719 723
  724 +#ifdef __OPTEK_EDIT__
720 extern char szFileName[MAX_PATH]; 725 extern char szFileName[MAX_PATH];
721 726
722 int szFileName_check(char* fileName) 727 int szFileName_check(char* fileName)
@@ -733,7 +738,7 @@ int szFileName_check(char* fileName) @@ -733,7 +738,7 @@ int szFileName_check(char* fileName)
733 738
734 return ret; 739 return ret;
735 } 740 }
736 - 741 +#endif
737 /*----------------------------------------------------------------------------- 742 /*-----------------------------------------------------------------------------
738 743
739 FUNCTION: ToolbarProc(HWND, UINT, WPARAM, LPARAM) 744 FUNCTION: ToolbarProc(HWND, UINT, WPARAM, LPARAM)
@@ -811,6 +816,7 @@ BOOL CALLBACK ToolbarProc(HWND hWndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) @@ -811,6 +816,7 @@ BOOL CALLBACK ToolbarProc(HWND hWndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
811 fRet = FALSE; 816 fRet = FALSE;
812 break; 817 break;
813 818
  819 +#ifdef __OPTEK_EDIT__
814 case IDC_SENDBTN: // send button pressed 820 case IDC_SENDBTN: // send button pressed
815 if (!EnableWindow( GetDlgItem(ghWndToolbarDlg, IDC_PORTCOMBO), FALSE)) 821 if (!EnableWindow( GetDlgItem(ghWndToolbarDlg, IDC_PORTCOMBO), FALSE))
816 { 822 {
@@ -819,11 +825,9 @@ BOOL CALLBACK ToolbarProc(HWND hWndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) @@ -819,11 +825,9 @@ BOOL CALLBACK ToolbarProc(HWND hWndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
819 fRet = FALSE; 825 fRet = FALSE;
820 break; 826 break;
821 } 827 }
822 -  
823 if (szFileName_check(szFileName)) 828 if (szFileName_check(szFileName))
824 { 829 {
825 EnableWindow( GetDlgItem(ghWndToolbarDlg, IDC_SENDBTN), FALSE); 830 EnableWindow( GetDlgItem(ghWndToolbarDlg, IDC_SENDBTN), FALSE);
826 - // EnableWindow(GetDlgItem(ghWndToolbarDlg, IDC_PORTCOMBO), FALSE);  
827 TransferFileTextStart(szFileName); 831 TransferFileTextStart(szFileName);
828 } 832 }
829 else 833 else
@@ -831,10 +835,9 @@ BOOL CALLBACK ToolbarProc(HWND hWndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) @@ -831,10 +835,9 @@ BOOL CALLBACK ToolbarProc(HWND hWndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
831 /*MessageBox(NULL,"-_-","test3", MB_OK);*/ 835 /*MessageBox(NULL,"-_-","test3", MB_OK);*/
832 ErrorReporter("Please select file!\r\n"); 836 ErrorReporter("Please select file!\r\n");
833 } 837 }
834 -  
835 fRet = FALSE; 838 fRet = FALSE;
836 break; 839 break;
837 - 840 +#endif
838 case IDC_COMMEVENTSBTN: // comm events button pressed 841 case IDC_COMMEVENTSBTN: // comm events button pressed
839 DialogBox(ghInst, MAKEINTRESOURCE(IDD_COMMEVENTSDLG), ghwndMain, CommEventsProc); 842 DialogBox(ghInst, MAKEINTRESOURCE(IDD_COMMEVENTSDLG), ghwndMain, CommEventsProc);
840 fRet = FALSE; 843 fRet = FALSE;
@@ -847,7 +850,6 @@ BOOL CALLBACK ToolbarProc(HWND hWndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) @@ -847,7 +850,6 @@ BOOL CALLBACK ToolbarProc(HWND hWndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
847 850
848 case IDC_TIMEOUTSBTN: 851 case IDC_TIMEOUTSBTN:
849 DialogBox(ghInst, MAKEINTRESOURCE(IDD_TIMEOUTSDLG), ghwndMain, TimeoutsProc); 852 DialogBox(ghInst, MAKEINTRESOURCE(IDD_TIMEOUTSDLG), ghwndMain, TimeoutsProc);
850 - break;  
851 fRet = FALSE; 853 fRet = FALSE;
852 break; 854 break;
853 855
@@ -35,8 +35,6 @@ @@ -35,8 +35,6 @@
35 #include <commctrl.h> 35 #include <commctrl.h>
36 #include "mttty.h" 36 #include "mttty.h"
37 37
38 -#pragma comment(lib,"winmm.lib")  
39 -  
40 // 38 //
41 // Globals used in this file only 39 // Globals used in this file only
42 // 40 //
@@ -102,7 +100,9 @@ void TransferRepeatCreate(LPCTSTR lpszFileName, DWORD dwFrequency) @@ -102,7 +100,9 @@ void TransferRepeatCreate(LPCTSTR lpszFileName, DWORD dwFrequency)
102 hMenu = GetMenu(ghwndMain); 100 hMenu = GetMenu(ghwndMain);
103 MenuFlags = MF_DISABLED | MF_GRAYED; 101 MenuFlags = MF_DISABLED | MF_GRAYED;
104 EnableMenuItem(hMenu, ID_TRANSFER_SENDFILETEXT, MenuFlags); 102 EnableMenuItem(hMenu, ID_TRANSFER_SENDFILETEXT, MenuFlags);
  103 +#ifdef __OPTEK_EDIT__
105 EnableMenuItem(hMenu, IDC_SENDBTN, MenuFlags); 104 EnableMenuItem(hMenu, IDC_SENDBTN, MenuFlags);
  105 +#endif
106 EnableMenuItem(hMenu, ID_TRANSFER_SENDREPEATEDLY, MenuFlags); 106 EnableMenuItem(hMenu, ID_TRANSFER_SENDREPEATEDLY, MenuFlags);
107 EnableMenuItem(hMenu, ID_TRANSFER_ABORTREPEATEDSENDING, MF_ENABLED); 107 EnableMenuItem(hMenu, ID_TRANSFER_ABORTREPEATEDSENDING, MF_ENABLED);
108 EnableMenuItem(hMenu, ID_TRANSFER_RECEIVEFILETEXT, MenuFlags); 108 EnableMenuItem(hMenu, ID_TRANSFER_RECEIVEFILETEXT, MenuFlags);
@@ -194,7 +194,9 @@ void TransferRepeatDestroy() @@ -194,7 +194,9 @@ void TransferRepeatDestroy()
194 MenuFlags = MF_ENABLED; 194 MenuFlags = MF_ENABLED;
195 EnableMenuItem(hMenu, ID_TRANSFER_ABORTREPEATEDSENDING, MF_DISABLED | MF_GRAYED); 195 EnableMenuItem(hMenu, ID_TRANSFER_ABORTREPEATEDSENDING, MF_DISABLED | MF_GRAYED);
196 EnableMenuItem(hMenu, ID_TRANSFER_SENDFILETEXT, MenuFlags); 196 EnableMenuItem(hMenu, ID_TRANSFER_SENDFILETEXT, MenuFlags);
  197 +#ifdef __OPTEK_EDIT__
197 EnableMenuItem(hMenu, IDC_SENDBTN, MenuFlags); 198 EnableMenuItem(hMenu, IDC_SENDBTN, MenuFlags);
  199 + #endif
198 EnableMenuItem(hMenu, ID_TRANSFER_SENDREPEATEDLY, MenuFlags); 200 EnableMenuItem(hMenu, ID_TRANSFER_SENDREPEATEDLY, MenuFlags);
199 EnableMenuItem(hMenu, ID_TRANSFER_RECEIVEFILETEXT, MenuFlags); 201 EnableMenuItem(hMenu, ID_TRANSFER_RECEIVEFILETEXT, MenuFlags);
200 202
@@ -262,7 +264,9 @@ void TransferFileTextStart(LPCTSTR lpstrFileName) @@ -262,7 +264,9 @@ void TransferFileTextStart(LPCTSTR lpstrFileName)
262 hMenu = GetMenu(ghwndMain); 264 hMenu = GetMenu(ghwndMain);
263 MenuFlags = MF_DISABLED | MF_GRAYED; 265 MenuFlags = MF_DISABLED | MF_GRAYED;
264 EnableMenuItem(hMenu, ID_TRANSFER_SENDFILETEXT, MenuFlags); 266 EnableMenuItem(hMenu, ID_TRANSFER_SENDFILETEXT, MenuFlags);
  267 +#ifdef __OPTEK_EDIT__
265 EnableMenuItem(hMenu, IDC_SENDBTN, MenuFlags); 268 EnableMenuItem(hMenu, IDC_SENDBTN, MenuFlags);
  269 +#endif
266 EnableMenuItem(hMenu, ID_TRANSFER_SENDREPEATEDLY, MenuFlags); 270 EnableMenuItem(hMenu, ID_TRANSFER_SENDREPEATEDLY, MenuFlags);
267 EnableMenuItem(hMenu, ID_TRANSFER_ABORTSENDING, MF_ENABLED); 271 EnableMenuItem(hMenu, ID_TRANSFER_ABORTSENDING, MF_ENABLED);
268 EnableMenuItem(hMenu, ID_TRANSFER_RECEIVEFILETEXT, MenuFlags); 272 EnableMenuItem(hMenu, ID_TRANSFER_RECEIVEFILETEXT, MenuFlags);
@@ -333,7 +337,9 @@ void TransferFileTextEnd() @@ -333,7 +337,9 @@ void TransferFileTextEnd()
333 hMenu = GetMenu(ghwndMain); 337 hMenu = GetMenu(ghwndMain);
334 MenuFlags = MF_ENABLED; 338 MenuFlags = MF_ENABLED;
335 EnableMenuItem(hMenu, ID_TRANSFER_SENDFILETEXT, MenuFlags); 339 EnableMenuItem(hMenu, ID_TRANSFER_SENDFILETEXT, MenuFlags);
  340 +#ifdef __OPTEK_EDIT__
336 EnableMenuItem(hMenu, IDC_SENDBTN, MenuFlags); 341 EnableMenuItem(hMenu, IDC_SENDBTN, MenuFlags);
  342 +#endif
337 EnableMenuItem(hMenu, ID_TRANSFER_SENDREPEATEDLY, MenuFlags); 343 EnableMenuItem(hMenu, ID_TRANSFER_SENDREPEATEDLY, MenuFlags);
338 EnableMenuItem(hMenu, ID_TRANSFER_RECEIVEFILETEXT, MenuFlags); 344 EnableMenuItem(hMenu, ID_TRANSFER_RECEIVEFILETEXT, MenuFlags);
339 EnableMenuItem(hMenu, ID_TRANSFER_ABORTSENDING, MF_DISABLED | MF_GRAYED); 345 EnableMenuItem(hMenu, ID_TRANSFER_ABORTSENDING, MF_DISABLED | MF_GRAYED);
@@ -343,7 +349,9 @@ void TransferFileTextEnd() @@ -343,7 +349,9 @@ void TransferFileTextEnd()
343 // 349 //
344 ShowWindow(GetDlgItem(ghWndStatusDlg, IDC_ABORTBTN), SW_HIDE); 350 ShowWindow(GetDlgItem(ghWndStatusDlg, IDC_ABORTBTN), SW_HIDE);
345 ShowWindow(GetDlgItem(ghWndStatusDlg, IDC_TRANSFERPROGRESS), SW_HIDE); 351 ShowWindow(GetDlgItem(ghWndStatusDlg, IDC_TRANSFERPROGRESS), SW_HIDE);
  352 +#ifdef __OPTEK_EDIT__
346 EnableWindow( GetDlgItem(ghWndToolbarDlg, IDC_SENDBTN), TRUE); 353 EnableWindow( GetDlgItem(ghWndToolbarDlg, IDC_SENDBTN), TRUE);
  354 +#endif
347 // 355 //
348 // close the file 356 // close the file
349 // 357 //
@@ -391,7 +399,9 @@ void ReceiveFileText(LPCTSTR lpstrFileName) @@ -391,7 +399,9 @@ void ReceiveFileText(LPCTSTR lpstrFileName)
391 // disable transfer menu 399 // disable transfer menu
392 // 400 //
393 EnableMenuItem(hMenu, ID_TRANSFER_SENDFILETEXT, MenuFlags); 401 EnableMenuItem(hMenu, ID_TRANSFER_SENDFILETEXT, MenuFlags);
  402 +#ifdef __OPTEK_EDIT__
394 EnableMenuItem(hMenu, IDC_SENDBTN, MenuFlags); 403 EnableMenuItem(hMenu, IDC_SENDBTN, MenuFlags);
  404 +#endif
395 EnableMenuItem(hMenu, ID_TRANSFER_RECEIVEFILETEXT, MenuFlags); 405 EnableMenuItem(hMenu, ID_TRANSFER_RECEIVEFILETEXT, MenuFlags);
396 EnableMenuItem(hMenu, ID_TRANSFER_SENDREPEATEDLY, MenuFlags); 406 EnableMenuItem(hMenu, ID_TRANSFER_SENDREPEATEDLY, MenuFlags);
397 407
@@ -419,7 +429,9 @@ void ReceiveFileText(LPCTSTR lpstrFileName) @@ -419,7 +429,9 @@ void ReceiveFileText(LPCTSTR lpstrFileName)
419 // enable transfer menu 429 // enable transfer menu
420 // 430 //
421 EnableMenuItem(hMenu, ID_TRANSFER_SENDFILETEXT, MenuFlags); 431 EnableMenuItem(hMenu, ID_TRANSFER_SENDFILETEXT, MenuFlags);
  432 +#ifdef __OPTEK_EDIT__
422 EnableMenuItem(hMenu, IDC_SENDBTN, MenuFlags); 433 EnableMenuItem(hMenu, IDC_SENDBTN, MenuFlags);
  434 +#endif
423 EnableMenuItem(hMenu, ID_TRANSFER_RECEIVEFILETEXT, MenuFlags); 435 EnableMenuItem(hMenu, ID_TRANSFER_RECEIVEFILETEXT, MenuFlags);
424 EnableMenuItem(hMenu, ID_TRANSFER_SENDREPEATEDLY, MenuFlags); 436 EnableMenuItem(hMenu, ID_TRANSFER_SENDREPEATEDLY, MenuFlags);
425 437
@@ -685,21 +697,19 @@ HISTORY: Date: Author: Comment: @@ -685,21 +697,19 @@ HISTORY: Date: Author: Comment:
685 697
686 -----------------------------------------------------------------------------*/ 698 -----------------------------------------------------------------------------*/
687 699
  700 +#ifdef __OPTEK_EDIT__
688 #define HEADER_START 0x44332211 701 #define HEADER_START 0x44332211
689 #define BAUDRATE_DET_DATA 0xFFAAFF55 702 #define BAUDRATE_DET_DATA 0xFFAAFF55
690 #define BAUDRATE_DET_DATA_LEN 0xB00 703 #define BAUDRATE_DET_DATA_LEN 0xB00
691 #define HEADER_LEN 0x20 704 #define HEADER_LEN 0x20
692 #define MAC_ADDR_OFFSET 0x68000 705 #define MAC_ADDR_OFFSET 0x68000
693 -  
694 #define U32 unsigned int 706 #define U32 unsigned int
695 -  
696 enum { 707 enum {
697 READ_CPU_TICKS_ERR, 708 READ_CPU_TICKS_ERR,
698 WRONG_FILE_FORMAT, 709 WRONG_FILE_FORMAT,
699 CHECKSUM_ERROR, 710 CHECKSUM_ERROR,
700 FILE_CHCK_SUCCESSFUL 711 FILE_CHCK_SUCCESSFUL
701 }; 712 };
702 -  
703 typedef struct { 713 typedef struct {
704 U32 rx_header_start; 714 U32 rx_header_start;
705 U32 rx_copy_addr; 715 U32 rx_copy_addr;
@@ -894,7 +904,7 @@ int fileCheck(char *fData,char *dataLen) @@ -894,7 +904,7 @@ int fileCheck(char *fData,char *dataLen)
894 } 904 }
895 return ret; 905 return ret;
896 } 906 }
897 - 907 +#endif
898 DWORD WINAPI TransferThreadProc(LPVOID lpV) 908 DWORD WINAPI TransferThreadProc(LPVOID lpV)
899 { 909 {
900 DWORD dwPacketSize, dwMaxPackets, dwFileSize; 910 DWORD dwPacketSize, dwMaxPackets, dwFileSize;
@@ -904,12 +914,13 @@ DWORD WINAPI TransferThreadProc(LPVOID lpV) @@ -904,12 +914,13 @@ DWORD WINAPI TransferThreadProc(LPVOID lpV)
904 HANDLE hDataHeap; 914 HANDLE hDataHeap;
905 BOOL fStarted = TRUE; 915 BOOL fStarted = TRUE;
906 BOOL fAborting = FALSE; 916 BOOL fAborting = FALSE;
  917 +#ifdef __OPTEK_EDIT__
907 BOOL userAborting = TRUE; 918 BOOL userAborting = TRUE;
908 char *lpfileBuf; 919 char *lpfileBuf;
909 char *pRead; 920 char *pRead;
910 DWORD dwRead; 921 DWORD dwRead;
911 int err; 922 int err;
912 - 923 +#endif
913 924
914 hFileHandle = (HANDLE) lpV; 925 hFileHandle = (HANDLE) lpV;
915 hWndProgress = GetDlgItem(ghWndStatusDlg, IDC_TRANSFERPROGRESS); 926 hWndProgress = GetDlgItem(ghWndStatusDlg, IDC_TRANSFERPROGRESS);
@@ -919,7 +930,6 @@ DWORD WINAPI TransferThreadProc(LPVOID lpV) @@ -919,7 +930,6 @@ DWORD WINAPI TransferThreadProc(LPVOID lpV)
919 fAborting = TRUE; 930 fAborting = TRUE;
920 else { 931 else {
921 SendMessage(hWndProgress, PBM_SETRANGE, 0, MAKELPARAM(0, dwMaxPackets+1)); 932 SendMessage(hWndProgress, PBM_SETRANGE, 0, MAKELPARAM(0, dwMaxPackets+1));
922 -// SendMessage(hWndProgress, PBM_SETRANGE, 0, MAKELPARAM(0, 100));  
923 SendMessage(hWndProgress, PBM_SETSTEP, (WPARAM) 1, 0); 933 SendMessage(hWndProgress, PBM_SETSTEP, (WPARAM) 1, 0);
924 SendMessage(hWndProgress, PBM_SETPOS, 0, 0); 934 SendMessage(hWndProgress, PBM_SETPOS, 0, 0);
925 } 935 }
@@ -928,14 +938,18 @@ DWORD WINAPI TransferThreadProc(LPVOID lpV) @@ -928,14 +938,18 @@ DWORD WINAPI TransferThreadProc(LPVOID lpV)
928 if (!fAborting) { 938 if (!fAborting) {
929 SYSTEM_INFO sysInfo; 939 SYSTEM_INFO sysInfo;
930 GetSystemInfo(&sysInfo); 940 GetSystemInfo(&sysInfo);
931 -// hDataHeap = HeapCreate(0, sysInfo.dwPageSize * 2, sysInfo.dwPageSize * 10);  
932 - hDataHeap = HeapCreate(0, sysInfo.dwPageSize * 20,0); 941 +#ifdef __OPTEK_EDIT__
  942 +hDataHeap = HeapCreate(0, sysInfo.dwPageSize * 20,0);
  943 +#else
  944 +hDataHeap = HeapCreate(0, sysInfo.dwPageSize * 2, sysInfo.dwPageSize * 10);
  945 +#endif
933 if (hDataHeap == NULL) { 946 if (hDataHeap == NULL) {
934 ErrorReporter("HeapCreate (Data Heap)"); 947 ErrorReporter("HeapCreate (Data Heap)");
935 fAborting = TRUE; 948 fAborting = TRUE;
936 } 949 }
937 } 950 }
938 951
  952 +#ifdef __OPTEK_EDIT__
939 /**********************check file*********************************/ 953 /**********************check file*********************************/
940 lpfileBuf = HeapAlloc(hDataHeap, 0, dwFileSize); 954 lpfileBuf = HeapAlloc(hDataHeap, 0, dwFileSize);
941 pRead = lpfileBuf; 955 pRead = lpfileBuf;
@@ -969,17 +983,11 @@ DWORD WINAPI TransferThreadProc(LPVOID lpV) @@ -969,17 +983,11 @@ DWORD WINAPI TransferThreadProc(LPVOID lpV)
969 userAborting =FALSE; 983 userAborting =FALSE;
970 fAborting = TRUE; 984 fAborting = TRUE;
971 } 985 }
972 -  
973 -  
974 -  
975 - if (WaitForSingleObject(hTransferAbortEvent, 0) == WAIT_OBJECT_0)  
976 - fAborting = TRUE;  
977 - 986 +#endif
978 // inform writer thread that a file is about to be transferred 987 // inform writer thread that a file is about to be transferred
979 if (!fAborting) { 988 if (!fAborting) {
980 if (!WriterAddNewNode(WRITE_FILESTART, dwFileSize, 0, NULL, NULL, NULL)) 989 if (!WriterAddNewNode(WRITE_FILESTART, dwFileSize, 0, NULL, NULL, NULL))
981 fAborting = TRUE; 990 fAborting = TRUE;
982 -  
983 } 991 }
984 992
985 OutputDebugString("Xfer: About to start sending data\n"); 993 OutputDebugString("Xfer: About to start sending data\n");
@@ -987,34 +995,52 @@ DWORD WINAPI TransferThreadProc(LPVOID lpV) @@ -987,34 +995,52 @@ DWORD WINAPI TransferThreadProc(LPVOID lpV)
987 // Get Transfer Start Time 995 // Get Transfer Start Time
988 dwStartTime = GetTickCount(); 996 dwStartTime = GetTickCount();
989 997
  998 + if (WaitForSingleObject(hTransferAbortEvent, 0) == WAIT_OBJECT_0)
  999 + fAborting = TRUE;
  1000 +
990 while (!fAborting) { 1001 while (!fAborting) {
  1002 + char * lpDataBuf;
991 PWRITEREQUEST pWrite; 1003 PWRITEREQUEST pWrite;
992 - char * lpDataBuf;  
993 1004
994 // transfer file, loop until all blocks of file have been read 1005 // transfer file, loop until all blocks of file have been read
995 lpDataBuf = HeapAlloc(hDataHeap, 0, dwPacketSize); 1006 lpDataBuf = HeapAlloc(hDataHeap, 0, dwPacketSize);
996 pWrite = HeapAlloc(ghWriterHeap, 0, sizeof(WRITEREQUEST)); 1007 pWrite = HeapAlloc(ghWriterHeap, 0, sizeof(WRITEREQUEST));
997 1008
998 - if ((lpDataBuf != NULL) && (pWrite != NULL)) { 1009 + if ((lpDataBuf != NULL) && (pWrite != NULL))
  1010 + {
999 1011
  1012 +#ifdef __OPTEK_EDIT__
1000 DWORD wrLen; 1013 DWORD wrLen;
1001 1014
1002 // read from file into new buffer 1015 // read from file into new buffer
1003 //if (ReadFile(hFileHandle, lpDataBuf, dwPacketSize, &dwRead, NULL)) { 1016 //if (ReadFile(hFileHandle, lpDataBuf, dwPacketSize, &dwRead, NULL)) {
1004 - if (dwRead > dwPacketSize){ 1017 + if (dwRead > dwPacketSize)
  1018 + {
1005 memcpy(lpDataBuf,pRead,dwPacketSize); 1019 memcpy(lpDataBuf,pRead,dwPacketSize);
1006 WriterAddExistingNode(pWrite, WRITE_FILE, dwPacketSize, 0, lpDataBuf, hDataHeap, hWndProgress); 1020 WriterAddExistingNode(pWrite, WRITE_FILE, dwPacketSize, 0, lpDataBuf, hDataHeap, hWndProgress);
1007 dwRead -= dwPacketSize; 1021 dwRead -= dwPacketSize;
1008 pRead += dwPacketSize; 1022 pRead += dwPacketSize;
1009 } 1023 }
1010 - else{ 1024 + else
  1025 + {
1011 memcpy(lpDataBuf,pRead,dwRead); 1026 memcpy(lpDataBuf,pRead,dwRead);
1012 WriterAddExistingNode(pWrite, WRITE_FILE, dwRead, 0, lpDataBuf, hDataHeap, hWndProgress); 1027 WriterAddExistingNode(pWrite, WRITE_FILE, dwRead, 0, lpDataBuf, hDataHeap, hWndProgress);
1013 // eof 1028 // eof
1014 break; 1029 break;
1015 } 1030 }
  1031 +#else
  1032 + DWORD dwRead;
  1033 + // read from file into new buffer
  1034 + if (ReadFile(hFileHandle, lpDataBuf, dwPacketSize, &dwRead, NULL))
  1035 + {
  1036 + WriterAddExistingNode(pWrite, WRITE_FILE, dwRead, 0, lpDataBuf, hDataHeap, hWndProgress);
  1037 + if (dwRead != dwPacketSize) // eof
  1038 + break;
  1039 + }
  1040 +#endif
1016 } 1041 }
1017 - else { 1042 + else
  1043 + {
1018 BOOL fRes; 1044 BOOL fRes;
1019 /* 1045 /*
1020 Either the data heap is full, or the writer heap is full. 1046 Either the data heap is full, or the writer heap is full.
@@ -1053,16 +1079,17 @@ DWORD WINAPI TransferThreadProc(LPVOID lpV) @@ -1053,16 +1079,17 @@ DWORD WINAPI TransferThreadProc(LPVOID lpV)
1053 fAborting = TRUE; 1079 fAborting = TRUE;
1054 } 1080 }
1055 1081
1056 - if (lpfileBuf) { 1082 +#ifdef __OPTEK_EDIT__
  1083 + if (lpfileBuf)
  1084 + {
1057 BOOL fRes; 1085 BOOL fRes;
1058 -  
1059 EnterCriticalSection(&gcsDataHeap); 1086 EnterCriticalSection(&gcsDataHeap);
1060 fRes = HeapFree(hDataHeap, 0, lpfileBuf); 1087 fRes = HeapFree(hDataHeap, 0, lpfileBuf);
1061 LeaveCriticalSection(&gcsDataHeap); 1088 LeaveCriticalSection(&gcsDataHeap);
1062 if (!fRes) 1089 if (!fRes)
1063 ErrorReporter("HeapFree (Data block)"); 1090 ErrorReporter("HeapFree (Data block)");
1064 } 1091 }
1065 - 1092 +#endif
1066 OutputDebugString("Xfer: Done sending packets.\n"); 1093 OutputDebugString("Xfer: Done sending packets.\n");
1067 1094
1068 if (fAborting) { 1095 if (fAborting) {
@@ -1127,7 +1154,11 @@ DWORD WINAPI TransferThreadProc(LPVOID lpV) @@ -1127,7 +1154,11 @@ DWORD WINAPI TransferThreadProc(LPVOID lpV)
1127 // If I am done without user intervention, then post the 1154 // If I am done without user intervention, then post the
1128 // "abort" message myself. This will cause the main thread to 1155 // "abort" message myself. This will cause the main thread to
1129 // clean up after the file transfer. 1156 // clean up after the file transfer.
  1157 +#ifdef __OPTEK_EDIT__
1130 if ((!fAborting)|| (!userAborting)) 1158 if ((!fAborting)|| (!userAborting))
  1159 +#else
  1160 + if (!fAborting)
  1161 +#endif
1131 { 1162 {
1132 PostMessage(ghwndMain, WM_COMMAND, ID_TRANSFER_ABORTSENDING, 0); 1163 PostMessage(ghwndMain, WM_COMMAND, ID_TRANSFER_ABORTSENDING, 0);
1133 } 1164 }
@@ -14,127 +14,7 @@ @@ -14,127 +14,7 @@
14 14
15 -----------------------------------------------------------------------------*/ 15 -----------------------------------------------------------------------------*/
16 16
17 -//  
18 -// constant definitions  
19 -//  
20 17
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 18
139 //--------------------------------------------------------------------------- 19 //---------------------------------------------------------------------------
140 // End of File: ttyinfo.h 20 // End of File: ttyinfo.h
@@ -277,7 +277,11 @@ void WriterAbort(PWRITEREQUEST pAbortNode) @@ -277,7 +277,11 @@ void WriterAbort(PWRITEREQUEST pAbortNode)
277 { 277 {
278 PWRITEREQUEST pCurrent; 278 PWRITEREQUEST pCurrent;
279 PWRITEREQUEST pNextNode; 279 PWRITEREQUEST pNextNode;
  280 +#ifdef __OPTEK_EDIT__
280 BOOL fRes = TRUE; 281 BOOL fRes = TRUE;
  282 +#else
  283 + BOOL fRes;
  284 +#endif
281 int i = 0; 285 int i = 0;
282 char szMessage[30]; 286 char szMessage[30];
283 287
Please register or login to post a comment