From 4874ad087c31c67b1ae0d1b8d6c9b039d9bbd91e Mon Sep 17 00:00:00 2001 From: Florian Pose Date: Fri, 9 Dec 2011 10:35:23 +0100 Subject: [PATCH] Improved resetting number of responding slaves. --- master/fsm_master.c | 2 ++ master/master.c | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/master/fsm_master.c b/master/fsm_master.c index f672a1dc..5c974bb2 100644 --- a/master/fsm_master.c +++ b/master/fsm_master.c @@ -219,6 +219,8 @@ void ec_fsm_master_state_broadcast( ec_master_clear_slaves(master); fsm->slave_states = 0x00; + fsm->slaves_responding = 0; /* reset to trigger rescan on next link + up. */ } fsm->link_state = master->main_device.link_state; diff --git a/master/master.c b/master/master.c index 72eac5d6..51f22e8b 100644 --- a/master/master.c +++ b/master/master.c @@ -539,6 +539,10 @@ int ec_master_enter_idle_phase( master->fsm_queue_locking_data = NULL; master->phase = EC_IDLE; + + // reset number of responding slaves to trigger scanning + master->fsm.slaves_responding = 0; + ret = ec_master_thread_start(master, ec_master_idle_thread, "EtherCAT-IDLE"); if (ret)