📄 main.c
字号:
//printf("Driver Version, Revision : %08X.%08X, %08X\n", vl_DVVersion[0], vl_DVVersion[1], vl_DVRevision);
sprintf(msg,"Driver Version, Revision : %08X.%08X, %08X\n", vl_DVVersion[0], vl_DVVersion[1], vl_DVRevision);
InsertListItem(pnl,PNL_LISTBOX,-1,msg,"");
dv0_29GetSLDriverVersion_to_use(&vl_SLVersionForDV, &vl_SLRevisionForDV);
/* Check Drivers/SL compatibility */
if ((vl_SLVersionForDV != vl_SLVersion) || (vl_SLRevisionForDV != vl_SLRevision))
//printf("Warning : whith this driver you should use SL Version, Revision : %08X, %08X\n", vl_SLVersionForDV, vl_SLRevisionForDV);
sprintf(msg,"Warning : with this driver you should use SL Version, Revision : %08X, %08X\n", vl_SLVersionForDV, vl_SLRevisionForDV);
InsertListItem(pnl,PNL_LISTBOX,-1,msg,"");
/* Allocate a thread local storage area */
vl_Error = SL1_12TLSAllocate();
if (vl_Error)
{
errorIndex=Allocate_Thread_Local_Storage_Area_Error;
goto quit;
}
/* Launch SL */
vl_Error = SL3_02InitSL("COM2", SL_COM_RATE115, SL_IPEATIO2_NO_PARITY, FALSE, SL_INIT_BYTE49, SL_MODE_BYTE4F, 12, 0);
if (vl_Error)
{
errorIndex=Init_Serial_Link_Error;
goto quit;
}
//SetActivePanel (pnl);
/* user message */
sprintf(msg,"Connect your serial cable to PC and mobile.\n You'll have 10 seconds to start your mobile.\n"); //sprintf("After you'll press ENTER, you'll have 10 seconds to start your mobile.\n");
InsertListItem(pnl,PNL_LISTBOX,-1,msg,"");
sprintf(msg,"Switch On mobile........\n");
InsertListItem(pnl,PNL_LISTBOX,-1,msg,"");
ProcessSystemEvents();
/* Initialise some TAT variables */
dv0_25InitTatVar();
/* Wait for Mobile synchronisation */
vl_Error = dv10_00BackgroundLoop(10000, &vl_TATLimited, &vl_Identity, &vl_Mode, vl_EmbededVersion,
vl_Key, &vl_VersionType);
if (vl_Error)
{
errorIndex=Wait_For_Mobile_Sync_Error;
goto quit;
}
/* Display Embeded software informations */
sprintf(msg,"Embeded Version : %08X.%08X\n", vl_EmbededVersion[0], vl_EmbededVersion[1]);
InsertListItem(pnl,PNL_LISTBOX,-1,msg,"");
/*------------------------------*/
/* Enter code to enter TAT mode */
/* Enter your customer ID code to replace philips value 0x4C756361 below*/
vl_Error = dv10_04Identification(COMM_TIMEOUT, 0x4C756361, FALSE);
if (vl_Error)
{
printf("Error : %08X \n", vl_Error);
goto quit;
}
/*------------------------------*/
/* DRIVERS : put your code here */
/*
frank marked
//MMI software version check
vl_Error = dv96_02MainCustMMISoftVersion(2000,pp_cg_CustmerMMIVersion);
printf("version of mmi software is: %s\n",pp_cg_CustmerMMIVersion);
*/
//SIM card PIN check
vl_Error = SimCheck();
if(vl_Error)
{
//printf("Check of SIM card error!\n");
errorIndex=Check_SIM_Error;
goto quit;
}
else
{
//printf("Check of SIM card pass!\n");
InsertListItem(pnl,PNL_LISTBOX,-1,"Check of SIM card pass!","Check of SIM card pass!");
}
/*
frank marked
vl_Error = dva8_00ReadImeiParameterFromEeprom(5000,&pp);
if (vl_Error)
{
printf("Error : %08X \n", vl_Error);
goto quit;
}
frank marked
*/
if (!RW)
{
vl_Error = ReadPDFromFlash();
if(vl_Error)
{
errorIndex=Read_Process_Data_From_Flash_Error;
//printf("Read P/D from flash error!\n");
goto quit;
}
}
else
{
vl_Error = WritePDToFlash();
if(vl_Error)
{
errorIndex=Write_Process_Data_To_Flash_Error;
//printf("Write P/D to flash error!\n");
goto quit;
}
//printf("Operation successfully completed!\n");
}
//return 0;
quit:
/*------------------------------*/
dv96_39SwitchOff(2000);
if (errorIndex!=No_Error)
{
ErrorReport(errorIndex, errorInfo);
}
/* Quit SL */
//vl_Error = SL3_04CloseSL(atoi(argv[1]+strlen("COM")));
vl_Error = SL3_04CloseSL(2);
if (vl_Error)
{
errorIndex=Close_Serial_Link_Error;
ErrorReport(errorIndex, errorInfo);
exit(1);
}
/* Free the thread local storage area */
vl_Error = SL1_13TLSFree();
if (vl_Error)
{
errorIndex=Free_Thread_Local_Storage_Area_Error;
ErrorReport(errorIndex, errorInfo);
exit(1);
}
if (errorIndex!=No_Error)
{
ErrorReport(errorIndex, errorInfo);
return 1;
}
else
{
return 0;
}
}
//DWORD WINAPI TestMain(LPVOID lpParameter)
int TestMain()
{
//while(1)
{
int i,j;
int StatusRegister=0;
int status;
char SNbuffer[SN_SIZE+1];
char TestReport[STRINGLENGTH];
char strtime[5];
FILE *fRequest,*fResponse,*fResult;
int TestTime; //second
//int Testing;//bool, 0:idle;1:testing. for test time counting
struct TimeType SystemTime;
int MinuteStart,MinuteEnd,SecondStart,SecondEnd;
//char filename[STRINGLENGTH];
TestPassed=1;
//Testing=1;
TestTime=0;
SetCtrlVal (pnl, PNL_TESTTIME, "");
status = GetSystemTime (&SystemTime.hour,&SystemTime.minute,&SystemTime.second);
MinuteStart=SystemTime.minute;
SecondStart=SystemTime.second;
SetPanelAttribute (pnl, ATTR_BACKCOLOR, VAL_DEFAULT);
ResetTextBox (pnl, PNL_TEXTBOX_RESULT, "");
ProcessSystemEvents();
#ifndef NOT_INPUT_CHECK_SN
//get SN
status = PromptPopup ("SN", "Read SN", SNbuffer,SN_SIZE);
if (!strcmp(SNbuffer,SN_STOP_TEST))
{
GoOnTest=0;
return No_Error;
}
strcpy(GSM900TestData.SN,SNbuffer);
strcpy(PCN1800TestData.SN,GSM900TestData.SN);
SetCtrlVal (pnl, PNL_STRING_4, SNbuffer);
if(!strcmp(iniData.SFIS,"TRUE"))
{
//Check SN
if(!SFIS_WriteRequestFile())
{
InsertListItem(pnl,PNL_LISTBOX,-1,"Shop Floor Request Written","Shop Floor Request Written");
}
else
{
InsertListItem(pnl,PNL_LISTBOX,-1,"Write Shop Floor Request Error ","Write Shop Floor Request Error ");
return Write_Request_File_Error;
}
if(!SFIS_CheckResponseFile())
{
InsertListItem(pnl,PNL_LISTBOX,-1,"Shop Floor Response OK","Shop Floor Response OK");
}
else
{
InsertListItem(pnl,PNL_LISTBOX,-1,"Shop Floor Response Error","Shop Floor Response Error");
return Read_Response_File_Error;
}
}
#endif
#ifdef CHECK_PROCESS_DATA
SetCtrlVal (pnl, PNL_TEXTMSG, STR_TURN_ON_MS_TAT);
ProcessSystemEvents();
if(ReadWriteProcessData(0))
{//Check ProcessData Error
return Read_Process_Data_From_Flash_Error;
}
else
{//Check ProcessData Pass
InsertListItem(pnl,PNL_LISTBOX,-1,"Process Data Check Pass!","");
};
#endif
//Test WRITE_PROCESS_DATA
/*
#ifdef WRITE_PROCESS_DATA
if(ReadWriteProcessData(1))
{//Write ProcessData Error
return 1;
}
else
{//ProcessData Written
InsertListItem(pnl,PNL_LISTBOX,-1,"Process Data Written!","");
};
#endif
*/
/*
if(SimCheck())
{
InsertListItem(pnl,PNL_LISTBOX,-1,"SimCard OK","SimCard OK");
}
else
{
InsertListItem(pnl,PNL_LISTBOX,-1,"No SimCard","No SimCard");
errorCode=NO_SIM_CARD_Error;
ErrorReport(errorCode,ErrorString);
return 1;
}
*/
comport=COM1;
RS232Error=OpenComConfig (comport, "", BAUDRATE, 0, 8, 1, IO_QUEUE_SIZE, IO_QUEUE_SIZE);
SetCTSMode (comport, LWRS_HWHANDSHAKE_CTS_RTS);
FlushInQ (comport);
FlushOutQ(comport);
strcpy(buffer,"*cls\n");
bytewrite=ComWrt (comport, buffer, strlen(buffer));
//GSM900/GSM1800
// strcpy(buffer,"conf:syst gsm900,gsm1800\n");
strcpy(buffer,"conf:syst GSMPCN\n");
bytewrite=ComWrt (comport, buffer, strlen(buffer));
//Config to BCH+TCH Mode
strcpy(buffer,"CONF:GSM900:BS:CCH:ARFC 30\n");
bytewrite=ComWrt (comport, buffer, strlen(buffer));
InsertListItem(pnl,PNL_LISTBOX,-1,"CCH Channel 30","CCH Channel 30");
strcpy(buffer,"CONF:GSM900:BS:TCH:ARFC 62\n");
bytewrite=ComWrt (comport, buffer, strlen(buffer));
InsertListItem(pnl,PNL_LISTBOX,-1,"TCH Channel 62","TCH Channel 62");
//Antenna Parameters check
//CONFigure:<system>:PATTenuation:LEVel <RX>, <TX>
strcpy(buffer,"CONF:GSM900:PATT:LEV 9,8\n");
bytewrite=ComWrt (comport, buffer, strlen(buffer));
//InsertListItem(pnl,PNL_LISTBOX,-1,"","");
//Average Power(62,5)
strcpy(buffer,"conf:gsm:ms:tch:plev 5\n");
bytewrite=ComWrt (comport, buffer, strlen(buffer));
InsertListItem(pnl,PNL_LISTBOX,-1,"Power Level 5","Power Level 5");
/*
FlushInQ (comport);
Inqlength = GetInQLen (comport);
ComRd (comport, buffer, Inqlength);
sscanf(buffer,"%d",&StatusRegister);
*/
//Turn on the MS
SetCtrlVal (pnl, PNL_TEXTMSG, STR_TURN_ON_MS);
ProcessSystemEvents();
//Delay(MAX_POWERUP_TIME);
strcpy(buffer,"CALL:BSOR\n");
bytewrite=ComWrt (comport, buffer, strlen(buffer));
InsertListItem(pnl,PNL_LISTBOX,-1,"Calling...","Calling...");
ProcessSystemEvents();
/*
FlushInQ (comport);
strcpy(buffer,"STAT:OPER:SIGN?\n");
bytewrite=ComWrt (comport, buffer, strlen(buffer));
Delay(30);
Inqlength = GetInQLen (comport);
strcpy(buffer,"");
strcpy(buffer,"STAT:OPER:SIGN?\n");
ComRd (comport, buffer, Inqlength);
sscanf(buffer,"%d",&StatusRegister);
*/
for (i=0;i<MAX_CALLCONNECT_TIME/DELAY;i++)
{
FlushInQ (comport);
//FlushOutQ(comport);
strcpy(buffer,"STAT:OPER:SIGN?\n");
bytewrite=ComWrt (comport, buffer, strlen(buffer));
for (j=0;j<MAX_TIME_WAIT_REG/DELAY;j++)
{
Delay(DELAY);
Inqlength = GetInQLen (comport);
if(Inqlength==SIG_REG_SIZE)
{
ComRd (comport, buffer, Inqlength);
sscanf(buffer,"%d",&StatusRegister);
break;
}
}
if(StatusRegister==REG_CALL_ACTIVE)
{
InsertListItem(pnl,PNL_LISTBOX,-1,"Call Connected","Call Connected");
ProcessSystemEvents();
break;
}
}
/*
for (i=0;i<MAX_CALLCONNECT_TIME;i++)
{
FlushInQ (comport);
strcpy(buffer,"STAT:OPER:SIGN?\n");
bytewrite=ComWrt (comport, buffer, strlen(buffer));
Delay(DELAY);
Inqlength = GetInQLen (comport);
if(Inqlength!=0)
{
ComRd (comport, buffer, Inqlength);
sscanf(buffer,"%d",&StatusRegister);
if(StatusRegister==64)
{
break;
}
}
}
*/
FlushInQ (comport);
//Delay(MAX_CALLCONNECT_TIME);
//Average Power
SetCtrlVal (pnl, PNL_TEXTMSG, "GSM900 Testing...");
ProcessSystemEvents();
InsertListItem(pnl,PNL_LISTBOX,-1,"GSM900 Testing...","GSM900 Testing...");
strcpy(buffer,"MEAS:ARR:RFTR:GRO:ALL:MAV? 10\n");
bytewrite=ComWrt (comport, buffer, strlen(buffer));
FlushInQ (comport);
//FlushOutQ(comport);
strcpy(buffer,"");
for (i=0;i<IO_QUEUE_SIZE;i++)
{
buffer[i]='\0';
}
for(i=0;i<MAX_MEAS_TIME/DELAY;i++)
{
Delay(DELAY);
Inqlength = GetInQLen (comport);
if(Inqlength!=0&&Inqlength==TEST_DATA_SIZE)//if(Inqlength!=0)
{
//Delay(DELAY);
break;
}
}
ComRd (comport, buffer, Inqlength); //?
ResetTestData(&GSM900TestData);
ResetTestResult(&GSM900TestResult);
sscanf(buffer,"%e",&GSM900TestData.PeakPhaseErrorAvg);
for(i=0;i<MAX_IN_BUFFER_UPDATE_TIME;i++)
{
if(
(((GSM900TestData.PeakPhaseErrorAvg-64)<TOLERANCE)&&((GSM900TestData.PeakPhaseErrorAvg-64)>-TOLERANCE))
||(((GSM900TestData.PeakPhaseErrorAvg-0)<TOLERANCE)&&((GSM900TestData.PeakPhaseErrorAvg-0)>-TOLERANCE))
)
{
Delay(DELAY);
ComRd (comport, buffer, Inqlength); //?
sscanf(buffer,"%e",&GSM900TestData.PeakPhaseErrorAvg);
}
else
{
#ifdef DEBUG_TEST
sprintf(TestReport,"i=%d",i);
InsertListItem(pnl,PNL_LISTBOX,-1,TestReport,TestReport);
ProcessSystemEvents();
#endif
break;
}
#ifdef DEBUG_TEST
//sprintf(TestReport,"i=%d",i);
if (i==MAX_IN_BUFFER_UPDATE_TIME-1)
{
InsertListItem(pnl,PNL_LISTBOX,-1,"MAX_IN_BUFFER_UPDATE_TIME Expired","MAX_IN_BUFFER_UPDATE_TIME Expired");
ProcessSystemEvents();
}
#endif
}
sscanf(buffer,"%e,%e,%e,%e,%e",&GSM900TestData.PeakPhaseErrorAvg,
&GSM900TestData.RMSPhaseErrorAvg,
&GSM900TestData.FrequencyErrorAvg,
&GSM900TestData.BurstLengthAvg,
&GSM900TestData.PowerAvg);
FlushInQ (comport);
MeasResultEvaluate(&GSM900SpecData,&GSM900TestData,&GSM900TestResult);
sprintf(TestReport,"GSM900, Average Power: %f dbm; Spec Range: %d dbm ~ %d dbm; %s",
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -