int main(
int argc,
char * argv[])
{
int rc, i;
char szFileName[80] = "/etc/RTU/config.rtu";
int profile = 0;
int ftpEnable = 1;
double minTime = 5;
double timer = 0;
time_t time1, time2;
double diffSec;
while(-1 != (rc = getopt(argc, argv, "hp:u:t:")))
{
switch(rc)
{
case 'p':
profile = atoi(optarg);
if(profile < 0)
{
printf("Error parameter: profile: %d\n", profile);
return -1;
}
break;
case 'u':
ftpEnable = atoi(optarg);
if(ftpEnable < 0 || ftpEnable > 1)
{
printf("Error parameter: FTP Enable: %d\n", ftpEnable);
return -1;
}
break;
case 't':
minTime = atof(optarg);
if(minTime <= 0)
{
printf("Error parameter: Time: %d\n", minTime);
return -1;
}
break;
case '?':
case 'h':
default:
printf("%s.\n\n", "Data Logging TAG program");
printf("Usage: ./ioPAC5542-HSPA_data_logging_service_interval [OPTIONS]\n\n");
printf("Options:\n");
printf("\t%-8s Profile of Data Logging. Default Profile = %d\n",
"-p", 0);
printf("\t%-8s Enable FTP upload mode. Default Enable = %d [Setting Disable: %d]\n",
"-u", 1 , 0);
printf("\t%-8s Data Logging Time in min(s). Default Time = %d\n",
"-t", 5);
printf("\n");
return;
}
}
printf("%-25s: %d\n", "Profile", profile);
printf("%-25s: %d\n", "FTP Enable", ftpEnable);
printf("%-25s: %lf\n", "Logging Time (mins)", minTime);
sprintf(dataLog[0], "Service_Datalog_Status");
sprintf(dataLog[1], "Service_Datalog_StartStop_%d", profile);
sprintf(dataLog[2], "Service_Datalog_Status_%d", profile);
sprintf(dataLog[3], "Service_Datalog_Trigger_%d", profile);
sprintf(dataLog[4], "Datalog_FTPUpload_Trigger_%d", profile);
sprintf(dataLog[5], "Datalog_Storage_Usage_%d", profile);
{
printf("MX_RTU_Tag_Init(), return code = %d.\n", retval);
return 0;
}
while(1)
{
{
printf("MX_RTU_Tag_Read(%s) = %d\n", dataLog[0], retval);
}
{
printf("Data Logging Service Init Success.\n");
break;
}
{
printf("Data Logging Service Init fail.\n");
return 0;
}
{
printf("Data Logging Service Initing.\n");
sleep(5);
}
}
time(&time1);
{
printf("MX_RTU_Tag_Get_Info(%s), return code = %d.\n", dataLog[1], retval);
return 0;
}
{
printf("MX_RTU_Tag_Write(%s), return code = %d\r\n", dataLog[1], retval);
return 0;
}
{
printf("MX_RTU_Tag_Get_Info(%s), return code = %d.\n", dataLog[4], retval);
return 0;
}
if(ftpEnable == 1)
{
{
printf("MX_RTU_Tag_Write(%s), return code = %d\r\n", dataLog[4], retval);
return 0;
}
}
else
{
{
printf("MX_RTU_Tag_Write(%s), return code = %d\r\n", dataLog[4], retval);
return 0;
}
}
while(1)
{
time(&time2);
diffSec = difftime(time2, time1);
if(diffSec == minTime * 60)
{
break;
}
fflush(0);
{
printf("MX_RTU_Tag_Read(%s), return code = %d\r\n", dataLog[2], retval);
return 0;
}
{
printf("\rService success");
}
{
printf("Service fail\n");
return 0;
}
{
printf("\rService running");
sleep(1);
}
}
{
printf("MX_RTU_Tag_Read(%s), return code = %d\r\n", dataLog[5], retval);
return 0;
}
printf("\rDatalog Storage Usage: %d%\n", u32Val);
{
printf("MX_RTU_Tag_Get_Info(%s), return code = %d.\n", dataLog[4], retval);
return 0;
}
{
printf("MX_RTU_Tag_Write(%s), return code = %d\r\n", dataLog[4], retval);
return 0;
}
{
printf("MX_RTU_Tag_Get_Info(%s), return code = %d.\n", dataLog[1], retval);
return 0;
}
{
printf("MX_RTU_Tag_Write(%s), return code = %d\r\n", dataLog[1], retval);
return 0;
}
{
printf("MX_RTU_Tag_Uninit(), return code = %d\n", retval);
}
return 0;
}