⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 这是用Labwindows开发的一个RF test程序。 用于日本机种的组装后ANT 测试。
💻 C
📖 第 1 页 / 共 4 页
字号:
#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 + -