Showing
5 changed files
with
190 additions
and
162 deletions
| @@ -73,66 +73,65 @@ IDR_MAINFRAME ICON "res\\BlueFlashTool.ico" | @@ -73,66 +73,65 @@ IDR_MAINFRAME ICON "res\\BlueFlashTool.ico" | ||
| 73 | // Dialog | 73 | // Dialog |
| 74 | // | 74 | // |
| 75 | 75 | ||
| 76 | -IDD_BLUEFLASHTOOL_DIALOG DIALOGEX 0, 0, 597, 395 | 76 | +IDD_BLUEFLASHTOOL_DIALOG DIALOGEX 0, 0, 934, 459 |
| 77 | STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | 77 | STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU |
| 78 | EXSTYLE WS_EX_APPWINDOW | 78 | EXSTYLE WS_EX_APPWINDOW |
| 79 | CAPTION "BlueFlashTool" | 79 | CAPTION "BlueFlashTool" |
| 80 | FONT 9, "宋体", 0, 0, 0x1 | 80 | FONT 9, "宋体", 0, 0, 0x1 |
| 81 | BEGIN | 81 | BEGIN |
| 82 | - PUSHBUTTON "全部开始",IDC_START_ALL,487,31,84,30 | ||
| 83 | PUSHBUTTON "全部停止",IDC_STOP_ALL,487,66,84,30 | 82 | PUSHBUTTON "全部停止",IDC_STOP_ALL,487,66,84,30 |
| 84 | PUSHBUTTON "参数设置",IDC_BUTTON_SETTING,487,161,84,30 | 83 | PUSHBUTTON "参数设置",IDC_BUTTON_SETTING,487,161,84,30 |
| 85 | - CONTROL "",IDC_MSCOMM0,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 86 | - CONTROL "",IDC_MSCOMM1,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 87 | - CONTROL "",IDC_MSCOMM2,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 88 | - CONTROL "",IDC_MSCOMM3,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 89 | - CONTROL "",IDC_MSCOMM4,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 90 | - CONTROL "",IDC_MSCOMM5,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 91 | - CONTROL "",IDC_MSCOMM6,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 92 | - CONTROL "",IDC_MSCOMM7,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 93 | - CONTROL "",IDC_MSCOMM8,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 94 | - CONTROL "",IDC_MSCOMM9,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 95 | - CONTROL "",IDC_MSCOMM10,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 96 | - CONTROL "",IDC_MSCOMM11,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 97 | - CONTROL "",IDC_MSCOMM12,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 98 | - CONTROL "",IDC_MSCOMM13,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 99 | - CONTROL "",IDC_MSCOMM14,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 100 | - CONTROL "",IDC_MSCOMM15,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 101 | - CONTROL "",IDC_MSCOMM16,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 102 | - CONTROL "",IDC_MSCOMM17,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 103 | - CONTROL "",IDC_MSCOMM18,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 104 | - CONTROL "",IDC_MSCOMM19,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 105 | - CONTROL "",IDC_MSCOMM20,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 106 | - CONTROL "",IDC_MSCOMM21,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 107 | - CONTROL "",IDC_MSCOMM22,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 108 | - CONTROL "",IDC_MSCOMM23,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 109 | - CONTROL "",IDC_MSCOMM24,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 110 | - CONTROL "",IDC_MSCOMM25,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 111 | - CONTROL "",IDC_MSCOMM26,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 112 | - CONTROL "",IDC_MSCOMM27,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 113 | - CONTROL "",IDC_MSCOMM28,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 114 | - CONTROL "",IDC_MSCOMM29,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 115 | - CONTROL "",IDC_MSCOMM30,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 116 | - CONTROL "",IDC_MSCOMM31,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 117 | - CONTROL "",IDC_MSCOMM32,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 118 | - CONTROL "",IDC_MSCOMM33,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 119 | - CONTROL "",IDC_MSCOMM34,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 120 | - CONTROL "",IDC_MSCOMM35,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 121 | - CONTROL "",IDC_MSCOMM36,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 122 | - CONTROL "",IDC_MSCOMM37,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 123 | - CONTROL "",IDC_MSCOMM38,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 124 | - CONTROL "",IDC_MSCOMM39,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 125 | - CONTROL "",IDC_MSCOMM40,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 126 | - CONTROL "",IDC_MSCOMM41,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 127 | - CONTROL "",IDC_MSCOMM42,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 128 | - CONTROL "",IDC_MSCOMM43,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 129 | - CONTROL "",IDC_MSCOMM44,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 130 | - CONTROL "",IDC_MSCOMM45,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 131 | - CONTROL "",IDC_MSCOMM46,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 132 | - CONTROL "",IDC_MSCOMM47,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 133 | - CONTROL "",IDC_MSCOMM48,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 134 | - CONTROL "",IDC_MSCOMM49,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | ||
| 135 | - CONTROL "",IDC_MSCOMM50,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,300,25,25 | 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 | ||
| 136 | LISTBOX IDC_DEBUG_MESSAGE,0,261,591,41,LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP | 135 | LISTBOX IDC_DEBUG_MESSAGE,0,261,591,41,LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP |
| 137 | PUSHBUTTON "连接夹具",IDC_BUTTON_INIT_COMPORT,487,119,84,30 | 136 | PUSHBUTTON "连接夹具",IDC_BUTTON_INIT_COMPORT,487,119,84,30 |
| 138 | GROUPBOX "静态",IDC_STATIC_GROUP_EAR,39,27,48,40 | 137 | GROUPBOX "静态",IDC_STATIC_GROUP_EAR,39,27,48,40 |
| @@ -238,9 +237,9 @@ BEGIN | @@ -238,9 +237,9 @@ BEGIN | ||
| 238 | IDD_BLUEFLASHTOOL_DIALOG, DIALOG | 237 | IDD_BLUEFLASHTOOL_DIALOG, DIALOG |
| 239 | BEGIN | 238 | BEGIN |
| 240 | LEFTMARGIN, 7 | 239 | LEFTMARGIN, 7 |
| 241 | - RIGHTMARGIN, 590 | 240 | + RIGHTMARGIN, 927 |
| 242 | TOPMARGIN, 7 | 241 | TOPMARGIN, 7 |
| 243 | - BOTTOMMARGIN, 388 | 242 | + BOTTOMMARGIN, 452 |
| 244 | END | 243 | END |
| 245 | 244 | ||
| 246 | IDD_SYSTEM_CONFIG, DIALOG | 245 | IDD_SYSTEM_CONFIG, DIALOG |
| @@ -31,8 +31,6 @@ CBlueFlashToolDlg::CBlueFlashToolDlg(CWnd* pParent /*=NULL*/) | @@ -31,8 +31,6 @@ CBlueFlashToolDlg::CBlueFlashToolDlg(CWnd* pParent /*=NULL*/) | ||
| 31 | // Note that LoadIcon does not require a subsequent DestroyIcon in Win32 | 31 | // Note that LoadIcon does not require a subsequent DestroyIcon in Win32 |
| 32 | m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); | 32 | m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); |
| 33 | memset(ifUartEnable,0,BLUE_TYPE_MAX*MAX_TOPWELL_DEVICE_NUM); | 33 | memset(ifUartEnable,0,BLUE_TYPE_MAX*MAX_TOPWELL_DEVICE_NUM); |
| 34 | - memcpy(strSignalFlashReady,"ROM boot",16); | ||
| 35 | - memcpy(strSignalFlashing,"Programming:97",20); | ||
| 36 | mystrAppcurrDir = GetCurrPath(); | 34 | mystrAppcurrDir = GetCurrPath(); |
| 37 | } | 35 | } |
| 38 | 36 | ||
| @@ -267,10 +265,6 @@ BOOL CBlueFlashToolDlg::OnInitDialog() | @@ -267,10 +265,6 @@ BOOL CBlueFlashToolDlg::OnInitDialog() | ||
| 267 | 265 | ||
| 268 | 266 | ||
| 269 | 267 | ||
| 270 | - GetDlgItem(IDC_START_ALL)->MoveWindow( | ||
| 271 | - rect_SN_info[loop1-1][loop2-1].right+50, | ||
| 272 | - rect_SN_info[0][0].top+20, | ||
| 273 | - 100,50); | ||
| 274 | GetDlgItem(IDC_STOP_ALL)->MoveWindow( | 268 | GetDlgItem(IDC_STOP_ALL)->MoveWindow( |
| 275 | rect_SN_info[loop1-1][loop2-1].right+50, | 269 | rect_SN_info[loop1-1][loop2-1].right+50, |
| 276 | rect_SN_info[0][0].top+90, | 270 | rect_SN_info[0][0].top+90, |
| @@ -284,7 +278,6 @@ BOOL CBlueFlashToolDlg::OnInitDialog() | @@ -284,7 +278,6 @@ BOOL CBlueFlashToolDlg::OnInitDialog() | ||
| 284 | rect_SN_info[loop1-1][loop2-1].bottom-70, | 278 | rect_SN_info[loop1-1][loop2-1].bottom-70, |
| 285 | 100,50); | 279 | 100,50); |
| 286 | 280 | ||
| 287 | - GetDlgItem(IDC_START_ALL)->SetFont(&myfontButton); | ||
| 288 | GetDlgItem(IDC_STOP_ALL)->SetFont(&myfontButton); | 281 | GetDlgItem(IDC_STOP_ALL)->SetFont(&myfontButton); |
| 289 | GetDlgItem(IDC_BUTTON_INIT_COMPORT)->SetFont(&myfontButton); | 282 | GetDlgItem(IDC_BUTTON_INIT_COMPORT)->SetFont(&myfontButton); |
| 290 | GetDlgItem(IDC_BUTTON_SETTING)->SetFont(&myfontButton); | 283 | GetDlgItem(IDC_BUTTON_SETTING)->SetFont(&myfontButton); |
| @@ -395,14 +388,13 @@ void CBlueFlashToolDlg::UpdateGroupsCaptions() | @@ -395,14 +388,13 @@ void CBlueFlashToolDlg::UpdateGroupsCaptions() | ||
| 395 | 388 | ||
| 396 | } | 389 | } |
| 397 | } | 390 | } |
| 398 | - GetDlgItem(IDC_START_ALL)->EnableWindow(sumPort> 0 ? TRUE: FALSE); | ||
| 399 | } | 391 | } |
| 400 | 392 | ||
| 401 | 393 | ||
| 402 | BEGIN_EVENTSINK_MAP(CBlueFlashToolDlg, CDialog) | 394 | BEGIN_EVENTSINK_MAP(CBlueFlashToolDlg, CDialog) |
| 403 | ON_EVENT(CBlueFlashToolDlg, IDC_MSCOMM0, 1, CBlueFlashToolDlg::OnCommMscommDebug, VTS_NONE) | 395 | ON_EVENT(CBlueFlashToolDlg, IDC_MSCOMM0, 1, CBlueFlashToolDlg::OnCommMscommDebug, VTS_NONE) |
| 404 | - //ON_EVENT(CBlueFlashToolDlg, IDC_MSCOMM1, 1, CBlueFlashToolDlg::OnCommMscomm1, VTS_NONE) | ||
| 405 | - ON_EVENT_RANGE(CBlueFlashToolDlg, IDC_MSCOMM1,IDC_MSCOMM1+50, 1 /* OnComm */, OnCommMscomm1, VTS_I4 ) | 396 | + //ON_EVENT_RANGE(CBlueFlashToolDlg, IDC_MSCOMM1,IDC_MSCOMM1+50, 1 /* OnComm */, OnCommMscomm1, VTS_I4 ) |
| 397 | +// ON_EVENT(CBlueFlashToolDlg, IDC_MSCOMM1, 1, CBlueFlashToolDlg::OnCommMscomm1, VTS_NONE) | ||
| 406 | END_EVENTSINK_MAP() | 398 | END_EVENTSINK_MAP() |
| 407 | 399 | ||
| 408 | 400 | ||
| @@ -425,9 +417,11 @@ void CBlueFlashToolDlg::OnBnClickedButtonInitComport() | @@ -425,9 +417,11 @@ void CBlueFlashToolDlg::OnBnClickedButtonInitComport() | ||
| 425 | } | 417 | } |
| 426 | } | 418 | } |
| 427 | GetDlgItem(IDC_BUTTON_INIT_COMPORT)->SetWindowText("断开夹具"); | 419 | GetDlgItem(IDC_BUTTON_INIT_COMPORT)->SetWindowText("断开夹具"); |
| 420 | + | ||
| 428 | } | 421 | } |
| 429 | else | 422 | else |
| 430 | { | 423 | { |
| 424 | + OnBnClickedStopAll(); | ||
| 431 | for (loop1 = 0; loop1 < BLUE_TYPE_MAX; loop1++) | 425 | for (loop1 = 0; loop1 < BLUE_TYPE_MAX; loop1++) |
| 432 | { | 426 | { |
| 433 | for (loop2 = 0; loop2 < MAX_TOPWELL_DEVICE_NUM; loop2++) | 427 | for (loop2 = 0; loop2 < MAX_TOPWELL_DEVICE_NUM; loop2++) |
| @@ -469,7 +463,7 @@ bool CBlueFlashToolDlg::OpenComport(int earOrUsb, int index) | @@ -469,7 +463,7 @@ bool CBlueFlashToolDlg::OpenComport(int earOrUsb, int index) | ||
| 469 | if (QuerySingleSerialPortEx(comopen_port) != TRUE) | 463 | if (QuerySingleSerialPortEx(comopen_port) != TRUE) |
| 470 | { | 464 | { |
| 471 | DBG_print("[%d]已被占用 %d",__LINE__,comopen_port); | 465 | DBG_print("[%d]已被占用 %d",__LINE__,comopen_port); |
| 472 | - g_AppMainData.ary_myComPort[BLUE_TYPE_EAR][loop]=0; | 466 | + g_AppMainData.ary_myComPort[earOrUsb][loop]=0; |
| 473 | ifUartEnable[earOrUsb][index] = false; | 467 | ifUartEnable[earOrUsb][index] = false; |
| 474 | return false; | 468 | return false; |
| 475 | } | 469 | } |
| @@ -483,7 +477,7 @@ bool CBlueFlashToolDlg::OpenComport(int earOrUsb, int index) | @@ -483,7 +477,7 @@ bool CBlueFlashToolDlg::OpenComport(int earOrUsb, int index) | ||
| 483 | } | 477 | } |
| 484 | mycom[earOrUsb][index].SetCommPort(g_AppMainData.ary_myComPort[earOrUsb][index]); //选择com1 | 478 | mycom[earOrUsb][index].SetCommPort(g_AppMainData.ary_myComPort[earOrUsb][index]); //选择com1 |
| 485 | mycom[earOrUsb][index].SetInputMode(1); | 479 | mycom[earOrUsb][index].SetInputMode(1); |
| 486 | - mycom[earOrUsb][index].SetInputLen(BLUE_UART_INPUTBUFFER_SIZE); //设置当前接收区数据长度为0 | 480 | + mycom[earOrUsb][index].SetInputLen(0); //设置当前接收区数据长度为0 |
| 487 | mycom[earOrUsb][index].SetOutBufferSize(512); | 481 | mycom[earOrUsb][index].SetOutBufferSize(512); |
| 488 | mycom[earOrUsb][index].SetSettings(m_strSettings); //波特率9600,无校验,8个数据位,1个停止位 | 482 | mycom[earOrUsb][index].SetSettings(m_strSettings); //波特率9600,无校验,8个数据位,1个停止位 |
| 489 | 483 | ||
| @@ -506,7 +500,7 @@ bool CBlueFlashToolDlg::OpenComport(int earOrUsb, int index) | @@ -506,7 +500,7 @@ bool CBlueFlashToolDlg::OpenComport(int earOrUsb, int index) | ||
| 506 | else | 500 | else |
| 507 | { | 501 | { |
| 508 | DBG_print("[%d]串口%d无法打开",__LINE__,comopen_port ); | 502 | DBG_print("[%d]串口%d无法打开",__LINE__,comopen_port ); |
| 509 | - g_AppMainData.ary_myComPort[BLUE_TYPE_EAR][loop]=0; | 503 | + g_AppMainData.ary_myComPort[earOrUsb][loop]=0; |
| 510 | ifUartEnable[earOrUsb][index] = false; | 504 | ifUartEnable[earOrUsb][index] = false; |
| 511 | } | 505 | } |
| 512 | mycom[earOrUsb][index].GetInput(); //先预读缓冲区以清除残留数据 | 506 | mycom[earOrUsb][index].GetInput(); //先预读缓冲区以清除残留数据 |
| @@ -558,79 +552,123 @@ int CBlueFlashToolDlg::DBG_print(const char * strMsg, ...) | @@ -558,79 +552,123 @@ int CBlueFlashToolDlg::DBG_print(const char * strMsg, ...) | ||
| 558 | } | 552 | } |
| 559 | 553 | ||
| 560 | 554 | ||
| 561 | -void CBlueFlashToolDlg::OnCommMscomm1(UINT nID) | 555 | +void CBlueFlashToolDlg::CommMscomm(int aDeviceType,int aIndex) |
| 562 | { | 556 | { |
| 563 | // TODO: Add your control notification handler code here | 557 | // TODO: Add your control notification handler code here |
| 558 | + | ||
| 559 | + typedef enum | ||
| 560 | + { | ||
| 561 | + PCBCMD_NOCMD, | ||
| 562 | + PCBCMD_START, | ||
| 563 | + PCBCMD_PROCESS, | ||
| 564 | + PCBCMD_FINISH_SUCESS, | ||
| 565 | + PCBCMD_FINISH_FAIL | ||
| 566 | + }UART_CMD_FROM_PCB_ENUM; | ||
| 567 | + | ||
| 568 | + | ||
| 564 | CMSComm * apctrlMSComm; | 569 | CMSComm * apctrlMSComm; |
| 565 | VARIANT variant_inp_com_msg; | 570 | VARIANT variant_inp_com_msg; |
| 566 | COleSafeArray safearray_inp; | 571 | COleSafeArray safearray_inp; |
| 567 | LONG len, k; | 572 | LONG len, k; |
| 568 | - int aDeviceType ;//设备类型 | ||
| 569 | - int aIndex; //设备索引 | ||
| 570 | //char flash_process[4]; | 573 | //char flash_process[4]; |
| 571 | - char message_rev[BLUE_UART_INPUTBUFFER_SIZE]; | 574 | + char message_rev[BLUE_UART_INPUTBUFFER_SIZE*2]; |
| 572 | char onecharOfBuf; | 575 | char onecharOfBuf; |
| 573 | - char *pmybufferFromUart; | 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 | + | ||
| 574 | memset(message_rev,0,BLUE_UART_INPUTBUFFER_SIZE); | 583 | memset(message_rev,0,BLUE_UART_INPUTBUFFER_SIZE); |
| 575 | - aDeviceType = (nID - IDC_MSCOMM1)/MAX_TOPWELL_DEVICE_NUM; | ||
| 576 | - aIndex = (nID - IDC_MSCOMM1)%MAX_TOPWELL_DEVICE_NUM; | ||
| 577 | - pmybufferFromUart = (char *)mybufferFromUart[aDeviceType][aIndex]; | ||
| 578 | - if (strlen(pmybufferFromUart) >= BLUE_UART_INPUTBUFFER_SIZE) | ||
| 579 | - memset(pmybufferFromUart,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); | ||
| 580 | if (mycom[aDeviceType][aIndex].GetCommEvent() == 2) //事件值为2表示接收缓冲区内有字符 | 587 | if (mycom[aDeviceType][aIndex].GetCommEvent() == 2) //事件值为2表示接收缓冲区内有字符 |
| 581 | { | 588 | { |
| 582 | variant_inp_com_msg = mycom[aDeviceType][aIndex].GetInput(); //读缓冲区 | 589 | variant_inp_com_msg = mycom[aDeviceType][aIndex].GetInput(); //读缓冲区 |
| 583 | safearray_inp = variant_inp_com_msg; //VARIANT型变量转换为ColeSafeArray型变量 | 590 | safearray_inp = variant_inp_com_msg; //VARIANT型变量转换为ColeSafeArray型变量 |
| 584 | len = safearray_inp.GetOneDimSize(); //得到有效数据长度 | 591 | len = safearray_inp.GetOneDimSize(); //得到有效数据长度 |
| 592 | + if(len < 1|| len >= 512 ) return; | ||
| 585 | for (k = 0; k < len; k++) | 593 | for (k = 0; k < len; k++) |
| 586 | { | 594 | { |
| 587 | safearray_inp.GetElement(&k, &onecharOfBuf); | 595 | safearray_inp.GetElement(&k, &onecharOfBuf); |
| 588 | if (onecharOfBuf != 0 && onecharOfBuf != 10) | 596 | if (onecharOfBuf != 0 && onecharOfBuf != 10) |
| 589 | {//把UART接收缓冲区的一个非零字节保存下来 | 597 | {//把UART接收缓冲区的一个非零字节保存下来 |
| 590 | - pmybufferFromUart[strlen(pmybufferFromUart)] = onecharOfBuf; | 598 | + pmybufferMsgFromPcb[strlen(pmybufferMsgFromPcb)] = onecharOfBuf; |
| 591 | } | 599 | } |
| 592 | else | 600 | else |
| 593 | - {// 如果UART缓冲区的这个字节是0, 则表示结束 , 开始解析该命令 | ||
| 594 | - if (strlen(pmybufferFromUart)) | ||
| 595 | - strcpy(message_rev,pmybufferFromUart); | ||
| 596 | - memset(pmybufferFromUart,0,BLUE_UART_INPUTBUFFER_SIZE); | 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; //依然是空的, 则什么也不做 | ||
| 597 | } | 610 | } |
| 598 | } | 611 | } |
| 599 | - // 最后一个字符没有结尾, 接着读下一次UART的缓冲区 | ||
| 600 | - if (onecharOfBuf != 0 && onecharOfBuf != 10) | ||
| 601 | - return; | ||
| 602 | - //pmessage_rev = safearray_inp.; | ||
| 603 | - if (strlen(message_rev) == 0) | ||
| 604 | - { | ||
| 605 | - myctrlPcbState[aDeviceType][aIndex].SetBitmap(myBitmapWait); | ||
| 606 | - return; | ||
| 607 | - } | ||
| 608 | - DBG_print("线路 %d %s",g_AppMainData.ary_myComPort[aDeviceType][aIndex],message_rev); | ||
| 609 | - if(strstr(message_rev, strSignalFlashReady) != NULL) | 612 | + if (strlen(message_rev) == 0) return; |
| 613 | + if (strstr(message_rev, "ROM boot")) | ||
| 610 | { | 614 | { |
| 611 | - CString strtmsg; | ||
| 612 | - myctrlPcbState[aDeviceType][aIndex].SetBitmap(myBitmapReady); | ||
| 613 | - | ||
| 614 | - myStaticSn[aDeviceType][aIndex].GetWindowText(strtmsg); | ||
| 615 | - myThreadData[aDeviceType][aIndex].Filename = mystrAppcurrDir+"Bins\\ear\\"+strtmsg; | ||
| 616 | - | ||
| 617 | - mytickcount[aDeviceType][aIndex] = GetTickCount(); | ||
| 618 | - myThreadData[aDeviceType][aIndex].pDlg = this; | ||
| 619 | - myThreadData[aDeviceType][aIndex].blue_device_type = (BYTE)aDeviceType; | ||
| 620 | - myThreadData[aDeviceType][aIndex].nIndex = aIndex; | ||
| 621 | - myThreadData[aDeviceType][aIndex].StartThread = BLUE_THREAD_READY; | ||
| 622 | - myThreadData[aDeviceType][aIndex].pctrlMSComm = &mycom[aDeviceType][aDeviceType]; | ||
| 623 | - myThreadData[aDeviceType][aIndex].m_hThread = AfxBeginThread(BlueFlashThreadProc, &myThreadData[aDeviceType][aIndex]); | ||
| 624 | - myctrlStartButton[aDeviceType][aIndex].SetWindowText("停止"); | 615 | + DBG_print("线路 %d 开始下载",g_AppMainData.ary_myComPort[aDeviceType][aIndex]); |
| 616 | + commandFromPcb = PCBCMD_START; | ||
| 625 | } | 617 | } |
| 626 | - else if (strstr((char *)message_rev,strSignalFlashing) != NULL) | 618 | + if (strstr(message_rev, "Programming:")) |
| 627 | { | 619 | { |
| 628 | - myctrlProcess[aDeviceType][aIndex].SetPos(atoi(message_rev+12)*10); | 620 | + DBG_print("线路 %d 下载中",g_AppMainData.ary_myComPort[aDeviceType][aIndex]); |
| 621 | + commandFromPcb = PCBCMD_PROCESS; | ||
| 629 | } | 622 | } |
| 630 | - else | 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) | ||
| 631 | { | 631 | { |
| 632 | - DBG_print("线路 %d %s",g_AppMainData.ary_myComPort[aDeviceType][aIndex],message_rev); | ||
| 633 | - myctrlPcbState[aDeviceType][aIndex].SetBitmap(myBitmapWait); | 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; | ||
| 634 | } | 672 | } |
| 635 | } | 673 | } |
| 636 | } | 674 | } |
| @@ -665,6 +703,7 @@ UINT BlueFlashThreadProc(LPVOID lParam) | @@ -665,6 +703,7 @@ UINT BlueFlashThreadProc(LPVOID lParam) | ||
| 665 | if (!pctrlMSComm) | 703 | if (!pctrlMSComm) |
| 666 | { | 704 | { |
| 667 | pThreadData->StartThread = BLUE_THREAD_STOP; | 705 | pThreadData->StartThread = BLUE_THREAD_STOP; |
| 706 | + pThreadData->pDlg->DBG_print("[%d]线路%d 无效, 终止下载",__LINE__,g_AppMainData.ary_myComPort[aDeviceType][aIndex]); | ||
| 668 | pThreadData->pDlg->myctrlStartButton[aDeviceType][aIndex].SetWindowText("开始"); | 707 | pThreadData->pDlg->myctrlStartButton[aDeviceType][aIndex].SetWindowText("开始"); |
| 669 | pThreadData->pDlg->DeletePCB(aDeviceType,aIndex); | 708 | pThreadData->pDlg->DeletePCB(aDeviceType,aIndex); |
| 670 | return -1; //如果线程参数位空, 直接退出 | 709 | return -1; //如果线程参数位空, 直接退出 |
| @@ -697,11 +736,11 @@ UINT BlueFlashThreadProc(LPVOID lParam) | @@ -697,11 +736,11 @@ UINT BlueFlashThreadProc(LPVOID lParam) | ||
| 697 | 736 | ||
| 698 | for(loop=0;loop<numParts;loop++) | 737 | for(loop=0;loop<numParts;loop++) |
| 699 | { | 738 | { |
| 700 | - if (pThreadData->StartThread == false) | 739 | + if (pThreadData->StartThread == BLUE_THREAD_STOP) |
| 701 | {// 检查是否有停止指令 | 740 | {// 检查是否有停止指令 |
| 702 | - pThreadData->StartThread = BLUE_THREAD_STOP; | ||
| 703 | MyFile1.Close(); | 741 | MyFile1.Close(); |
| 704 | ByteArray_512.RemoveAll(); | 742 | ByteArray_512.RemoveAll(); |
| 743 | + pThreadData->pDlg->DBG_print("[%d]线路%d 被中止",__LINE__,g_AppMainData.ary_myComPort[aDeviceType][aIndex]); | ||
| 705 | pThreadData->pDlg->myctrlStartButton[aDeviceType][aIndex].SetWindowText("开始"); | 744 | pThreadData->pDlg->myctrlStartButton[aDeviceType][aIndex].SetWindowText("开始"); |
| 706 | pThreadData->pDlg->DeletePCB(aDeviceType,aIndex); | 745 | pThreadData->pDlg->DeletePCB(aDeviceType,aIndex); |
| 707 | return 0; | 746 | return 0; |
| @@ -712,10 +751,12 @@ UINT BlueFlashThreadProc(LPVOID lParam) | @@ -712,10 +751,12 @@ UINT BlueFlashThreadProc(LPVOID lParam) | ||
| 712 | ByteArray_512.SetSize(1 * 512); | 751 | ByteArray_512.SetSize(1 * 512); |
| 713 | for (int i= 0;i < 512; i++) | 752 | for (int i= 0;i < 512; i++) |
| 714 | ByteArray_512.SetAt(i, ByteBuf_512[i]); //把buf的1k数据转化为十六进制到array中,用于串口发送 | 753 | ByteArray_512.SetAt(i, ByteBuf_512[i]); //把buf的1k数据转化为十六进制到array中,用于串口发送 |
| 754 | + if (pctrlMSComm) | ||
| 715 | pctrlMSComm->SetOutput((COleVariant) ByteArray_512); //发送 | 755 | pctrlMSComm->SetOutput((COleVariant) ByteArray_512); //发送 |
| 716 | Sleep (2); //等待接收端接收 | 756 | Sleep (2); //等待接收端接收 |
| 717 | - ::SendMessage(pThreadData->pDlg->m_hWnd,WM_UPDATEPOS,pThreadData->blue_device_type<<16|pThreadData->nIndex,loop*100/numParts); | ||
| 718 | - if(!(loop&0x7f)) pThreadData->pDlg->DBG_print("线路 %d.%d下载中%d/%d",aDeviceType+1,aIndex+1,loop,numParts); | 757 | + |
| 758 | + //::SendMessage(pThreadData->pDlg->m_hWnd,WM_UPDATEPOS,pThreadData->blue_device_type<<16|pThreadData->nIndex,loop*100/numParts); | ||
| 759 | + //if(!(loop&0xff)) pThreadData->pDlg->DBG_print("线路 %d.%d下载中%d",aDeviceType+1,aIndex+1,loop/numParts); | ||
| 719 | } | 760 | } |
| 720 | if (Partsremain>0) | 761 | if (Partsremain>0) |
| 721 | { | 762 | { |
| @@ -724,16 +765,17 @@ UINT BlueFlashThreadProc(LPVOID lParam) | @@ -724,16 +765,17 @@ UINT BlueFlashThreadProc(LPVOID lParam) | ||
| 724 | ByteArray_512.SetSize(1 * Partsremain); | 765 | ByteArray_512.SetSize(1 * Partsremain); |
| 725 | for (int i= 0; i < 1 * Partsremain; i++) | 766 | for (int i= 0; i < 1 * Partsremain; i++) |
| 726 | ByteArray_512.SetAt(i, ByteBuf_512[i]); //把buf的1k数据转化为十六进制到array中,用于串口发送 | 767 | ByteArray_512.SetAt(i, ByteBuf_512[i]); //把buf的1k数据转化为十六进制到array中,用于串口发送 |
| 768 | + if (pctrlMSComm) | ||
| 727 | pctrlMSComm->SetOutput((COleVariant) ByteArray_512); //发送 | 769 | pctrlMSComm->SetOutput((COleVariant) ByteArray_512); //发送 |
| 728 | } | 770 | } |
| 729 | Sleep(1000); //等待接收端写30M数据到文件中 | 771 | Sleep(1000); //等待接收端写30M数据到文件中 |
| 730 | - ::SendMessage(pThreadData->pDlg->m_hWnd,WM_UPDATEPOS,pThreadData->blue_device_type<<16|pThreadData->nIndex,100); | 772 | + //::SendMessage(pThreadData->pDlg->m_hWnd,WM_UPDATEPOS,pThreadData->blue_device_type<<16|pThreadData->nIndex,100); |
| 731 | //任务结束, 清理现场 | 773 | //任务结束, 清理现场 |
| 732 | MyFile1.Close(); | 774 | MyFile1.Close(); |
| 733 | ByteArray_512.RemoveAll(); | 775 | ByteArray_512.RemoveAll(); |
| 734 | 776 | ||
| 735 | //pThreadData->pDlg->DBG_print("线路%d, %d 下载完成!!!",aDeviceType+1,aIndex+1); | 777 | //pThreadData->pDlg->DBG_print("线路%d, %d 下载完成!!!",aDeviceType+1,aIndex+1); |
| 736 | - pThreadData->pDlg->calcTImeWhenFinished(aDeviceType,aIndex); | 778 | + //pThreadData->pDlg->calcTImeWhenFinished(aDeviceType,aIndex); |
| 737 | pThreadData->pDlg->myctrlStartButton[aDeviceType][aIndex].SetWindowText("开始"); | 779 | pThreadData->pDlg->myctrlStartButton[aDeviceType][aIndex].SetWindowText("开始"); |
| 738 | pThreadData->pDlg->DeletePCB(aDeviceType,aIndex); | 780 | pThreadData->pDlg->DeletePCB(aDeviceType,aIndex); |
| 739 | pThreadData->StartThread = BLUE_THREAD_STOP; | 781 | pThreadData->StartThread = BLUE_THREAD_STOP; |
| @@ -943,29 +985,6 @@ LRESULT CBlueFlashToolDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam | @@ -943,29 +985,6 @@ LRESULT CBlueFlashToolDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam | ||
| 943 | 985 | ||
| 944 | void CBlueFlashToolDlg::OnBnClickedStartAll() | 986 | void CBlueFlashToolDlg::OnBnClickedStartAll() |
| 945 | { | 987 | { |
| 946 | - int loop1,loop2; | ||
| 947 | - CString strtmsg; | ||
| 948 | - for (loop1 = 0; loop1 < BLUE_TYPE_MAX; loop1++) | ||
| 949 | - { | ||
| 950 | - for (loop2 = 0; loop2 < MAX_TOPWELL_DEVICE_NUM; loop2++) | ||
| 951 | - { | ||
| 952 | - myThreadData[loop1][loop2].pDlg = this; | ||
| 953 | - myThreadData[loop1][loop2].blue_device_type = (BYTE)loop1; | ||
| 954 | - myThreadData[loop1][loop2].nIndex = loop2; | ||
| 955 | - myThreadData[loop1][loop2].pctrlMSComm = &mycom[loop1][loop2]; | ||
| 956 | - myStaticSn[loop1][loop2].GetWindowText(strtmsg); | ||
| 957 | - myThreadData[loop1][loop2].Filename = mystrAppcurrDir+"Bins\\ear\\"+strtmsg; | ||
| 958 | - | ||
| 959 | - if (g_AppMainData.ary_myComPort[loop1][loop2] >2) | ||
| 960 | - { | ||
| 961 | - myThreadData[loop1][loop2].StartThread = BLUE_THREAD_READY; | ||
| 962 | - myctrlStartButton[loop1][loop2].SetWindowText("停止"); | ||
| 963 | - //myThreadData[loop1][loop2].m_hThread = AfxBeginThread(BlueFlashThreadProc, &myThreadData[loop1][loop2]); | ||
| 964 | - } | ||
| 965 | - } | ||
| 966 | - } | ||
| 967 | - | ||
| 968 | - // TODO: Add your control notification handler code here | ||
| 969 | } | 988 | } |
| 970 | 989 | ||
| 971 | // 拔出或者插入UART线, 更新列表信息 | 990 | // 拔出或者插入UART线, 更新列表信息 |
| @@ -1178,13 +1197,23 @@ void CBlueFlashToolDlg::calcTImeWhenFinished(int device_type, int index) | @@ -1178,13 +1197,23 @@ void CBlueFlashToolDlg::calcTImeWhenFinished(int device_type, int index) | ||
| 1178 | myStaticSn[device_type][index].GetWindowText(strOfFilename); | 1197 | myStaticSn[device_type][index].GetWindowText(strOfFilename); |
| 1179 | pchar = strOfFilename.GetBuffer(0); | 1198 | pchar = strOfFilename.GetBuffer(0); |
| 1180 | strncpy(fileid,pchar+3,4); | 1199 | strncpy(fileid,pchar+3,4); |
| 1181 | - for (loop = 0; loop < myAryFlashFail.GetSize(); loop++) | ||
| 1182 | - { | ||
| 1183 | - WORD thefileid = myAryFlashFail.GetAt(loop); | ||
| 1184 | - if (atoi(fileid) == thefileid) | ||
| 1185 | - { | ||
| 1186 | - myAryFlashFail.RemoveAt(loop); | ||
| 1187 | - myAryFlashSuc.Add(thefileid); | ||
| 1188 | - } | ||
| 1189 | - } | 1200 | +// for (loop = 0; loop < myAryFlashFail.GetSize(); loop++) |
| 1201 | +// { | ||
| 1202 | +// WORD thefileid = myAryFlashFail.GetAt(loop); | ||
| 1203 | +// if (atoi(fileid) == thefileid) | ||
| 1204 | +// { | ||
| 1205 | +// myAryFlashFail.RemoveAt(loop); | ||
| 1206 | +// myAryFlashSuc.Add(thefileid); | ||
| 1207 | +// } | ||
| 1208 | +// } | ||
| 1190 | } | 1209 | } |
| 1210 | + | ||
| 1211 | + | ||
| 1212 | + | ||
| 1213 | + | ||
| 1214 | + | ||
| 1215 | + | ||
| 1216 | + | ||
| 1217 | + | ||
| 1218 | + | ||
| 1219 | + |
| @@ -68,8 +68,6 @@ public: | @@ -68,8 +68,6 @@ public: | ||
| 68 | CWordArray myAryFlashFail; | 68 | CWordArray myAryFlashFail; |
| 69 | 69 | ||
| 70 | 70 | ||
| 71 | - char strSignalFlashReady[16]; | ||
| 72 | - char strSignalFlashing[20]; | ||
| 73 | //开始下载时, 计时器 | 71 | //开始下载时, 计时器 |
| 74 | INT64 mytickcount[BLUE_TYPE_MAX][MAX_TOPWELL_DEVICE_NUM]; | 72 | INT64 mytickcount[BLUE_TYPE_MAX][MAX_TOPWELL_DEVICE_NUM]; |
| 75 | 73 | ||
| @@ -84,7 +82,10 @@ public: | @@ -84,7 +82,10 @@ public: | ||
| 84 | int myLenForFileUSB; | 82 | int myLenForFileUSB; |
| 85 | topwell_SN_write_struct *pSN_write; | 83 | topwell_SN_write_struct *pSN_write; |
| 86 | #endif | 84 | #endif |
| 87 | - BYTE mybufferFromUart[BLUE_TYPE_MAX][MAX_TOPWELL_DEVICE_NUM][BLUE_UART_INPUTBUFFER_SIZE]; //设置BYTE数组 An 8-bit integerthat is not signed. | 85 | + |
| 86 | + | ||
| 87 | + | ||
| 88 | + char mybufferFromUart[BLUE_TYPE_MAX][MAX_TOPWELL_DEVICE_NUM][BLUE_UART_INPUTBUFFER_SIZE]; //设置BYTE数组 An 8-bit integerthat is not signed. | ||
| 88 | 89 | ||
| 89 | 90 | ||
| 90 | int DBG_print(const char * strMsg, ...); | 91 | int DBG_print(const char * strMsg, ...); |
| @@ -177,7 +178,7 @@ public: | @@ -177,7 +178,7 @@ public: | ||
| 177 | void OnCommMscommDebug(); | 178 | void OnCommMscommDebug(); |
| 178 | bool OpenComport(int earOrUsb, int index); | 179 | bool OpenComport(int earOrUsb, int index); |
| 179 | bool CloseComport(int earOrUsb, int index); | 180 | bool CloseComport(int earOrUsb, int index); |
| 180 | - void OnCommMscomm1(UINT nID); | 181 | + void CommMscomm(int aDeviceType,int aIndex); |
| 181 | bool SendFileToComPort(BLUE_DEVICE_TYPE earOrUsb, int index); | 182 | bool SendFileToComPort(BLUE_DEVICE_TYPE earOrUsb, int index); |
| 182 | 183 | ||
| 183 | 184 |
| @@ -10,11 +10,11 @@ SN_cur=0 | @@ -10,11 +10,11 @@ SN_cur=0 | ||
| 10 | 数据位=3 | 10 | 数据位=3 |
| 11 | 停止位=-127 | 11 | 停止位=-127 |
| 12 | 流控制=0 | 12 | 流控制=0 |
| 13 | -ear_port1=0 | ||
| 14 | -ear_port2=0 | ||
| 15 | -ear_port3=0 | ||
| 16 | -ear_port4=0 | ||
| 17 | -ear_port5=0 | 13 | +ear_port1=6 |
| 14 | +ear_port2=11 | ||
| 15 | +ear_port3=12 | ||
| 16 | +ear_port4=13 | ||
| 17 | +ear_port5=14 | ||
| 18 | ear_port6=0 | 18 | ear_port6=0 |
| 19 | ear_port7=0 | 19 | ear_port7=0 |
| 20 | ear_port8=0 | 20 | ear_port8=0 |
| @@ -30,7 +30,7 @@ usb_port7=0 | @@ -30,7 +30,7 @@ usb_port7=0 | ||
| 30 | usb_port8=0 | 30 | usb_port8=0 |
| 31 | usb_port9=0 | 31 | usb_port9=0 |
| 32 | usb_port10=0 | 32 | usb_port10=0 |
| 33 | -ear_port0=2 | 33 | +ear_port0=5 |
| 34 | ear_port11=0 | 34 | ear_port11=0 |
| 35 | usb_port0=0 | 35 | usb_port0=0 |
| 36 | usb_port11=0 | 36 | usb_port11=0 |
Please
register
or
login
to post a comment