# HG changeset patch
# User Florian Pose <fp@igh-essen.com>
# Date 1241622406 0
# Node ID 78fbafbf08babd64ae70e41f5ca0f7df377925c6
# Parent  117f5497efd95cb41418499dd9e0e5838a0765da
Always set DC reference clock to OP.

diff -r 117f5497efd9 -r 78fbafbf08ba TODO
--- a/TODO	Wed May 06 14:59:21 2009 +0000
+++ b/TODO	Wed May 06 15:06:46 2009 +0000
@@ -14,7 +14,6 @@
     - Check 32/64 bit operations.
     - Use vendor correction factors when calculating transmission delays.
     - Skip setting system time offset when application detached.
-    - Always set reference clock to OP.
     - Output DC configuration in 'ethercat config'.
     - How to set the SYNC1 shift time?
     - Do not output graph, if topology calculation failed.
diff -r 117f5497efd9 -r 78fbafbf08ba master/master.c
--- a/master/master.c	Wed May 06 14:59:21 2009 +0000
+++ b/master/master.c	Wed May 06 15:06:46 2009 +0000
@@ -555,6 +555,7 @@
             slave++) {
         ec_slave_request_state(slave, EC_SLAVE_STATE_PREOP);
     }
+
 #ifdef EC_EOE
     // ... but set EoE slaves to OP
     list_for_each_entry(eoe, &master->eoe_handlers, list) {
@@ -1548,6 +1549,11 @@
         domain_offset += domain->data_size;
     }
     
+    // always set DC reference clock to OP
+    if (master->dc_ref_clock) {
+        ec_slave_request_state(master->dc_ref_clock, EC_SLAVE_STATE_OP);
+    }
+
     up(&master->master_sem);
 
     // restart EoE process and master thread with new locking