📄 main.c
字号:
#define AN_C
#define _LABWIN32
#include "an.h"
#include "Windows.h"
#include "wtypes.h"
#include "Winnetwk.h"
#include <utility.h>
#include <ansi_c.h>
#include <rs232.h>
#include <cvirte.h> /* Needed if linking in external compiler; harmless otherwise */
#include <userint.h>
#include "interface.h"
//add for TAT SW interface
//#define ACCESS_RIGHTS_ALL
//#include "pccdef.h"
//#undef ACCESS_RIGHTS_ALL
#include "heeime.ho"
#include "dva8ime.hep"
//#include "dv04tool.hep"
#include "dvhfd1sct.hep"
#include "external.h"
//end
#include "def.h"
#include"ErrorReport.h"
#include "TimeFun.h"
#include "Network.h"
#define DEBUG_TEST
#define SF_SIMULATIVE_SERVER
//#define NOT_INPUT_CHECK_SN
//#define CHECK_PROCESS_DATA
//#define WRITE_PROCESS_DATA
#undef AN_C
static int pnl;
int RS232Error,bytewrite,Inqlength,comport;
//int BackColor;
char buffer[IO_QUEUE_SIZE];
struct IniData iniData;
struct IniKeyName iniKeyName;
struct SpecData GSM900SpecData,PCN1800SpecData;
struct TestData GSM900TestData,PCN1800TestData;
struct TestResult GSM900TestResult,PCN1800TestResult;
//struct TimeType SystemTime;
//struct DateType SystemDate;
struct CSVFileRecord csvFileRecord;
//enum ErrorCode errorCode;
enum ErrorIndex errorIndex = No_Error;
struct ErrorInfo errorInfo[MAX_ERROR_NUMBER];
int SFIS_errorNo;
int TestPassed;//0:FAIL;1:PASS
int GoOnTest;//0:NO;1:YES
t_hee_ImeiParam pp;
u8 pp_cg_CustmerMMIVersion[MMI_VERSION_ARRAY_WIDTH];
u8 string[16];
//char * ErrorString[ERROR_STRING_NUMBER];
int InitIniKey()
{
int i;
char tempstr[STRINGLENGTH];
strcpy(iniKeyName.SFIS,"SFIS");
strcpy(iniKeyName.SpecUpdate,"SpecUpdate");
strcpy(iniKeyName.SPECHostName,"SPECHostName");
strcpy(iniKeyName.SPECDirectory,"SPECDirectory");
strcpy(iniKeyName.HostName,"HostName");
strcpy(iniKeyName.RequestDir,"RequestDir");
strcpy(iniKeyName.ResponseDir,"ResponseDir");
strcpy(iniKeyName.ResultDir,"ResultDir");
strcpy(iniKeyName.Folderspe,"Folderspe");
strcpy(iniKeyName.UserName,"UserName");
strcpy(iniKeyName.Password,"Password");
strcpy(iniKeyName.Folder,"Folder");
strcpy(iniKeyName.RequestLogDrive,"RequestLogDrive");
strcpy(iniKeyName.ResponseLogDrive,"ResponseLogDrive");
strcpy(iniKeyName.ResultLogDir,"ResultLogDrive");
strcpy(iniKeyName.FolderLogDir,"FolderLogDir");
strcpy(iniKeyName.Station,"Station");
strcpy(iniKeyName.LineNo,"LineNo");
strcpy(iniKeyName.Employee,"Employee");
for(i=0;i<SFIS_ERROR_CODE_NUMBER;i++)
{
sprintf(tempstr,"ErrorCode%d",i+1);
strcpy(iniKeyName.SFIS_ErrorCode[i],tempstr);
}
return 0;
}
int ReadIniFile()
{
int i;
DWORD dNum;
dNum=GetPrivateProfileString(DEFAULT_SEC,
iniKeyName.SFIS,
"",iniData.SFIS,
STRINGLENGTH,INI_FILE_NAME);
if(dNum==0)
{
return Read_Ini_File_Error;
}
dNum=GetPrivateProfileString(DEFAULT_SEC,
iniKeyName.SpecUpdate,
"",iniData.SpecUpdate,
STRINGLENGTH,INI_FILE_NAME);
if(dNum==0)
{
return Read_Ini_File_Error;
}
dNum=GetPrivateProfileString(SPEC_SEC,
iniKeyName.SPECHostName,
"",iniData.SPECHostName,
STRINGLENGTH,INI_FILE_NAME);
if(dNum==0)
{
return Read_Ini_File_Error;
}
dNum=GetPrivateProfileString(SPEC_SEC,
iniKeyName.SPECDirectory,
"",iniData.SPECDirectory,
STRINGLENGTH,INI_FILE_NAME);
if(dNum==0)
{
return Read_Ini_File_Error;
}
dNum=GetPrivateProfileString(SERVER_SEC,
iniKeyName.HostName,
"",iniData.HostName,
STRINGLENGTH,INI_FILE_NAME);
if(dNum==0)
{
return Read_Ini_File_Error;
}
dNum=GetPrivateProfileString(SERVER_SEC,
iniKeyName.RequestDir,
"",iniData.RequestDir,
STRINGLENGTH,INI_FILE_NAME);
if(dNum==0)
{
return Read_Ini_File_Error;
}
dNum=GetPrivateProfileString(SERVER_SEC,
iniKeyName.ResponseDir,
"",iniData.ResponseDir,
STRINGLENGTH,INI_FILE_NAME);
if(dNum==0)
{
return Read_Ini_File_Error;
}
dNum=GetPrivateProfileString(SERVER_SEC,
iniKeyName.ResultDir,
"",iniData.ResultDir,
STRINGLENGTH,INI_FILE_NAME);
if(dNum==0)
{
return Read_Ini_File_Error;
}
/*
dNum=GetPrivateProfileString(SERVER_SEC,
iniKeyName.Folderspe,
"",iniData.Folderspe,
STRINGLENGTH,INI_FILE_NAME);
if(dNum==0)
{
return Read_Ini_File_Error;
}
*/
dNum=GetPrivateProfileString(SERVER_SEC,
iniKeyName.UserName,
"",iniData.UserName,
STRINGLENGTH,INI_FILE_NAME);
if(dNum==0)
{
//return Read_Ini_File_Error;
}
dNum=GetPrivateProfileString(SERVER_SEC,
iniKeyName.Password,
"",iniData.Password,
STRINGLENGTH,INI_FILE_NAME);
if(dNum==0)
{
//return Read_Ini_File_Error;
}
/*
dNum=GetPrivateProfileString(CLIENT_SEC,
iniKeyName.Folder,
"",iniData.Folder,
STRINGLENGTH,INI_FILE_NAME);
if(dNum==0)
{
return Read_Ini_File_Error;
}
*/
dNum=GetPrivateProfileString(CLIENT_SEC,
iniKeyName.RequestLogDrive,
"",iniData.RequestLogDrive,
STRINGLENGTH,INI_FILE_NAME);
if(dNum==0)
{
return Read_Ini_File_Error;
}
dNum=GetPrivateProfileString(CLIENT_SEC,
iniKeyName.ResponseLogDrive,
"",iniData.ResponseLogDrive,
STRINGLENGTH,INI_FILE_NAME);
if(dNum==0)
{
return Read_Ini_File_Error;
}
dNum=GetPrivateProfileString(CLIENT_SEC,
iniKeyName.ResultLogDir,
"",iniData.ResultLogDir,
STRINGLENGTH,INI_FILE_NAME);
if(dNum==0)
{
return Read_Ini_File_Error;
}
/*
dNum=GetPrivateProfileString(CLIENT_SEC,
iniKeyName.FolderLogDir,
"",iniData.FolderLogDir,
STRINGLENGTH,INI_FILE_NAME);
if(dNum==0)
{
return Read_Ini_File_Error;
}
*/
dNum=GetPrivateProfileString(CLIENT_SEC,
iniKeyName.Station,
"",iniData.Station,
STRINGLENGTH,INI_FILE_NAME);
if(dNum==0)
{
return Read_Ini_File_Error;
}
dNum=GetPrivateProfileString(CLIENT_SEC,
iniKeyName.LineNo,
"",iniData.LineNo,
STRINGLENGTH,INI_FILE_NAME);
if(dNum==0)
{
return Read_Ini_File_Error;
}
dNum=GetPrivateProfileString(CLIENT_SEC,
iniKeyName.Employee,
"",iniData.Employee,
STRINGLENGTH,INI_FILE_NAME);
/*
for(i=0;i<SFIS_ERROR_CODE_NUMBER;i++)
{
dNum=GetPrivateProfileString(CLIENT_SEC,
iniKeyName.SFIS_ErrorCode[i],
"",iniData.SFIS_ErrorCode[i],
STRINGLENGTH,INI_FILE_NAME);
}
*/
return No_Error;
}
int GetCSVFileName(char * filename)
{
char CSVfilename[STRINGLENGTH];
char temp[3];
char year[5];
//int status;
//status = GetSystemDate (&SystemDate.month, &SystemDate.day, &SystemDate.year);
strcpy (CSVfilename,".\\TestLog\\");
strcat (CSVfilename,STATION_NAME);
strcat(CSVfilename,"_");
/*
year[0]=SystemDate.year/1000+48;
year[1]=(SystemDate.year-(year[0]-48)*1000)/100+48;
year[2]=(SystemDate.year-(year[0]-48)*1000-(year[1]-48)*100)/10+48;
year[3]=(SystemDate.year-(year[0]-48)*1000-(year[1]-48)*100-(year[2]-48)*10)+48;
year[4]='\0';
*/
GetSystemYear(year);
strcat(CSVfilename,year);
strcat(CSVfilename,"-");
GetSystemMonth(temp);
strcat(CSVfilename,temp);
strcat(CSVfilename,"-");
GetSystemDay(temp);
strcat(CSVfilename,temp);
strcat(CSVfilename,".csv");
strcpy(filename,CSVfilename);
return 0;
}
int SFIS_WriteRequestFile()
{
FILE *fRequest;
char filename[STRINGLENGTH];
strcpy(filename,iniData.RequestLogDrive);
strcat(filename,"\\");
strcat(filename,GSM900TestData.SN);
strcat(filename,".txt");
fRequest=fopen( filename, "w" );
//Fileopen failed
if (fRequest==NULL)
{
return Write_Request_File_Error;
}
//Fileopen OK
else
{
fprintf(fRequest,"%s;%s;%s;",GSM900TestData.SN,iniData.LineNo,iniData.Station);
fclose(fRequest);
}
return 0;
}
int SFIS_CheckResponseFile()
{
int i,j;
FILE *fResponse;
char filename[STRINGLENGTH];
char buffer[STRINGLENGTH];
//char buffer2[STRINGLENGTH];
char PassFail[5];
char ErrorCode[STRINGLENGTH];
char ErrorDis[STRINGLENGTH];
char* index;
char ch;
strcpy(filename,iniData.ResponseLogDrive);
strcat(filename,"\\");
strcat(filename,GSM900TestData.SN);
strcat(filename,".SF");
//strcpy(buffer,"\0");
//strcpy(ErrorCode,"\0");
//strcpy(ErrorDis,"\0");
for(i=0;i<STRINGLENGTH;i++)
{
buffer[i]=0;
ErrorCode[i]=0;
ErrorDis[i]=0;
}
for (i=0;i<SFIF_TRY;i++)
{
Delay(SFIF_Delay);
fResponse=fopen( filename, "r" );
//Response File does not exist.
if (fResponse==NULL)
{
//continue;
}
//Fileopen OK
else
{
//fclose(fResponse);
break;
}
}//end for
if (fResponse==NULL)
{
//"Can not open Response File,please check the network or the SFIF server"
InsertListItem(pnl,PNL_LISTBOX,-1,"Can not open Response File!","Can not open Response File!");
return Read_Response_File_Error;
}
else
{
//Response file open OK.
//fscanf(fResponse,"%s",buffer);
for (i=0;i<STRINGLENGTH;i++)
{
ch=fgetc(fResponse);
if (ch==EOF)
break;
buffer[i]=ch;
}
index=strstr(buffer,";");
if (index!=NULL)
{
for(i=0;i<4;i++)
{
PassFail[i]=*(index+i+1);
}
PassFail[4]='\0';
if (!strcmp(PassFail,"PASS"))
{
//Pass
//return 0;
}
else
{
if (!strcmp(PassFail,"FAIL"))
{
strcpy(ErrorCode,"SFIF Response Error Code:");
i=0;
while(index[i+6]!=';')
{
ErrorCode[i+25]=index[i+6];
i++;
}
i++;
ErrorCode[i+25]='\0';
j=0;
while(index[i+6]!=';')
{
/*
if(index[i+6]==32)//' '
{
ErrorDis[j]=index[i+6];
}
*/
ErrorDis[j]=index[i+6];
i++;
j++;
}
j++;
ErrorDis[j]='\0';
//FAIL
ConfirmPopup (ErrorCode, ErrorDis);
fclose(fResponse);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -