Commit ae3a866ee66814c9b88dfe69d696d29c768f8c70

Authored by xiemeng
1 parent 97edcd47

增加接口 REQ_ReadAP_NVRAM_QC

... ... @@ -178,7 +178,13 @@ META_RESULT SmartPhoneSN::WriteNvramLoop()
178 178 break;
179 179
180 180 case SP_CHECK_CAL_FT_FLAG_STAGE:
181   - if (g_sMetaComm.bCheckCalFlag || g_sMetaComm.bCheckFtFlag)
  181 + // <<XIEMENG
  182 + #ifdef __TOPWELL_QCTEST__
  183 + if (g_sMetaComm.bCheckCalFlag || g_sMetaComm.bCheckFtFlag || g_sMetaComm.bCheckQCFlag)
  184 + #else
  185 + if (g_sMetaComm.bCheckCalFlag || g_sMetaComm.bCheckFtFlag)
  186 + #endif
  187 + // >>XIEMENG
182 188 {
183 189 char tmpBuf[2048] = {0};
184 190 iRet = REQ_ReadModem_NVRAM_Start(WRITE_BARCODE, tmpBuf, 1);
... ... @@ -2468,6 +2474,99 @@ SPMETA_DLL::META_RESULT SmartPhoneSN::REQ_ReadAP_NVRAM_Start(WriteData_Type_e da
2468 2474 return MetaResult;
2469 2475 }
2470 2476
  2477 +
  2478 +
  2479 + // <<XIEMENG
  2480 +#ifdef __TOPWELL_QCTEST__
  2481 +int SmartPhoneSN::REQ_ReadAP_NVRAM_QC(void)
  2482 +{
  2483 + MTRACE (g_hEBOOT_DEBUG, "SmartPhoneSN::REQ_ReadAP_NVRAM_QC()...");
  2484 +
  2485 + SPMETA_DLL::META_RESULT MetaResult = SPMETA_DLL::META_SUCCESS;
  2486 + int iBufLen = 0;
  2487 + char *pLID = NULL;
  2488 + CString mytest,mytesttemp;
  2489 + pLID = "AP_CFG_REEB_PRODUCT_INFO_LID";
  2490 +
  2491 + // pLID = "AP_CFG_REEB_PRODUCT_INFO_LID";
  2492 + SPMETA_DLL::FT_NVRAM_READ_REQ sNVRAM_ReadReq;
  2493 + SPMETA_DLL::FT_NVRAM_READ_CNF sNVRAM_ReadCnf;
  2494 + SPMETA_DLL::META_RESULT meta_result;
  2495 + int iWriteBufSize = 0;
  2496 + memset(&sNVRAM_ReadReq, 0, sizeof(SPMETA_DLL::FT_NVRAM_READ_REQ));
  2497 + memset(&sNVRAM_ReadCnf, 0, sizeof(SPMETA_DLL::FT_NVRAM_READ_CNF));
  2498 +
  2499 + MTRACE (g_hEBOOT_DEBUG, "SmartPhoneSN::SP_META_NVRAM_GetRecLen(): Start to get nvram struct size via LID = \"%s\"...", pLID);
  2500 + meta_result = SPMETA_DLL::SP_META_NVRAM_GetRecLen(pLID, &iWriteBufSize);
  2501 + if ( SPMETA_DLL::META_SUCCESS != meta_result)
  2502 + {
  2503 + MTRACE_ERR (g_hEBOOT_DEBUG, "SmartPhoneSN::SP_META_NVRAM_GetRecLen(): Get nvram struct size fail, MetaResult = %s", ResultToString_SP(meta_result));
  2504 + return 0;
  2505 + }
  2506 + else
  2507 + {
  2508 + MTRACE (g_hEBOOT_DEBUG, "SmartPhoneSN::SP_META_NVRAM_GetRecLen(): Get nvram struct size = %d successfully!", iWriteBufSize);
  2509 + if ( NULL != sNVRAM_ReadCnf.buf )
  2510 + {
  2511 + free ( sNVRAM_ReadCnf.buf );
  2512 + sNVRAM_ReadCnf.buf = NULL;
  2513 + }
  2514 +
  2515 + sNVRAM_ReadReq.LID = pLID;
  2516 + sNVRAM_ReadReq.RID = 1;
  2517 + sNVRAM_ReadCnf.len = iWriteBufSize;
  2518 + sNVRAM_ReadCnf.buf = (unsigned char*) malloc (iWriteBufSize*sizeof(unsigned char));
  2519 + if (NULL == sNVRAM_ReadCnf.buf)
  2520 + {
  2521 + MTRACE_ERR (g_hEBOOT_DEBUG, "Malloc heap memory cause fail!");
  2522 + return 0;
  2523 + }
  2524 + }
  2525 +
  2526 + MTRACE (g_hEBOOT_DEBUG, "SmartPhoneSN::REQ_ReadFromAPNVRAM(): Start to read nvram data...");
  2527 + meta_result = REQ_ReadFromAPNVRAM (&sNVRAM_ReadReq, &sNVRAM_ReadCnf);
  2528 +
  2529 +
  2530 + if (meta_result != SPMETA_DLL::META_SUCCESS )
  2531 + {
  2532 +
  2533 +
  2534 +
  2535 + MTRACE_ERR (g_hEBOOT_DEBUG, "REQ_ReadFromAPNVRAM: fail! MetaResult = %s", ResultToString_SP(meta_result));
  2536 + return 0;
  2537 + }
  2538 +
  2539 + {
  2540 + int loop = 0;
  2541 + for (;loop<iWriteBufSize;loop++)
  2542 + {
  2543 + if(loop%50 == 0)
  2544 + mytesttemp.Format(" %d_%x\n",loop,sNVRAM_ReadCnf.buf[loop]);
  2545 + else
  2546 + mytesttemp.Format(" %d_%x",loop,sNVRAM_ReadCnf.buf[loop]);
  2547 + mytest += mytesttemp;
  2548 + }
  2549 + }
  2550 +
  2551 + if(sNVRAM_ReadCnf.buf[g_sMetaComm.QCFlag_index] == 0)
  2552 + {
  2553 + // ::AfxMessageBox("QC test fail");
  2554 + return 0;
  2555 + }
  2556 + else
  2557 + {
  2558 + // ::AfxMessageBox("QC test pass");
  2559 + return 1;
  2560 + }
  2561 +
  2562 +
  2563 +
  2564 +
  2565 +}
  2566 +
  2567 +#endif
  2568 + // >>XIEMENG
  2569 +
2471 2570 SPMETA_DLL::META_RESULT SmartPhoneSN::REQ_WriteAP_NVRAM_Start(WriteData_Type_e dataType, char *pInData, unsigned short iRID)
2472 2571 {
2473 2572 if (!pInData)
... ...
... ... @@ -73,6 +73,11 @@ protected:
73 73 virtual SPMETA_DLL::META_RESULT LoadAPDatabase();
74 74
75 75 virtual SPMETA_DLL::META_RESULT REQ_ReadAP_NVRAM_Start(WriteData_Type_e dataType, char *pOutData, unsigned short iRID);
  76 + // <<XIEMENG
  77 + #ifdef __TOPWELL_QCTEST__
  78 + virtual int REQ_ReadAP_NVRAM_QC();
  79 + #endif
  80 + // >>XIEMENG
76 81 virtual SPMETA_DLL::META_RESULT REQ_WriteAP_NVRAM_Start(WriteData_Type_e dataType, char *pInData, unsigned short iRID);
77 82 virtual META_RESULT REQ_ReadModem_NVRAM_Start(WriteData_Type_e dataType, char *pOutData, unsigned short iRID);
78 83 virtual META_RESULT REQ_WriteModem_NVRAM_Start(WriteData_Type_e dataType, char *pInData, unsigned short iRID);
... ...
... ... @@ -21,6 +21,7 @@
21 21 #endif // _AFX_NO_AFXCMN_SUPPORT
22 22
23 23 extern const char* g_strToolVersion;
  24 +#define __TOPWELL_QCTEST__
24 25
25 26 //{{AFX_INSERT_LOCATION}}
26 27
... ...
Please register or login to post a comment