Showing
8 changed files
with
294 additions
and
189 deletions
| @@ -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