Commit b308a51f268a840a261ede84cd14a63ea6032797

Authored by xiemeng
1 parent 79d8cfb2

去掉MSCOM控件, 自定义COM类

... ... @@ -73,7 +73,7 @@ IDR_MAINFRAME ICON "res\\BlueFlashTool.ico"
73 73 // Dialog
74 74 //
75 75
76   -IDD_BLUEFLASHTOOL_DIALOG DIALOGEX 0, 0, 934, 459
  76 +IDD_BLUEFLASHTOOL_DIALOG DIALOGEX 0, 0, 610, 317
77 77 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
78 78 EXSTYLE WS_EX_APPWINDOW
79 79 CAPTION "BlueFlashTool"
... ... @@ -81,57 +81,6 @@ FONT 9, "宋体", 0, 0, 0x1
81 81 BEGIN
82 82 PUSHBUTTON "全部停止",IDC_STOP_ALL,487,66,84,30
83 83 PUSHBUTTON "参数设置",IDC_BUTTON_SETTING,487,161,84,30
84   - CONTROL "",IDC_MSCOMM0,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,860,361,25,25
85   - CONTROL "",IDC_MSCOMM1,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,10,343,25,25
86   - CONTROL "",IDC_MSCOMM2,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,843,343,25,25
87   - CONTROL "",IDC_MSCOMM3,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,826,343,25,25
88   - CONTROL "",IDC_MSCOMM4,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,809,343,25,25
89   - CONTROL "",IDC_MSCOMM5,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,792,343,25,25
90   - CONTROL "",IDC_MSCOMM6,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,775,343,25,25
91   - CONTROL "",IDC_MSCOMM7,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,758,343,25,25
92   - CONTROL "",IDC_MSCOMM8,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,741,343,25,25
93   - CONTROL "",IDC_MSCOMM9,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,724,343,25,25
94   - CONTROL "",IDC_MSCOMM10,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,707,343,25,25
95   - CONTROL "",IDC_MSCOMM11,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,690,343,25,25
96   - CONTROL "",IDC_MSCOMM12,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,673,343,25,25
97   - CONTROL "",IDC_MSCOMM13,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,656,343,25,25
98   - CONTROL "",IDC_MSCOMM14,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,639,343,25,25
99   - CONTROL "",IDC_MSCOMM15,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,622,343,25,25
100   - CONTROL "",IDC_MSCOMM16,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,605,343,25,25
101   - CONTROL "",IDC_MSCOMM17,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,588,343,25,25
102   - CONTROL "",IDC_MSCOMM18,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,571,343,25,25
103   - CONTROL "",IDC_MSCOMM19,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,554,343,25,25
104   - CONTROL "",IDC_MSCOMM20,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,537,343,25,25
105   - CONTROL "",IDC_MSCOMM21,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,520,343,25,25
106   - CONTROL "",IDC_MSCOMM22,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,503,343,25,25
107   - CONTROL "",IDC_MSCOMM23,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,486,343,25,25
108   - CONTROL "",IDC_MSCOMM24,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,469,343,25,25
109   - CONTROL "",IDC_MSCOMM25,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,452,343,25,25
110   - CONTROL "",IDC_MSCOMM26,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,435,343,25,25
111   - CONTROL "",IDC_MSCOMM27,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,418,343,25,25
112   - CONTROL "",IDC_MSCOMM28,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,401,343,25,25
113   - CONTROL "",IDC_MSCOMM29,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,384,343,25,25
114   - CONTROL "",IDC_MSCOMM30,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,367,343,25,25
115   - CONTROL "",IDC_MSCOMM31,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,350,343,25,25
116   - CONTROL "",IDC_MSCOMM32,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,333,343,25,25
117   - CONTROL "",IDC_MSCOMM33,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,316,343,25,25
118   - CONTROL "",IDC_MSCOMM34,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,299,343,25,25
119   - CONTROL "",IDC_MSCOMM35,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,282,343,25,25
120   - CONTROL "",IDC_MSCOMM36,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,265,343,25,25
121   - CONTROL "",IDC_MSCOMM37,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,248,343,25,25
122   - CONTROL "",IDC_MSCOMM38,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,231,343,25,25
123   - CONTROL "",IDC_MSCOMM39,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,214,343,25,25
124   - CONTROL "",IDC_MSCOMM40,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,197,343,25,25
125   - CONTROL "",IDC_MSCOMM41,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,180,343,25,25
126   - CONTROL "",IDC_MSCOMM42,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,163,343,25,25
127   - CONTROL "",IDC_MSCOMM43,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,146,343,25,25
128   - CONTROL "",IDC_MSCOMM44,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,129,343,25,25
129   - CONTROL "",IDC_MSCOMM45,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,112,343,25,25
130   - CONTROL "",IDC_MSCOMM46,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,95,343,25,25
131   - CONTROL "",IDC_MSCOMM47,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,78,343,25,25
132   - CONTROL "",IDC_MSCOMM48,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,61,343,25,25
133   - CONTROL "",IDC_MSCOMM49,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,44,343,25,25
134   - CONTROL "",IDC_MSCOMM50,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,27,343,25,25
135 84 LISTBOX IDC_DEBUG_MESSAGE,0,261,591,41,LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
136 85 PUSHBUTTON "连接夹具",IDC_BUTTON_INIT_COMPORT,487,119,84,30
137 86 GROUPBOX "静态",IDC_STATIC_GROUP_EAR,39,27,48,40
... ... @@ -237,9 +186,9 @@ BEGIN
237 186 IDD_BLUEFLASHTOOL_DIALOG, DIALOG
238 187 BEGIN
239 188 LEFTMARGIN, 7
240   - RIGHTMARGIN, 927
  189 + RIGHTMARGIN, 603
241 190 TOPMARGIN, 7
242   - BOTTOMMARGIN, 452
  191 + BOTTOMMARGIN, 310
243 192 END
244 193
245 194 IDD_SYSTEM_CONFIG, DIALOG
... ... @@ -258,368 +207,6 @@ END
258 207 // Dialog Info
259 208 //
260 209
261   -IDD_BLUEFLASHTOOL_DIALOG DLGINIT
262   -BEGIN
263   - IDC_MSCOMM0, 0x376, 102, 0
264   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
265   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
266   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
267   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
268   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
269   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
270   - IDC_MSCOMM1, 0x376, 102, 0
271   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
272   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
273   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
274   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
275   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
276   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
277   - IDC_MSCOMM2, 0x376, 102, 0
278   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
279   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
280   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
281   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
282   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
283   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
284   - IDC_MSCOMM3, 0x376, 102, 0
285   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
286   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
287   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
288   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
289   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
290   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
291   - IDC_MSCOMM4, 0x376, 102, 0
292   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
293   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
294   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
295   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
296   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
297   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
298   - IDC_MSCOMM5, 0x376, 102, 0
299   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
300   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
301   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
302   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
303   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
304   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
305   - IDC_MSCOMM6, 0x376, 102, 0
306   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
307   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
308   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
309   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
310   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
311   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
312   - IDC_MSCOMM7, 0x376, 102, 0
313   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
314   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
315   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
316   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
317   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
318   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
319   - IDC_MSCOMM8, 0x376, 102, 0
320   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
321   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
322   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
323   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
324   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
325   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
326   - IDC_MSCOMM9, 0x376, 102, 0
327   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
328   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
329   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
330   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
331   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
332   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
333   - IDC_MSCOMM10, 0x376, 102, 0
334   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
335   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
336   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
337   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
338   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
339   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
340   - IDC_MSCOMM11, 0x376, 102, 0
341   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
342   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
343   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
344   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
345   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
346   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
347   - IDC_MSCOMM12, 0x376, 102, 0
348   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
349   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
350   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
351   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
352   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
353   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
354   - IDC_MSCOMM13, 0x376, 102, 0
355   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
356   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
357   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
358   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
359   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
360   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
361   - IDC_MSCOMM14, 0x376, 102, 0
362   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
363   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
364   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
365   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
366   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
367   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
368   - IDC_MSCOMM15, 0x376, 102, 0
369   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
370   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
371   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
372   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
373   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
374   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
375   - IDC_MSCOMM16, 0x376, 102, 0
376   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
377   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
378   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
379   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
380   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
381   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
382   - IDC_MSCOMM17, 0x376, 102, 0
383   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
384   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
385   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
386   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
387   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
388   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
389   - IDC_MSCOMM18, 0x376, 102, 0
390   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
391   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
392   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
393   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
394   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
395   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
396   - IDC_MSCOMM19, 0x376, 102, 0
397   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
398   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
399   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
400   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
401   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
402   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
403   - IDC_MSCOMM20, 0x376, 102, 0
404   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
405   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
406   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
407   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
408   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
409   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
410   - IDC_MSCOMM21, 0x376, 102, 0
411   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
412   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
413   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
414   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
415   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
416   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
417   - IDC_MSCOMM22, 0x376, 102, 0
418   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
419   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
420   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
421   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
422   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
423   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
424   - IDC_MSCOMM23, 0x376, 102, 0
425   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
426   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
427   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
428   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
429   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
430   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
431   - IDC_MSCOMM24, 0x376, 102, 0
432   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
433   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
434   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
435   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
436   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
437   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
438   - IDC_MSCOMM25, 0x376, 102, 0
439   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
440   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
441   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
442   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
443   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
444   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
445   - IDC_MSCOMM26, 0x376, 102, 0
446   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
447   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
448   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
449   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
450   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
451   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
452   - IDC_MSCOMM27, 0x376, 102, 0
453   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
454   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
455   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
456   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
457   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
458   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
459   - IDC_MSCOMM28, 0x376, 102, 0
460   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
461   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
462   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
463   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
464   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
465   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
466   - IDC_MSCOMM29, 0x376, 102, 0
467   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
468   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
469   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
470   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
471   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
472   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
473   - IDC_MSCOMM30, 0x376, 102, 0
474   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
475   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
476   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
477   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
478   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
479   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
480   - IDC_MSCOMM31, 0x376, 102, 0
481   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
482   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
483   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
484   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
485   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
486   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
487   - IDC_MSCOMM32, 0x376, 102, 0
488   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
489   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
490   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
491   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
492   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
493   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
494   - IDC_MSCOMM33, 0x376, 102, 0
495   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
496   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
497   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
498   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
499   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
500   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
501   - IDC_MSCOMM34, 0x376, 102, 0
502   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
503   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
504   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
505   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
506   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
507   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
508   - IDC_MSCOMM35, 0x376, 102, 0
509   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
510   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
511   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
512   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
513   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
514   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
515   - IDC_MSCOMM36, 0x376, 102, 0
516   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
517   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
518   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
519   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
520   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
521   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
522   - IDC_MSCOMM37, 0x376, 102, 0
523   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
524   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
525   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
526   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
527   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
528   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
529   - IDC_MSCOMM38, 0x376, 102, 0
530   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
531   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
532   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
533   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
534   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
535   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
536   - IDC_MSCOMM39, 0x376, 102, 0
537   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
538   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
539   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
540   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
541   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
542   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
543   - IDC_MSCOMM40, 0x376, 102, 0
544   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
545   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
546   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
547   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
548   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
549   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
550   - IDC_MSCOMM41, 0x376, 102, 0
551   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
552   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
553   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
554   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
555   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
556   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
557   - IDC_MSCOMM42, 0x376, 102, 0
558   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
559   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
560   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
561   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
562   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
563   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
564   - IDC_MSCOMM43, 0x376, 102, 0
565   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
566   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
567   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
568   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
569   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
570   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
571   - IDC_MSCOMM44, 0x376, 102, 0
572   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
573   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
574   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
575   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
576   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
577   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
578   - IDC_MSCOMM45, 0x376, 102, 0
579   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
580   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
581   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
582   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
583   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
584   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
585   - IDC_MSCOMM46, 0x376, 102, 0
586   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
587   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
588   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
589   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
590   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
591   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
592   - IDC_MSCOMM47, 0x376, 102, 0
593   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
594   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
595   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
596   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
597   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
598   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
599   - IDC_MSCOMM48, 0x376, 102, 0
600   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
601   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
602   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
603   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
604   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
605   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
606   - IDC_MSCOMM49, 0x376, 102, 0
607   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
608   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
609   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
610   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
611   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
612   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
613   - IDC_MSCOMM50, 0x376, 102, 0
614   -0x0013, 0x0000, 0x0043, 0x006f, 0x0070, 0x0079, 0x0072, 0x0069, 0x0067,
615   -0x0068, 0x0074, 0x0020, 0x0028, 0x0063, 0x0029, 0x0020, 0x0031, 0x0039,
616   -0x0039, 0x0034, 0x0020, 0x4321, 0x1234, 0x0008, 0x0000, 0x03ed, 0x0000,
617   -0x03ed, 0x0000, 0x5601, 0x648a, 0x0000, 0x0006, 0x0000, 0x0001, 0x0400,
618   -0x0000, 0x0200, 0x0000, 0x2580, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
619   -0x0000, 0x0000, 0x003f, 0x0000, 0x0001, 0x0000,
620   - 0
621   -END
622   -
623 210 IDD_SYSTEM_CONFIG DLGINIT
624 211 BEGIN
625 212 IDC_COMBO_BAND, 0x403, 4, 0
... ...
... ... @@ -279,24 +279,8 @@
279 279 >
280 280 </File>
281 281 <File
282   - RelativePath="mscomm.cpp"
  282 + RelativePath=".\SerialPort.cpp"
283 283 >
284   - <FileConfiguration
285   - Name="Release|Win32"
286   - >
287   - <Tool
288   - Name="VCCLCompilerTool"
289   - PreprocessorDefinitions=""
290   - />
291   - </FileConfiguration>
292   - <FileConfiguration
293   - Name="Debug|Win32"
294   - >
295   - <Tool
296   - Name="VCCLCompilerTool"
297   - PreprocessorDefinitions=""
298   - />
299   - </FileConfiguration>
300 284 </File>
301 285 <File
302 286 RelativePath="StdAfx.cpp"
... ... @@ -358,11 +342,11 @@
358 342 >
359 343 </File>
360 344 <File
361   - RelativePath="mscomm.h"
  345 + RelativePath="Resource.h"
362 346 >
363 347 </File>
364 348 <File
365   - RelativePath="Resource.h"
  349 + RelativePath=".\SerialPort.h"
366 350 >
367 351 </File>
368 352 <File
... ...
... ... @@ -31,6 +31,7 @@ CBlueFlashToolDlg::CBlueFlashToolDlg(CWnd* pParent /*=NULL*/)
31 31 // Note that LoadIcon does not require a subsequent DestroyIcon in Win32
32 32 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
33 33 memset(ifUartEnable,0,BLUE_TYPE_MAX*MAX_TOPWELL_DEVICE_NUM);
  34 + memset(mybufferFromUart,0,BLUE_TYPE_MAX*MAX_TOPWELL_DEVICE_NUM*BLUE_UART_INPUTBUFFER_SIZE);
34 35 mystrAppcurrDir = GetCurrPath();
35 36 }
36 37
... ... @@ -38,108 +39,6 @@ void CBlueFlashToolDlg::DoDataExchange(CDataExchange* pDX)
38 39 {
39 40 CDialog::DoDataExchange(pDX);
40 41 //{{AFX_DATA_MAP(CBlueFlashToolDlg)
41   - DDX_Control(pDX, IDC_MSCOMM0, mycom_debug);
42   - DDX_Control(pDX, IDC_MSCOMM1, mycom[0][0]);
43   - DDX_Control(pDX, IDC_MSCOMM2, mycom[0][1]);
44   - DDX_Control(pDX, IDC_MSCOMM3, mycom[0][2]);
45   - DDX_Control(pDX, IDC_MSCOMM4, mycom[0][3]);
46   - DDX_Control(pDX, IDC_MSCOMM5, mycom[0][4]);
47   - DDX_Control(pDX, IDC_MSCOMM6, mycom[0][5]);
48   - DDX_Control(pDX, IDC_MSCOMM7, mycom[0][6]);
49   - DDX_Control(pDX, IDC_MSCOMM8, mycom[0][7]);
50   - DDX_Control(pDX, IDC_MSCOMM9, mycom[0][8]);
51   - DDX_Control(pDX, IDC_MSCOMM10, mycom[0][9]);
52   - DDX_Control(pDX, IDC_MSCOMM11, mycom[0][10]);
53   - DDX_Control(pDX, IDC_MSCOMM12, mycom[0][11]);
54   - DDX_Control(pDX, IDC_MSCOMM13, mycom[0][12]);
55   - DDX_Control(pDX, IDC_MSCOMM14, mycom[0][13]);
56   - DDX_Control(pDX, IDC_MSCOMM15, mycom[0][14]);
57   - DDX_Control(pDX, IDC_MSCOMM16, mycom[0][15]);
58   - DDX_Control(pDX, IDC_MSCOMM17, mycom[0][16]);
59   - DDX_Control(pDX, IDC_MSCOMM18, mycom[0][17]);
60   - DDX_Control(pDX, IDC_MSCOMM19, mycom[0][18]);
61   - DDX_Control(pDX, IDC_MSCOMM20, mycom[0][19]);
62   - DDX_Control(pDX, IDC_MSCOMM21, mycom[0][20]);
63   - DDX_Control(pDX, IDC_MSCOMM22, mycom[0][21]);
64   - DDX_Control(pDX, IDC_MSCOMM23, mycom[0][22]);
65   - DDX_Control(pDX, IDC_MSCOMM24, mycom[0][23]);
66   - DDX_Control(pDX, IDC_MSCOMM25, mycom[0][24]);
67   - DDX_Control(pDX, IDC_MSCOMM26, mycom[1][0]);
68   - DDX_Control(pDX, IDC_MSCOMM27, mycom[1][1]);
69   - DDX_Control(pDX, IDC_MSCOMM28, mycom[1][2]);
70   - DDX_Control(pDX, IDC_MSCOMM29, mycom[1][3]);
71   - DDX_Control(pDX, IDC_MSCOMM30, mycom[1][4]);
72   - DDX_Control(pDX, IDC_MSCOMM31, mycom[1][5]);
73   - DDX_Control(pDX, IDC_MSCOMM32, mycom[1][6]);
74   - DDX_Control(pDX, IDC_MSCOMM33, mycom[1][7]);
75   - DDX_Control(pDX, IDC_MSCOMM34, mycom[1][8]);
76   - DDX_Control(pDX, IDC_MSCOMM35, mycom[1][9]);
77   - DDX_Control(pDX, IDC_MSCOMM36, mycom[1][10]);
78   - DDX_Control(pDX, IDC_MSCOMM37, mycom[1][11]);
79   - DDX_Control(pDX, IDC_MSCOMM38, mycom[1][12]);
80   - DDX_Control(pDX, IDC_MSCOMM39, mycom[1][13]);
81   - DDX_Control(pDX, IDC_MSCOMM40, mycom[1][14]);
82   - DDX_Control(pDX, IDC_MSCOMM41, mycom[1][15]);
83   - DDX_Control(pDX, IDC_MSCOMM42, mycom[1][16]);
84   - DDX_Control(pDX, IDC_MSCOMM43, mycom[1][17]);
85   - DDX_Control(pDX, IDC_MSCOMM44, mycom[1][18]);
86   - DDX_Control(pDX, IDC_MSCOMM45, mycom[1][19]);
87   - DDX_Control(pDX, IDC_MSCOMM46, mycom[1][20]);
88   - DDX_Control(pDX, IDC_MSCOMM47, mycom[1][21]);
89   - DDX_Control(pDX, IDC_MSCOMM48, mycom[1][22]);
90   - DDX_Control(pDX, IDC_MSCOMM49, mycom[1][23]);
91   - DDX_Control(pDX, IDC_MSCOMM50, mycom[1][24]);
92   -// DDX_Control(pDX, IDC_MSCOMM1, mycom01);
93   -// DDX_Control(pDX, IDC_MSCOMM2, mycom02);
94   -// DDX_Control(pDX, IDC_MSCOMM3, mycom03);
95   -// DDX_Control(pDX, IDC_MSCOMM4, mycom04);
96   -// DDX_Control(pDX, IDC_MSCOMM5, mycom05);
97   -// DDX_Control(pDX, IDC_MSCOMM6, mycom06);
98   -// DDX_Control(pDX, IDC_MSCOMM7, mycom07);
99   -// DDX_Control(pDX, IDC_MSCOMM8, mycom08);
100   -// DDX_Control(pDX, IDC_MSCOMM9, mycom09);
101   -// DDX_Control(pDX, IDC_MSCOMM10, mycom10);
102   -// DDX_Control(pDX, IDC_MSCOMM11, mycom11);
103   -// DDX_Control(pDX, IDC_MSCOMM12, mycom12);
104   -// DDX_Control(pDX, IDC_MSCOMM13, mycom13);
105   -// DDX_Control(pDX, IDC_MSCOMM14, mycom14);
106   -// DDX_Control(pDX, IDC_MSCOMM15, mycom15);
107   -// DDX_Control(pDX, IDC_MSCOMM16, mycom16);
108   -// DDX_Control(pDX, IDC_MSCOMM17, mycom17);
109   -// DDX_Control(pDX, IDC_MSCOMM18, mycom18);
110   -// DDX_Control(pDX, IDC_MSCOMM19, mycom19);
111   -// DDX_Control(pDX, IDC_MSCOMM20, mycom20);
112   -// DDX_Control(pDX, IDC_MSCOMM21, mycom21);
113   -// DDX_Control(pDX, IDC_MSCOMM22, mycom22);
114   -// DDX_Control(pDX, IDC_MSCOMM23, mycom23);
115   -// DDX_Control(pDX, IDC_MSCOMM24, mycom24);
116   -// DDX_Control(pDX, IDC_MSCOMM25, mycom25);
117   -// DDX_Control(pDX, IDC_MSCOMM26, mycom26);
118   -// DDX_Control(pDX, IDC_MSCOMM27, mycom27);
119   -// DDX_Control(pDX, IDC_MSCOMM28, mycom28);
120   -// DDX_Control(pDX, IDC_MSCOMM29, mycom29);
121   -// DDX_Control(pDX, IDC_MSCOMM30, mycom30);
122   -// DDX_Control(pDX, IDC_MSCOMM31, mycom31);
123   -// DDX_Control(pDX, IDC_MSCOMM32, mycom32);
124   -// DDX_Control(pDX, IDC_MSCOMM33, mycom33);
125   -// DDX_Control(pDX, IDC_MSCOMM34, mycom34);
126   -// DDX_Control(pDX, IDC_MSCOMM35, mycom35);
127   -// DDX_Control(pDX, IDC_MSCOMM36, mycom36);
128   -// DDX_Control(pDX, IDC_MSCOMM37, mycom37);
129   -// DDX_Control(pDX, IDC_MSCOMM38, mycom38);
130   -// DDX_Control(pDX, IDC_MSCOMM39, mycom39);
131   -// DDX_Control(pDX, IDC_MSCOMM40, mycom40);
132   -// DDX_Control(pDX, IDC_MSCOMM41, mycom41);
133   -// DDX_Control(pDX, IDC_MSCOMM42, mycom42);
134   -// DDX_Control(pDX, IDC_MSCOMM43, mycom43);
135   -// DDX_Control(pDX, IDC_MSCOMM44, mycom44);
136   -// DDX_Control(pDX, IDC_MSCOMM45, mycom45);
137   -// DDX_Control(pDX, IDC_MSCOMM46, mycom46);
138   -// DDX_Control(pDX, IDC_MSCOMM47, mycom47);
139   -// DDX_Control(pDX, IDC_MSCOMM48, mycom48);
140   -// DDX_Control(pDX, IDC_MSCOMM49, mycom49);
141   -// DDX_Control(pDX, IDC_MSCOMM50, mycom50);
142   -
143 42 //}}AFX_DATA_MAP
144 43 DDX_Control(pDX, IDC_DEBUG_MESSAGE, mylistDebugInfo);
145 44 }
... ... @@ -452,13 +351,9 @@ bool CBlueFlashToolDlg::OpenComport(int earOrUsb, int index)
452 351 int loop = 0;
453 352 CString m_strSettings;
454 353 int comopen_port;
455   - //CMSComm *pctrlComToOpen = pctrlMSComm[earOrUsb][index];
456   - m_strSettings.Format("%d,n,8,1", g_AppMainData.com_config.aBandrate);
  354 + DWORD COMuserdata;
457 355 comopen_port =g_AppMainData.ary_myComPort[earOrUsb][index] ;
458   - if (comopen_port<2)
459   - {
460   - return false;
461   - }
  356 + if (comopen_port<2) return false;
462 357 DBG_print("[%d]开始打开端口 %d",__LINE__,comopen_port);
463 358 if (QuerySingleSerialPortEx(comopen_port) != TRUE)
464 359 {
... ... @@ -467,43 +362,18 @@ bool CBlueFlashToolDlg::OpenComport(int earOrUsb, int index)
467 362 ifUartEnable[earOrUsb][index] = false;
468 363 return false;
469 364 }
470   - if (mycom[earOrUsb][index].GetPortOpen())
  365 + if (mycom[earOrUsb][index].IsOpen())
471 366 {
472   - if (mycom[earOrUsb][index].GetCommPort() == comopen_port)
473   - {
474   - DBG_print("[%d]该串口已打开,请勿重复打开!\r\n",__LINE__);
475   - return TRUE;
476   - }
  367 + DBG_print("[%d]该串口已打开,请勿重复打开!\r\n",__LINE__);
  368 + return TRUE;
477 369 }
478   - mycom[earOrUsb][index].SetCommPort(g_AppMainData.ary_myComPort[earOrUsb][index]); //选择com1
479   - mycom[earOrUsb][index].SetInputMode(1);
480   - mycom[earOrUsb][index].SetInputLen(0); //设置当前接收区数据长度为0
481   - mycom[earOrUsb][index].SetOutBufferSize(512);
482   - mycom[earOrUsb][index].SetSettings(m_strSettings); //波特率9600,无校验,8个数据位,1个停止位
483   -
484   -
485   - if (!mycom[earOrUsb][index].GetPortOpen())
486   - {
487   - try
488   - {
489   - mycom[earOrUsb][index].SetPortOpen(TRUE); //打开串口
490   - }
491   - catch (CException* e)
492   - {
493   - e->ReportError(MB_ICONSTOP);
494   - return FALSE;
495   - }
496   - mycom[earOrUsb][index].SetRThreshold(1);
497   - ifUartEnable[earOrUsb][index] = true;
498   - DBG_print("[%d]串口打开成功 %d",__LINE__,comopen_port);
499   - }
500   - else
501   - {
502   - DBG_print("[%d]串口%d无法打开",__LINE__,comopen_port );
503   - g_AppMainData.ary_myComPort[earOrUsb][loop]=0;
504   - ifUartEnable[earOrUsb][index] = false;
505   - }
506   - mycom[earOrUsb][index].GetInput(); //先预读缓冲区以清除残留数据
  370 + COMuserdata = earOrUsb<<16|index;
  371 + mycom[earOrUsb][index].InitPort(this->m_hWnd,comopen_port,
  372 + g_AppMainData.com_config.aBandrate,
  373 + 'N',8,1,EV_RXCHAR|EV_CTS,512,
  374 + COMuserdata, 1000,1000,1000,1000,1000);
  375 + mycom[earOrUsb][index].StartMonitoring();
  376 + //mycom[earOrUsb][index].GetInput(); //先预读缓冲区以清除残留数据
507 377 return true;
508 378 }
509 379
... ... @@ -519,8 +389,8 @@ bool CBlueFlashToolDlg::CloseComport(int earOrUsb, int index)
519 389 if (comopen_port<2) return false;
520 390 try
521 391 {
522   - if (mycom[earOrUsb][index].GetPortOpen())
523   - mycom[earOrUsb][index].SetPortOpen(FALSE);
  392 + if (mycom[earOrUsb][index].IsOpen())
  393 + mycom[earOrUsb][index].ClosePort();
524 394 ifUartEnable[earOrUsb][index] = false;
525 395 }
526 396 catch (CException* e)
... ... @@ -564,113 +434,73 @@ void CBlueFlashToolDlg::CommMscomm(int aDeviceType,int aIndex)
564 434 PCBCMD_FINISH_SUCESS,
565 435 PCBCMD_FINISH_FAIL
566 436 }UART_CMD_FROM_PCB_ENUM;
567   -
568   -
569   - CMSComm * apctrlMSComm;
570   - VARIANT variant_inp_com_msg;
571   - COleSafeArray safearray_inp;
572   - LONG len, k;
573   - //char flash_process[4];
574   - char message_rev[BLUE_UART_INPUTBUFFER_SIZE*2];
575   - char onecharOfBuf;
576   - char *pmybufferMsgFromPcb;
577   - bool stop_check_command = false;
578   - UART_CMD_FROM_PCB_ENUM commandFromPcb = PCBCMD_NOCMD;
579   - if (aDeviceType <0 || aDeviceType > BLUE_TYPE_MAX) return;
580   - if (aIndex <0 || aIndex > MAX_TOPWELL_DEVICE_NUM) return;
581   -
582   -
583   - memset(message_rev,0,BLUE_UART_INPUTBUFFER_SIZE);
584   - pmybufferMsgFromPcb = (char *)mybufferFromUart[aDeviceType][aIndex];
585   - if (strlen(pmybufferMsgFromPcb) >= BLUE_UART_INPUTBUFFER_SIZE)
586   - memset(pmybufferMsgFromPcb,0,BLUE_UART_INPUTBUFFER_SIZE);
587   - if (mycom[aDeviceType][aIndex].GetCommEvent() == 2) //事件值为2表示接收缓冲区内有字符
  437 +
  438 + UART_CMD_FROM_PCB_ENUM commandFromPcb = PCBCMD_NOCMD;
  439 + char * pmybufferMsgFromPcb = (char *)mybufferFromUart[aDeviceType][aIndex];
  440 +
  441 + if (strstr(pmybufferMsgFromPcb, "ROM boot"))
  442 + {
  443 + DBG_print("线路 %d 开始下载",g_AppMainData.ary_myComPort[aDeviceType][aIndex]);
  444 + commandFromPcb = PCBCMD_START;
  445 + }
  446 + if (strstr(pmybufferMsgFromPcb, "Programming:"))
588 447 {
589   - variant_inp_com_msg = mycom[aDeviceType][aIndex].GetInput(); //读缓冲区
590   - safearray_inp = variant_inp_com_msg; //VARIANT型变量转换为ColeSafeArray型变量
591   - len = safearray_inp.GetOneDimSize(); //得到有效数据长度
592   - if(len < 1|| len >= 512 ) return;
593   - for (k = 0; k < len; k++)
  448 + char *ppercent = strstr(pmybufferMsgFromPcb,":");
  449 + int percent = atoi(ppercent);
  450 + //DBG_print("线路 %d 下载中",g_AppMainData.ary_myComPort[aDeviceType][aIndex]);
  451 + myctrlProcess[aDeviceType][aIndex].SetPos(percent);
  452 + commandFromPcb = PCBCMD_PROCESS;
  453 + }
  454 + if (strstr(pmybufferMsgFromPcb, "Verify successful"))
  455 + commandFromPcb = PCBCMD_FINISH_SUCESS;
  456 + if (strstr(pmybufferMsgFromPcb, "Verify fail"))
  457 + commandFromPcb = PCBCMD_FINISH_FAIL;
  458 + if (commandFromPcb ==PCBCMD_NOCMD) return;
  459 + // 无效UART信息, 直接返回, 什么也不做
  460 + switch(commandFromPcb)
  461 + {
  462 + case PCBCMD_START:
594 463 {
595   - safearray_inp.GetElement(&k, &onecharOfBuf);
596   - if (onecharOfBuf != 0 && onecharOfBuf != 10)
597   - {//把UART接收缓冲区的一个非零字节保存下来
598   - pmybufferMsgFromPcb[strlen(pmybufferMsgFromPcb)] = onecharOfBuf;
599   - }
600   - else
601   - {// 如果UART缓冲区的这个字节是0, 或者是换行符, 则接收到一条完整的信息, , 开始解析该命令
602   - if (strlen(pmybufferMsgFromPcb))
603   - {
604   - strcpy(message_rev,pmybufferMsgFromPcb);
605   - //立即清空缓冲区, 以待保存下一个新命令
606   - memset(pmybufferMsgFromPcb,0,BLUE_UART_INPUTBUFFER_SIZE);
607   - }
608   - else
609   - return; //依然是空的, 则什么也不做
610   - }
  464 + CString strtmsg;
  465 + myctrlPcbState[aDeviceType][aIndex].SetBitmap(myBitmapReady);
  466 + if (myThreadData[aDeviceType][aIndex].StartThread == BLUE_THREAD_DOING)
  467 + return;
  468 + myctrlPcbState[aDeviceType][aIndex].SetBitmap(myBitmapReady);
  469 + myStaticSn[aDeviceType][aIndex].GetWindowText(strtmsg);
  470 + myThreadData[aDeviceType][aIndex].Filename = mystrAppcurrDir+"Bins\\ear\\"+strtmsg;
  471 + mytickcount[aDeviceType][aIndex] = GetTickCount();
  472 + myThreadData[aDeviceType][aIndex].pDlg = this;
  473 + myThreadData[aDeviceType][aIndex].blue_device_type = (BYTE)aDeviceType;
  474 + myThreadData[aDeviceType][aIndex].nIndex = aIndex;
  475 + myThreadData[aDeviceType][aIndex].pctrlMSComm = &mycom[aDeviceType][aDeviceType];
  476 + myThreadData[aDeviceType][aIndex].m_hThread = AfxBeginThread(BlueFlashThreadProc, &myThreadData[aDeviceType][aIndex]);
  477 + myctrlStartButton[aDeviceType][aIndex].SetWindowText("停止");
  478 + DBG_print("线路 %d 开始下载",g_AppMainData.ary_myComPort[aDeviceType][aIndex]);
611 479 }
612   - if (strlen(message_rev) == 0) return;
613   - if (strstr(message_rev, "ROM boot"))
  480 + break;
  481 + case PCBCMD_PROCESS:
614 482 {
615   - DBG_print("线路 %d 开始下载",g_AppMainData.ary_myComPort[aDeviceType][aIndex]);
616   - commandFromPcb = PCBCMD_START;
  483 + char *numPercent = strstr(pmybufferMsgFromPcb,":");
  484 + int percent = atoi(numPercent+1);
  485 + myctrlProcess[aDeviceType][aIndex].SetPos(percent);
  486 + if(!(percent&0x0f)) DBG_print("线路 %d.下载中%d",g_AppMainData.ary_myComPort[aDeviceType][aIndex],percent);
  487 + myctrlProcess[aDeviceType][aIndex].SendMessage(PBM_SETBARCOLOR, 0, RGB(0, 0,150));
617 488 }
618   - if (strstr(message_rev, "Programming:"))
  489 + break;
  490 + case PCBCMD_FINISH_SUCESS:
619 491 {
620   - DBG_print("线路 %d 下载中",g_AppMainData.ary_myComPort[aDeviceType][aIndex]);
621   - commandFromPcb = PCBCMD_PROCESS;
  492 + DBG_print("下载成功");
  493 + myctrlProcess[aDeviceType][aIndex].SendMessage(PBM_SETBARCOLOR, 0, RGB(0, 255,0));
622 494 }
623   - if (strstr(message_rev, "Verify successful"))
624   - commandFromPcb = PCBCMD_FINISH_SUCESS;
625   - if (strstr(message_rev, "Verify fail"))
626   - commandFromPcb = PCBCMD_FINISH_FAIL;
627   - if (commandFromPcb ==PCBCMD_NOCMD) return;
628   - // 无效UART信息, 直接返回, 什么也不做
629   - memset(message_rev,0,BLUE_UART_INPUTBUFFER_SIZE);
630   - switch(commandFromPcb)
  495 + break;
  496 + case PCBCMD_FINISH_FAIL:
631 497 {
632   - case PCBCMD_START:
633   - {
634   - CString strtmsg;
635   - myctrlPcbState[aDeviceType][aIndex].SetBitmap(myBitmapReady);
636   - if (myThreadData[aDeviceType][aIndex].StartThread == BLUE_THREAD_DOING)
637   - return;
638   - myctrlPcbState[aDeviceType][aIndex].SetBitmap(myBitmapReady);
639   - myStaticSn[aDeviceType][aIndex].GetWindowText(strtmsg);
640   - myThreadData[aDeviceType][aIndex].Filename = mystrAppcurrDir+"Bins\\ear\\"+strtmsg;
641   - mytickcount[aDeviceType][aIndex] = GetTickCount();
642   - myThreadData[aDeviceType][aIndex].pDlg = this;
643   - myThreadData[aDeviceType][aIndex].blue_device_type = (BYTE)aDeviceType;
644   - myThreadData[aDeviceType][aIndex].nIndex = aIndex;
645   - myThreadData[aDeviceType][aIndex].pctrlMSComm = &mycom[aDeviceType][aDeviceType];
646   - myThreadData[aDeviceType][aIndex].m_hThread = AfxBeginThread(BlueFlashThreadProc, &myThreadData[aDeviceType][aIndex]);
647   - myctrlStartButton[aDeviceType][aIndex].SetWindowText("停止");
648   - DBG_print("线路 %d 开始下载",g_AppMainData.ary_myComPort[aDeviceType][aIndex]);
649   - }
650   - break;
651   - case PCBCMD_PROCESS:
652   - {
653   - char *numPercent = strstr(message_rev,":");
654   - int percent = atoi(numPercent+1);
655   - myctrlProcess[aDeviceType][aIndex].SetPos(percent);
656   - if(!(percent&0x0f)) DBG_print("线路 %d.下载中%d",g_AppMainData.ary_myComPort[aDeviceType][aIndex],percent);
657   - myctrlProcess[aDeviceType][aIndex].SendMessage(PBM_SETBARCOLOR, 0, RGB(0, 0,150));
658   - }
659   - break;
660   - case PCBCMD_FINISH_SUCESS:
661   - {
662   - DBG_print("下载成功");
663   - myctrlProcess[aDeviceType][aIndex].SendMessage(PBM_SETBARCOLOR, 0, RGB(0, 255,0));
664   - }
665   - break;
666   - case PCBCMD_FINISH_FAIL:
667   - {
668   - DBG_print("下载失败!!");
669   - myctrlProcess[aDeviceType][aIndex].SendMessage(PBM_SETBARCOLOR, 0, RGB(255, 0,0));
670   - }
671   - break;
  498 + DBG_print("下载失败!!");
  499 + myctrlProcess[aDeviceType][aIndex].SendMessage(PBM_SETBARCOLOR, 0, RGB(255, 0,0));
672 500 }
  501 + break;
673 502 }
  503 + memset(pmybufferMsgFromPcb,0,BLUE_UART_INPUTBUFFER_SIZE);
674 504 }
675 505
676 506
... ... @@ -685,7 +515,7 @@ UINT BlueFlashThreadProc(LPVOID lParam)
685 515 int numParts;// 文件被分割的块数
686 516 int Partsremain ;// 按512分割之后的尾数
687 517 int loop; //循环读取文件的计数器
688   - CMSComm *pctrlMSComm;
  518 + CSerialPort *pctrlMSComm;
689 519 CFile MyFile1;
690 520 BOOL res_openfile;
691 521
... ... @@ -748,11 +578,8 @@ UINT BlueFlashThreadProc(LPVOID lParam)
748 578
749 579 MyFile1.Seek(loop*512,CFile::begin);
750 580 MyFile1.Read(ByteBuf_512,512);
751   - ByteArray_512.SetSize(1 * 512);
752   - for (int i= 0;i < 512; i++)
753   - ByteArray_512.SetAt(i, ByteBuf_512[i]); //把buf的1k数据转化为十六进制到array中,用于串口发送
754 581 if (pctrlMSComm)
755   - pctrlMSComm->SetOutput((COleVariant) ByteArray_512); //发送
  582 + pctrlMSComm->WriteToPort(ByteBuf_512,512); //发送
756 583 Sleep (2); //等待接收端接收
757 584
758 585 //::SendMessage(pThreadData->pDlg->m_hWnd,WM_UPDATEPOS,pThreadData->blue_device_type<<16|pThreadData->nIndex,loop*100/numParts);
... ... @@ -762,11 +589,7 @@ UINT BlueFlashThreadProc(LPVOID lParam)
762 589 {
763 590 MyFile1.Seek(loop*512,CFile::begin);
764 591 MyFile1.Read(ByteBuf_512,Partsremain);
765   - ByteArray_512.SetSize(1 * Partsremain);
766   - for (int i= 0; i < 1 * Partsremain; i++)
767   - ByteArray_512.SetAt(i, ByteBuf_512[i]); //把buf的1k数据转化为十六进制到array中,用于串口发送
768   - if (pctrlMSComm)
769   - pctrlMSComm->SetOutput((COleVariant) ByteArray_512); //发送
  592 + pctrlMSComm->WriteToPort(ByteBuf_512,Partsremain); //发送
770 593 }
771 594 Sleep(1000); //等待接收端写30M数据到文件中
772 595 //::SendMessage(pThreadData->pDlg->m_hWnd,WM_UPDATEPOS,pThreadData->blue_device_type<<16|pThreadData->nIndex,100);
... ... @@ -883,6 +706,49 @@ LRESULT CBlueFlashToolDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam
883 706 {
884 707 switch (message)
885 708 {
  709 + case WM_COMM_BREAK_DETECTED:
  710 + DBG_print("WM_COMM_BREAK_DETECTED");
  711 + break;
  712 + case WM_COMM_CTS_DETECTED:
  713 + DBG_print("WM_COMM_CTS_DETECTED");
  714 + break;
  715 + case WM_COMM_DSR_DETECTED:
  716 + DBG_print("WM_COMM_DSR_DETECTED");
  717 + break;
  718 + case WM_COMM_ERR_DETECTED:
  719 + DBG_print("WM_COMM_ERR_DETECTED");
  720 + break;
  721 + case WM_COMM_RING_DETECTED:
  722 + DBG_print("WM_COMM_RING_DETECTED");
  723 + break;
  724 + case WM_COMM_RLSD_DETECTED:
  725 + DBG_print("WM_COMM_RLSD_DETECTED");
  726 + break;
  727 + case WM_COMM_RXCHAR:
  728 + {
  729 + int device_type = HIWORD(wParam);
  730 + int device_index = LOWORD(wParam);
  731 + char chFromUart = HIWORD(lParam);
  732 + int UartPort = LOWORD(lParam);
  733 + char *pmybufferMsgFromPcb = (char *)mybufferFromUart[device_type][device_index];
  734 + if (chFromUart == 0 ||chFromUart == 0x0A | chFromUart == 0x0D )
  735 + {
  736 + if (strlen(pmybufferMsgFromPcb) > 0)
  737 + CommMscomm(device_type, device_index);
  738 + }
  739 + else
  740 + {
  741 + pmybufferMsgFromPcb[strlen(pmybufferMsgFromPcb)] = chFromUart;
  742 + }
  743 + }
  744 + break;
  745 + case WM_COMM_RXFLAG_DETECTED:
  746 + DBG_print("WM_COMM_RXFLAG_DETECTED");
  747 + break;
  748 + case WM_COMM_TXEMPTY_DETECTED:
  749 + DBG_print("WM_COMM_TXEMPTY_DETECTED");
  750 + break;
  751 +
886 752 case WM_UPDATEPOS:
887 753 {
888 754 int colorstep = (255/100)*lParam;
... ...
1 1 // BlueFlashToolDlg.h : header file
2 2 //
3 3 //{{AFX_INCLUDES()
4   -#include "mscomm.h"
5 4 #include "afxwin.h"
6 5 //}}AFX_INCLUDES
  6 +#include "SerialPort.h"
7 7
8 8 #if !defined(AFX_BLUEFLASHTOOLDLG_H__DE44DC07_CA43_417C_A12F_149A2C736BB5__INCLUDED_)
9 9 #define AFX_BLUEFLASHTOOLDLG_H__DE44DC07_CA43_417C_A12F_149A2C736BB5__INCLUDED_
... ... @@ -25,7 +25,7 @@ typedef struct ThreadData
25 25 HANDLE m_hThread;
26 26 BLUE_THREAD_STATE StartThread;
27 27 CString Filename;
28   - CMSComm *pctrlMSComm;
  28 + CSerialPort *pctrlMSComm;
29 29 }FLASH_THREAD_DATA;
30 30
31 31
... ... @@ -96,8 +96,8 @@ public:
96 96 // Dialog Data
97 97 //{{AFX_DATA(CBlueFlashToolDlg)
98 98 enum { IDD = IDD_BLUEFLASHTOOL_DIALOG };
99   - CMSComm mycom_debug;
100   - CMSComm mycom[2][25];;
  99 + CSerialPort mycom_debug;
  100 + CSerialPort mycom[2][25];;
101 101 // CMSComm mycom02;
102 102 // CMSComm mycom03;
103 103 // CMSComm mycom04;
... ...
... ... @@ -10,11 +10,11 @@ SN_cur=0
10 10 数据位=3
11 11 停止位=-127
12 12 流控制=0
13   -ear_port1=6
14   -ear_port2=11
15   -ear_port3=12
16   -ear_port4=13
17   -ear_port5=14
  13 +ear_port1=5
  14 +ear_port2=0
  15 +ear_port3=0
  16 +ear_port4=0
  17 +ear_port5=0
18 18 ear_port6=0
19 19 ear_port7=0
20 20 ear_port8=0
... ... @@ -30,7 +30,7 @@ usb_port7=0
30 30 usb_port8=0
31 31 usb_port9=0
32 32 usb_port10=0
33   -ear_port0=5
  33 +ear_port0=3
34 34 ear_port11=0
35 35 usb_port0=0
36 36 usb_port11=0
... ...
1   -// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
2   -
3   -// NOTE: Do not modify the contents of this file. If this class is regenerated by
4   -// Microsoft Visual C++, your modifications will be overwritten.
5   -
6   -
7   -#include "stdafx.h"
8   -#include "mscomm.h"
9   -
10   -/////////////////////////////////////////////////////////////////////////////
11   -// CMSComm
12   -
13   -IMPLEMENT_DYNCREATE(CMSComm, CWnd)
14   -
15   -/////////////////////////////////////////////////////////////////////////////
16   -// CMSComm properties
17   -
18   -/////////////////////////////////////////////////////////////////////////////
19   -// CMSComm operations
20   -
21   -void CMSComm::SetCDHolding(BOOL bNewValue)
22   -{
23   - static BYTE parms[] =
24   - VTS_BOOL;
25   - InvokeHelper(0x1, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
26   - bNewValue);
27   -}
28   -
29   -BOOL CMSComm::GetCDHolding()
30   -{
31   - BOOL result;
32   - InvokeHelper(0x1, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
33   - return result;
34   -}
35   -
36   -void CMSComm::SetCommID(long nNewValue)
37   -{
38   - static BYTE parms[] =
39   - VTS_I4;
40   - InvokeHelper(0x3, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
41   - nNewValue);
42   -}
43   -
44   -long CMSComm::GetCommID()
45   -{
46   - long result;
47   - InvokeHelper(0x3, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
48   - return result;
49   -}
50   -
51   -void CMSComm::SetCommPort(short nNewValue)
52   -{
53   - static BYTE parms[] =
54   - VTS_I2;
55   - InvokeHelper(0x4, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
56   - nNewValue);
57   -}
58   -
59   -short CMSComm::GetCommPort()
60   -{
61   - short result;
62   - InvokeHelper(0x4, DISPATCH_PROPERTYGET, VT_I2, (void*)&result, NULL);
63   - return result;
64   -}
65   -
66   -void CMSComm::SetCTSHolding(BOOL bNewValue)
67   -{
68   - static BYTE parms[] =
69   - VTS_BOOL;
70   - InvokeHelper(0x5, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
71   - bNewValue);
72   -}
73   -
74   -BOOL CMSComm::GetCTSHolding()
75   -{
76   - BOOL result;
77   - InvokeHelper(0x5, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
78   - return result;
79   -}
80   -
81   -void CMSComm::SetDSRHolding(BOOL bNewValue)
82   -{
83   - static BYTE parms[] =
84   - VTS_BOOL;
85   - InvokeHelper(0x7, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
86   - bNewValue);
87   -}
88   -
89   -BOOL CMSComm::GetDSRHolding()
90   -{
91   - BOOL result;
92   - InvokeHelper(0x7, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
93   - return result;
94   -}
95   -
96   -void CMSComm::SetDTREnable(BOOL bNewValue)
97   -{
98   - static BYTE parms[] =
99   - VTS_BOOL;
100   - InvokeHelper(0x9, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
101   - bNewValue);
102   -}
103   -
104   -BOOL CMSComm::GetDTREnable()
105   -{
106   - BOOL result;
107   - InvokeHelper(0x9, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
108   - return result;
109   -}
110   -
111   -void CMSComm::SetHandshaking(long nNewValue)
112   -{
113   - static BYTE parms[] =
114   - VTS_I4;
115   - InvokeHelper(0xa, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
116   - nNewValue);
117   -}
118   -
119   -long CMSComm::GetHandshaking()
120   -{
121   - long result;
122   - InvokeHelper(0xa, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
123   - return result;
124   -}
125   -
126   -void CMSComm::SetInBufferSize(short nNewValue)
127   -{
128   - static BYTE parms[] =
129   - VTS_I2;
130   - InvokeHelper(0xb, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
131   - nNewValue);
132   -}
133   -
134   -short CMSComm::GetInBufferSize()
135   -{
136   - short result;
137   - InvokeHelper(0xb, DISPATCH_PROPERTYGET, VT_I2, (void*)&result, NULL);
138   - return result;
139   -}
140   -
141   -void CMSComm::SetInBufferCount(short nNewValue)
142   -{
143   - static BYTE parms[] =
144   - VTS_I2;
145   - InvokeHelper(0xc, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
146   - nNewValue);
147   -}
148   -
149   -short CMSComm::GetInBufferCount()
150   -{
151   - short result;
152   - InvokeHelper(0xc, DISPATCH_PROPERTYGET, VT_I2, (void*)&result, NULL);
153   - return result;
154   -}
155   -
156   -void CMSComm::SetBreak(BOOL bNewValue)
157   -{
158   - static BYTE parms[] =
159   - VTS_BOOL;
160   - InvokeHelper(0xd, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
161   - bNewValue);
162   -}
163   -
164   -BOOL CMSComm::GetBreak()
165   -{
166   - BOOL result;
167   - InvokeHelper(0xd, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
168   - return result;
169   -}
170   -
171   -void CMSComm::SetInputLen(short nNewValue)
172   -{
173   - static BYTE parms[] =
174   - VTS_I2;
175   - InvokeHelper(0xe, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
176   - nNewValue);
177   -}
178   -
179   -short CMSComm::GetInputLen()
180   -{
181   - short result;
182   - InvokeHelper(0xe, DISPATCH_PROPERTYGET, VT_I2, (void*)&result, NULL);
183   - return result;
184   -}
185   -
186   -void CMSComm::SetNullDiscard(BOOL bNewValue)
187   -{
188   - static BYTE parms[] =
189   - VTS_BOOL;
190   - InvokeHelper(0x10, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
191   - bNewValue);
192   -}
193   -
194   -BOOL CMSComm::GetNullDiscard()
195   -{
196   - BOOL result;
197   - InvokeHelper(0x10, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
198   - return result;
199   -}
200   -
201   -void CMSComm::SetOutBufferSize(short nNewValue)
202   -{
203   - static BYTE parms[] =
204   - VTS_I2;
205   - InvokeHelper(0x11, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
206   - nNewValue);
207   -}
208   -
209   -short CMSComm::GetOutBufferSize()
210   -{
211   - short result;
212   - InvokeHelper(0x11, DISPATCH_PROPERTYGET, VT_I2, (void*)&result, NULL);
213   - return result;
214   -}
215   -
216   -void CMSComm::SetOutBufferCount(short nNewValue)
217   -{
218   - static BYTE parms[] =
219   - VTS_I2;
220   - InvokeHelper(0x12, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
221   - nNewValue);
222   -}
223   -
224   -short CMSComm::GetOutBufferCount()
225   -{
226   - short result;
227   - InvokeHelper(0x12, DISPATCH_PROPERTYGET, VT_I2, (void*)&result, NULL);
228   - return result;
229   -}
230   -
231   -void CMSComm::SetParityReplace(LPCTSTR lpszNewValue)
232   -{
233   - static BYTE parms[] =
234   - VTS_BSTR;
235   - InvokeHelper(0x13, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
236   - lpszNewValue);
237   -}
238   -
239   -CString CMSComm::GetParityReplace()
240   -{
241   - CString result;
242   - InvokeHelper(0x13, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
243   - return result;
244   -}
245   -
246   -void CMSComm::SetPortOpen(BOOL bNewValue)
247   -{
248   - static BYTE parms[] =
249   - VTS_BOOL;
250   - InvokeHelper(0x14, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
251   - bNewValue);
252   -}
253   -
254   -BOOL CMSComm::GetPortOpen()
255   -{
256   - BOOL result;
257   - InvokeHelper(0x14, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
258   - return result;
259   -}
260   -
261   -void CMSComm::SetRThreshold(short nNewValue)
262   -{
263   - static BYTE parms[] =
264   - VTS_I2;
265   - InvokeHelper(0x15, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
266   - nNewValue);
267   -}
268   -
269   -short CMSComm::GetRThreshold()
270   -{
271   - short result;
272   - InvokeHelper(0x15, DISPATCH_PROPERTYGET, VT_I2, (void*)&result, NULL);
273   - return result;
274   -}
275   -
276   -void CMSComm::SetRTSEnable(BOOL bNewValue)
277   -{
278   - static BYTE parms[] =
279   - VTS_BOOL;
280   - InvokeHelper(0x16, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
281   - bNewValue);
282   -}
283   -
284   -BOOL CMSComm::GetRTSEnable()
285   -{
286   - BOOL result;
287   - InvokeHelper(0x16, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
288   - return result;
289   -}
290   -
291   -void CMSComm::SetSettings(LPCTSTR lpszNewValue)
292   -{
293   - static BYTE parms[] =
294   - VTS_BSTR;
295   - InvokeHelper(0x17, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
296   - lpszNewValue);
297   -}
298   -
299   -CString CMSComm::GetSettings()
300   -{
301   - CString result;
302   - InvokeHelper(0x17, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
303   - return result;
304   -}
305   -
306   -void CMSComm::SetSThreshold(short nNewValue)
307   -{
308   - static BYTE parms[] =
309   - VTS_I2;
310   - InvokeHelper(0x18, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
311   - nNewValue);
312   -}
313   -
314   -short CMSComm::GetSThreshold()
315   -{
316   - short result;
317   - InvokeHelper(0x18, DISPATCH_PROPERTYGET, VT_I2, (void*)&result, NULL);
318   - return result;
319   -}
320   -
321   -void CMSComm::SetOutput(const VARIANT& newValue)
322   -{
323   - static BYTE parms[] =
324   - VTS_VARIANT;
325   - InvokeHelper(0x19, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
326   - &newValue);
327   -}
328   -
329   -VARIANT CMSComm::GetOutput()
330   -{
331   - VARIANT result;
332   - InvokeHelper(0x19, DISPATCH_PROPERTYGET, VT_VARIANT, (void*)&result, NULL);
333   - return result;
334   -}
335   -
336   -void CMSComm::SetInput(const VARIANT& newValue)
337   -{
338   - static BYTE parms[] =
339   - VTS_VARIANT;
340   - InvokeHelper(0x1a, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
341   - &newValue);
342   -}
343   -
344   -VARIANT CMSComm::GetInput()
345   -{
346   - VARIANT result;
347   - InvokeHelper(0x1a, DISPATCH_PROPERTYGET, VT_VARIANT, (void*)&result, NULL);
348   - return result;
349   -}
350   -
351   -void CMSComm::SetCommEvent(short nNewValue)
352   -{
353   - static BYTE parms[] =
354   - VTS_I2;
355   - InvokeHelper(0x1b, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
356   - nNewValue);
357   -}
358   -
359   -short CMSComm::GetCommEvent()
360   -{
361   - short result;
362   - InvokeHelper(0x1b, DISPATCH_PROPERTYGET, VT_I2, (void*)&result, NULL);
363   - return result;
364   -}
365   -
366   -void CMSComm::SetEOFEnable(BOOL bNewValue)
367   -{
368   - static BYTE parms[] =
369   - VTS_BOOL;
370   - InvokeHelper(0x1c, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
371   - bNewValue);
372   -}
373   -
374   -BOOL CMSComm::GetEOFEnable()
375   -{
376   - BOOL result;
377   - InvokeHelper(0x1c, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
378   - return result;
379   -}
380   -
381   -void CMSComm::SetInputMode(long nNewValue)
382   -{
383   - static BYTE parms[] =
384   - VTS_I4;
385   - InvokeHelper(0x1d, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
386   - nNewValue);
387   -}
388   -
389   -long CMSComm::GetInputMode()
390   -{
391   - long result;
392   - InvokeHelper(0x1d, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
393   - return result;
394   -}
1   -#if !defined(AFX_MSCOMM_H__F0224F69_7A8C_4F5C_8A33_D81C42B66156__INCLUDED_)
2   -#define AFX_MSCOMM_H__F0224F69_7A8C_4F5C_8A33_D81C42B66156__INCLUDED_
3   -
4   -#if _MSC_VER > 1000
5   -#pragma once
6   -#endif // _MSC_VER > 1000
7   -// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
8   -
9   -// NOTE: Do not modify the contents of this file. If this class is regenerated by
10   -// Microsoft Visual C++, your modifications will be overwritten.
11   -
12   -/////////////////////////////////////////////////////////////////////////////
13   -// CMSComm wrapper class
14   -
15   -class CMSComm : public CWnd
16   -{
17   -protected:
18   - DECLARE_DYNCREATE(CMSComm)
19   -public:
20   - CLSID const& GetClsid()
21   - {
22   - static CLSID const clsid
23   - = { 0x648a5600, 0x2c6e, 0x101b, { 0x82, 0xb6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x14 } };
24   - return clsid;
25   - }
26   - virtual BOOL Create(LPCTSTR lpszClassName,
27   - LPCTSTR lpszWindowName, DWORD dwStyle,
28   - const RECT& rect,
29   - CWnd* pParentWnd, UINT nID,
30   - CCreateContext* pContext = NULL)
31   - { return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID); }
32   -
33   - BOOL Create(LPCTSTR lpszWindowName, DWORD dwStyle,
34   - const RECT& rect, CWnd* pParentWnd, UINT nID,
35   - CFile* pPersist = NULL, BOOL bStorage = FALSE,
36   - BSTR bstrLicKey = NULL)
37   - { return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID,
38   - pPersist, bStorage, bstrLicKey); }
39   -
40   -// Attributes
41   -public:
42   -
43   -// Operations
44   -public:
45   - void SetCDHolding(BOOL bNewValue);
46   - BOOL GetCDHolding();
47   - void SetCommID(long nNewValue);
48   - long GetCommID();
49   - void SetCommPort(short nNewValue);
50   - short GetCommPort();
51   - void SetCTSHolding(BOOL bNewValue);
52   - BOOL GetCTSHolding();
53   - void SetDSRHolding(BOOL bNewValue);
54   - BOOL GetDSRHolding();
55   - void SetDTREnable(BOOL bNewValue);
56   - BOOL GetDTREnable();
57   - void SetHandshaking(long nNewValue);
58   - long GetHandshaking();
59   - void SetInBufferSize(short nNewValue);
60   - short GetInBufferSize();
61   - void SetInBufferCount(short nNewValue);
62   - short GetInBufferCount();
63   - void SetBreak(BOOL bNewValue);
64   - BOOL GetBreak();
65   - void SetInputLen(short nNewValue);
66   - short GetInputLen();
67   - void SetNullDiscard(BOOL bNewValue);
68   - BOOL GetNullDiscard();
69   - void SetOutBufferSize(short nNewValue);
70   - short GetOutBufferSize();
71   - void SetOutBufferCount(short nNewValue);
72   - short GetOutBufferCount();
73   - void SetParityReplace(LPCTSTR lpszNewValue);
74   - CString GetParityReplace();
75   - void SetPortOpen(BOOL bNewValue);
76   - BOOL GetPortOpen();
77   - void SetRThreshold(short nNewValue);
78   - short GetRThreshold();
79   - void SetRTSEnable(BOOL bNewValue);
80   - BOOL GetRTSEnable();
81   - void SetSettings(LPCTSTR lpszNewValue);
82   - CString GetSettings();
83   - void SetSThreshold(short nNewValue);
84   - short GetSThreshold();
85   - void SetOutput(const VARIANT& newValue);
86   - VARIANT GetOutput();
87   - void SetInput(const VARIANT& newValue);
88   - VARIANT GetInput();
89   - void SetCommEvent(short nNewValue);
90   - short GetCommEvent();
91   - void SetEOFEnable(BOOL bNewValue);
92   - BOOL GetEOFEnable();
93   - void SetInputMode(long nNewValue);
94   - long GetInputMode();
95   -};
96   -
97   -//{{AFX_INSERT_LOCATION}}
98   -// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
99   -
100   -#endif // !defined(AFX_MSCOMM_H__F0224F69_7A8C_4F5C_8A33_D81C42B66156__INCLUDED_)
Please register or login to post a comment