master/master.c
changeset 1436 08eaf72409bb
parent 1434 4c6fe0ae37f1
child 1451 78fbafbf08ba
--- a/master/master.c	Mon May 04 12:10:11 2009 +0000
+++ b/master/master.c	Mon May 04 12:11:00 2009 +0000
@@ -130,6 +130,8 @@
     INIT_LIST_HEAD(&master->configs);
 
 	master->app_time = 0ULL;
+	master->app_start_time = 0ULL;
+	master->has_start_time = 0;
 
     master->scan_busy = 0;
     master->allow_scan = 1;
@@ -626,6 +628,8 @@
 #endif
 
     master->app_time = 0ULL;
+    master->app_start_time = 0ULL;
+    master->has_start_time = 0;
 
     if (ec_master_thread_start(master, ec_master_idle_thread,
                 "EtherCAT-IDLE"))
@@ -1748,6 +1752,11 @@
 void ecrt_master_application_time(ec_master_t *master, uint64_t app_time)
 {
     master->app_time = app_time;
+
+    if (unlikely(!master->has_start_time)) {
+        master->app_start_time = app_time;
+        master->has_start_time = 1;
+    }
 }
 
 /*****************************************************************************/