master/fsm_pdo_assign.c
changeset 890 1115793a76ed
parent 879 9b395c5646ab
child 1050 c6afe1cbfaf7
--- a/master/fsm_pdo_assign.c	Mon Apr 07 15:12:43 2008 +0000
+++ b/master/fsm_pdo_assign.c	Mon Apr 07 15:47:22 2008 +0000
@@ -152,6 +152,7 @@
     }
 
     fsm->dir = (ec_direction_t) -1; // next is EC_DIR_OUTPUT
+    fsm->num_configured_dirs = 0;
     ec_fsm_pdo_assign_next_dir(fsm);
 }
 
@@ -191,6 +192,8 @@
             return;
         }
 
+        fsm->num_configured_dirs++;
+
         if (fsm->slave->master->debug_level) {
             EC_DBG("Changing Pdo assignment for SM%u of slave %u.\n",
                     fsm->sync->index, fsm->slave->ring_position);
@@ -215,9 +218,9 @@
         return;
     }
 
-    if (fsm->slave->master->debug_level)
-        EC_DBG("Pdo assignment finished for slave %u.\n",
-                fsm->slave->ring_position);
+    if (fsm->slave->master->debug_level && !fsm->num_configured_dirs)
+        EC_DBG("Pdo assignments of slave %u are already configured"
+                " correctly.\n", fsm->slave->ring_position);
     fsm->state = ec_fsm_pdo_assign_state_end;
 }
 
@@ -348,8 +351,8 @@
     }
 
     if (fsm->slave->master->debug_level)
-        EC_DBG("Successfully set Pdo assignment for SM%u of slave %u.\n",
-                fsm->sync->index, fsm->slave->ring_position);
+        EC_DBG("Successfully configured Pdo assignment for SM%u of"
+                " slave %u.\n", fsm->sync->index, fsm->slave->ring_position);
 
     // assignment for this direction finished
     ec_fsm_pdo_assign_next_dir(fsm);