summaryrefslogtreecommitdiff
path: root/src/daemon/dlt-daemon.c
diff options
context:
space:
mode:
authorAlexander Wenzel <Alexander.AW.Wenzel@bmw.de>2013-12-09 13:52:31 +0100
committerAlexander Wenzel <Alexander.AW.Wenzel@bmw.de>2014-01-10 07:16:04 +0100
commitbff03e36c4ef0fe7f49403bbbcb49d48493293b7 (patch)
tree33685b60ed90d0830b9708af97394e2ecb0e3686 /src/daemon/dlt-daemon.c
parent302499439d5cdfab0ed7a2bf850e644eb98874df (diff)
downloadDLT-daemon-bff03e36c4ef0fe7f49403bbbcb49d48493293b7.tar.gz
Added new control message timezone.
Signed-off-by: Alexander Wenzel <Alexander.AW.Wenzel@bmw.de>
Diffstat (limited to 'src/daemon/dlt-daemon.c')
-rw-r--r--src/daemon/dlt-daemon.c23
1 files changed, 20 insertions, 3 deletions
diff --git a/src/daemon/dlt-daemon.c b/src/daemon/dlt-daemon.c
index 00ac525..78d232f 100644
--- a/src/daemon/dlt-daemon.c
+++ b/src/daemon/dlt-daemon.c
@@ -209,6 +209,7 @@ int option_file_parser(DltDaemonLocal *daemon_local)
daemon_local->timeoutOnSend = 4;
daemon_local->flags.sendECUSoftwareVersion = 0;
memset(daemon_local->flags.pathToECUSoftwareVersion, 0, sizeof(daemon_local->flags.pathToECUSoftwareVersion));
+ daemon_local->flags.sendTimezone = 0;
/* open configuration file */
if(daemon_local->flags.cvalue[0])
@@ -365,7 +366,11 @@ int option_file_parser(DltDaemonLocal *daemon_local)
strncpy(daemon_local->flags.pathToECUSoftwareVersion,value,sizeof(daemon_local->flags.pathToECUSoftwareVersion) - 1);
//printf("Option: %s=%s\n",token,value);
}
-
+ else if(strcmp(token,"SendTimezone")==0)
+ {
+ daemon_local->flags.sendTimezone = atoi(value);
+ //printf("Option: %s=%s\n",token,value);
+ }
else
{
fprintf(stderr, "Unknown option: %s=%s\n",token,value);
@@ -471,7 +476,7 @@ int main(int argc, char* argv[])
create_timer_fd(&daemon_local, 1, 1, &daemon_local.timer_timingpacket, "Timing packet");
// create fd for timer ecu version
- if(daemon_local.flags.sendECUSoftwareVersion > 0)
+ if(daemon_local.flags.sendECUSoftwareVersion > 0 || daemon_local.flags.sendTimezone > 0)
{
//dlt_daemon_init_ecuversion(&daemon_local);
create_timer_fd(&daemon_local, 60, 60, &daemon_local.timer_ecuversion, "ECU version");
@@ -2751,6 +2756,7 @@ void dlt_daemon_send_timingpacket(DltDaemon *daemon, DltDaemonLocal *daemon_loca
{
dlt_log(LOG_DEBUG, "timingpacket\n");
dlt_daemon_control_message_time(j, daemon, daemon_local->flags.vflag);
+
}
}
}
@@ -2774,7 +2780,17 @@ void dlt_daemon_send_ecuversion(DltDaemon *daemon, DltDaemonLocal *daemon_local)
&& (j!=daemon_local->timer_timingpacket) && (j!=daemon_local->timer_ecuversion))
{
dlt_log(LOG_DEBUG, "ecu_version\n");
- dlt_daemon_control_get_software_version(j, daemon, daemon_local->flags.vflag);
+ if(daemon_local->flags.sendECUSoftwareVersion > 0)
+ dlt_daemon_control_get_software_version(j, daemon, daemon_local->flags.vflag);
+
+ if(daemon_local->flags.sendTimezone > 0)
+ {
+ // send timezone information
+ time_t t = time(NULL);
+ struct tm lt = {0};
+ localtime_r(&t, &lt);
+ dlt_daemon_control_message_timezone(j,daemon,(int32_t) lt.tm_gmtoff,(uint8_t) lt.tm_isdst,daemon_local->flags.vflag);
+ }
}
}
}
@@ -2806,6 +2822,7 @@ int dlt_daemon_close_socket(int sock, DltDaemon *daemon, DltDaemonLocal *daemon_
dlt_daemon_control_message_connection_info(DLT_DAEMON_STORE_TO_BUFFER,daemon,DLT_CONNECTION_STATUS_DISCONNECTED,"",verbose);
}
+
/**
\}
*/