29static FILE* Mobilitylog = NULL;
31UINT DEVICE_ID_LIST[] = { 0 };
34static bool validate_log(NETSIM_ID nDevID)
36 int count =
sizeof(DEVICE_ID_LIST) /
sizeof(
int);
37 if (count == 1 && DEVICE_ID_LIST[0] == 0)
return true;
40 for (
int i = 0; i < count; i++)
42 if (DEVICE_ID_LIST[i] == DEVICE_CONFIGID(nDevID))
49void init_mobility_log()
51 if (get_protocol_log_status(
"MOBILITY_LOG"))
54 sprintf(s,
"%s\\%s", pszIOLogPath,
"Mobility_log.csv");
55 Mobilitylog = fopen(s,
"w");
58 fnSystemError(
"Unable to open %s file", s);
63 fprintf(Mobilitylog,
"%s,%s,%s,%s,%s,%s,",
64 "Time(ms)",
"Device Name",
"Device Id",
"Position X(m)",
"Position Y(m)",
"Position Z(m)");
67 fprintf(Mobilitylog,
"\n");
68 if (nDbgFlag) fflush(Mobilitylog);
72void close_mobility_logs()
77void log_mobility(MOVENODE mob_log)
79 if (Mobilitylog == NULL || !validate_log(mob_log.d))
84 fprintf(Mobilitylog,
"%lf,%s,%d,%lf,%lf,%lf,", mob_log.time / MILLISECOND, DEVICE_NAME(fn_NetSim_GetDeviceIdByConfigId(mob_log.d)),
85 mob_log.d, mob_log.x, mob_log.y, mob_log.z);
86 fprintf(Mobilitylog,
"\n");
88 if (nDbgFlag) fflush(Mobilitylog);
91bool get_protocol_log_status(
char* logname)
95 sprintf(str,
"%s/%s", pszIOPath,
"ProtocolLogsConfig.txt");
101 while (fgets(data, BUFSIZ, fp))
104 sprintf(str,
"%s=true", logname);
105 if (!strnicmp(data, str, strlen(str)))