Commit 855fdc2165429acf67eba24b9282b1ef349375f7
1 parent
457582ed
1.cft的状态:10P:pass;01F:fail;other:untested;2.判断IMEI校验合法:pass不合法为:Fail,为空时:Untested,
Showing
3 changed files
with
97 additions
and
8 deletions
| @@ -204,7 +204,6 @@ void SNBase::UpdateUICountResult(WriteNvram_Status_e eWriteStatus) | @@ -204,7 +204,6 @@ void SNBase::UpdateUICountResult(WriteNvram_Status_e eWriteStatus) | ||
| 204 | g_pMainDlg->SetDlgItemText(IDC_COUNT_FAIL, strFail); | 204 | g_pMainDlg->SetDlgItemText(IDC_COUNT_FAIL, strFail); |
| 205 | 205 | ||
| 206 | #if 1 | 206 | #if 1 |
| 207 | - | ||
| 208 | g_pMainDlg->SetDlgItemText(IDC_RSLT_SW, g_pMainDlg->myrslt_sw); | 207 | g_pMainDlg->SetDlgItemText(IDC_RSLT_SW, g_pMainDlg->myrslt_sw); |
| 209 | g_pMainDlg->SetDlgItemText(IDC_RSLT_CFT, g_pMainDlg->myrslt_cft); | 208 | g_pMainDlg->SetDlgItemText(IDC_RSLT_CFT, g_pMainDlg->myrslt_cft); |
| 210 | g_pMainDlg->SetDlgItemText(IDC_RSLT_SMT, g_pMainDlg->myrslt_smt); | 209 | g_pMainDlg->SetDlgItemText(IDC_RSLT_SMT, g_pMainDlg->myrslt_smt); |
| @@ -401,10 +400,14 @@ bool SNBase::Check_some_barcode(const char* strBarcode) | @@ -401,10 +400,14 @@ bool SNBase::Check_some_barcode(const char* strBarcode) | ||
| 401 | { | 400 | { |
| 402 | g_pMainDlg->myrslt_cft =_T("PASS"); | 401 | g_pMainDlg->myrslt_cft =_T("PASS"); |
| 403 | } | 402 | } |
| 404 | - else | 403 | + else if(strBarcode[60] == '0' && strBarcode[61] == '1' && strBarcode[62] == 'F') |
| 405 | { | 404 | { |
| 406 | g_pMainDlg->myrslt_cft =_T("Fail"); | 405 | g_pMainDlg->myrslt_cft =_T("Fail"); |
| 407 | } | 406 | } |
| 407 | + else | ||
| 408 | + { | ||
| 409 | + g_pMainDlg->myrslt_cft =_T("UnTested"); | ||
| 410 | + } | ||
| 408 | 411 | ||
| 409 | return true; | 412 | return true; |
| 410 | 413 |
| @@ -100,6 +100,49 @@ void SmartPhoneSN::SPInit() | @@ -100,6 +100,49 @@ void SmartPhoneSN::SPInit() | ||
| 100 | } | 100 | } |
| 101 | } | 101 | } |
| 102 | 102 | ||
| 103 | +int SmartPhoneSN::getLastIMEIdigit(CString strIMEI) | ||
| 104 | +{ | ||
| 105 | + int imei1 = (strIMEI[0]-'0'); | ||
| 106 | + int imei2 = 2*(strIMEI[1]-'0'); | ||
| 107 | + int imei3 = (strIMEI[2]-'0'); | ||
| 108 | + int imei4 = 2*(strIMEI[3]-'0'); | ||
| 109 | + int imei5 = (strIMEI[4]-'0'); | ||
| 110 | + int imei6 = 2*(strIMEI[5]-'0'); | ||
| 111 | + int imei7 = (strIMEI[6]-'0'); | ||
| 112 | + int imei8 = 2*(strIMEI[7]-'0'); | ||
| 113 | + int imei9 = (strIMEI[8]-'0'); | ||
| 114 | + int imei10 = 2*(strIMEI[9]-'0'); | ||
| 115 | + int imei11 = (strIMEI[10]-'0'); | ||
| 116 | + int imei12 = 2*(strIMEI[11]-'0'); | ||
| 117 | + int imei13 = (strIMEI[12]-'0'); | ||
| 118 | + int imei14 = 2*(strIMEI[13]-'0'); | ||
| 119 | + | ||
| 120 | + int ret = imei1 + | ||
| 121 | + (imei2/10)+ | ||
| 122 | + (imei2%10)+ | ||
| 123 | + imei3+ | ||
| 124 | + (imei4/10)+ | ||
| 125 | + (imei4%10)+ | ||
| 126 | + imei5+ | ||
| 127 | + (imei6/10)+ | ||
| 128 | + (imei6%10)+ | ||
| 129 | + imei7+ | ||
| 130 | + (imei8/10)+ | ||
| 131 | + (imei8%10)+ | ||
| 132 | + imei9+ | ||
| 133 | + (imei10/10)+ | ||
| 134 | + (imei10%10)+ | ||
| 135 | + imei11+ | ||
| 136 | + (imei12/10)+ | ||
| 137 | + (imei12%10)+ | ||
| 138 | + imei13+ | ||
| 139 | + (imei14/10)+ | ||
| 140 | + (imei14%10); | ||
| 141 | + | ||
| 142 | + return (10 - ret % 10) % 10; | ||
| 143 | +} | ||
| 144 | + | ||
| 145 | + | ||
| 103 | META_RESULT SmartPhoneSN::WriteNvramLoop() | 146 | META_RESULT SmartPhoneSN::WriteNvramLoop() |
| 104 | { | 147 | { |
| 105 | MTRACE (g_hEBOOT_DEBUG, "SmartPhoneSN::WriteNvramLoop() start..."); | 148 | MTRACE (g_hEBOOT_DEBUG, "SmartPhoneSN::WriteNvramLoop() start..."); |
| @@ -219,12 +262,14 @@ META_RESULT SmartPhoneSN::WriteNvramLoop() | @@ -219,12 +262,14 @@ META_RESULT SmartPhoneSN::WriteNvramLoop() | ||
| 219 | char a_imei_ary2[16]; | 262 | char a_imei_ary2[16]; |
| 220 | char tmpBuf1[20] = {0}; | 263 | char tmpBuf1[20] = {0}; |
| 221 | char tmpBuf2[20] = {0}; | 264 | char tmpBuf2[20] = {0}; |
| 222 | - | 265 | + CString IMEI1_validity; |
| 266 | + CString IMEI2_validity; | ||
| 267 | + | ||
| 223 | iRet = REQ_ReadModem_NVRAM_Start(WRITE_IMEI, tmpBuf1, 1); | 268 | iRet = REQ_ReadModem_NVRAM_Start(WRITE_IMEI, tmpBuf1, 1); |
| 224 | iRet2 = REQ_ReadModem_NVRAM_Start(WRITE_IMEI, tmpBuf2, 2); | 269 | iRet2 = REQ_ReadModem_NVRAM_Start(WRITE_IMEI, tmpBuf2, 2); |
| 225 | 270 | ||
| 226 | - if(tmpBuf1[0]== -1) iRet = META_FAILED; | ||
| 227 | - if(tmpBuf2[0]== -1) iRet2 =META_FAILED; | 271 | + if(tmpBuf1[0]== -1) iRet = META_FAILED; |
| 272 | + if(tmpBuf2[0]== -1) iRet2 =META_FAILED; | ||
| 228 | 273 | ||
| 229 | 274 | ||
| 230 | if (iRet == META_SUCCESS || iRet2 == META_SUCCESS) | 275 | if (iRet == META_SUCCESS || iRet2 == META_SUCCESS) |
| @@ -246,13 +291,53 @@ META_RESULT SmartPhoneSN::WriteNvramLoop() | @@ -246,13 +291,53 @@ META_RESULT SmartPhoneSN::WriteNvramLoop() | ||
| 246 | } | 291 | } |
| 247 | a_imei_ary[15] = 0; | 292 | a_imei_ary[15] = 0; |
| 248 | a_imei_ary2[15] = 0; | 293 | a_imei_ary2[15] = 0; |
| 249 | - g_pMainDlg->GetDlgItem(IDC_RSLT_WRITE_IMEI)->SetWindowText(CString(a_imei_ary)+","+CString(a_imei_ary2)); | ||
| 250 | - UpdateUIMsg("IMEI read success!!!"); | 294 | + |
| 295 | + if(iRet == META_SUCCESS) | ||
| 296 | + { | ||
| 297 | + if((a_imei_ary[14]-'0') == getLastIMEIdigit(CString(a_imei_ary))) | ||
| 298 | + { | ||
| 299 | + IMEI1_validity = _T("PASS"); | ||
| 300 | + } | ||
| 301 | + else | ||
| 302 | + { | ||
| 303 | + IMEI1_validity = _T("Fail"); | ||
| 304 | + } | ||
| 305 | + } | ||
| 306 | + else | ||
| 307 | + { | ||
| 308 | + IMEI1_validity = _T("UnTested");; | ||
| 309 | + } | ||
| 310 | + | ||
| 311 | + if(iRet2 == META_SUCCESS ) | ||
| 312 | + { | ||
| 313 | + if((a_imei_ary2[14]-'0') ==getLastIMEIdigit(CString(a_imei_ary2))) | ||
| 314 | + { | ||
| 315 | + IMEI2_validity = _T("PASS"); | ||
| 316 | + } | ||
| 317 | + else | ||
| 318 | + { | ||
| 319 | + IMEI2_validity = _T("Fail"); | ||
| 320 | + } | ||
| 321 | + } | ||
| 322 | + else | ||
| 323 | + { | ||
| 324 | + IMEI2_validity = _T("UnTested");; | ||
| 325 | + } | ||
| 326 | + | ||
| 327 | + g_pMainDlg->GetDlgItem(IDC_RSLT_WRITE_IMEI)->SetWindowText(IMEI1_validity+","+IMEI2_validity); | ||
| 328 | + | ||
| 329 | + | ||
| 330 | + // UpdateUIMsg("IMEI read success!!!"); | ||
| 251 | spNextStage = SP_END_STAGE; | 331 | spNextStage = SP_END_STAGE; |
| 252 | } | 332 | } |
| 333 | + else if (iRet == META_FAILED && iRet2 == META_FAILED) | ||
| 334 | + { | ||
| 335 | + g_pMainDlg->GetDlgItem(IDC_RSLT_WRITE_IMEI)->SetWindowText("UnTested,UnTested"); | ||
| 336 | + spNextStage = SP_END_STAGE; | ||
| 337 | + } | ||
| 253 | else | 338 | else |
| 254 | { | 339 | { |
| 255 | - g_pMainDlg->GetDlgItem(IDC_RSLT_WRITE_IMEI)->SetWindowText("fail!!!"); | 340 | + g_pMainDlg->GetDlgItem(IDC_RSLT_WRITE_IMEI)->SetWindowText("Fail"); |
| 256 | UpdateUIMsg("IMEI read fail"); | 341 | UpdateUIMsg("IMEI read fail"); |
| 257 | spNextStage = SP_END_STAGE; | 342 | spNextStage = SP_END_STAGE; |
| 258 | } | 343 | } |
| @@ -66,6 +66,7 @@ protected: | @@ -66,6 +66,7 @@ protected: | ||
| 66 | virtual META_RESULT SwitchMDByIndex(UINT MDIndex); | 66 | virtual META_RESULT SwitchMDByIndex(UINT MDIndex); |
| 67 | 67 | ||
| 68 | virtual int GetSPModemInfo_Ex(); | 68 | virtual int GetSPModemInfo_Ex(); |
| 69 | + virtual int getLastIMEIdigit(CString strIMEI); | ||
| 69 | virtual SPMETA_DLL::META_RESULT QueryDBFromDUT(); | 70 | virtual SPMETA_DLL::META_RESULT QueryDBFromDUT(); |
| 70 | virtual SPMETA_DLL::META_RESULT GetAPDBFromDUT(); | 71 | virtual SPMETA_DLL::META_RESULT GetAPDBFromDUT(); |
| 71 | virtual SPMETA_DLL::META_RESULT GetMDDBFromDUT(); | 72 | virtual SPMETA_DLL::META_RESULT GetMDDBFromDUT(); |
Please
register
or
login
to post a comment