From af2c4efc0e3ae6b7e0a199e82da6b16556b2981c Mon Sep 17 00:00:00 2001 From: Florian Pose Date: Wed, 18 Jun 2008 09:27:04 +0000 Subject: [PATCH] Set slave_states to 0x00 when no slaves are present. --- master/fsm_master.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/master/fsm_master.c b/master/fsm_master.c index 2b73cdfc..582a6c5e 100644 --- a/master/fsm_master.c +++ b/master/fsm_master.c @@ -202,12 +202,16 @@ void ec_fsm_master_state_broadcast( return; } - // slave states changed? - if (EC_READ_U8(datagram->data) != fsm->slave_states) { - char states[EC_STATE_STRING_SIZE]; - fsm->slave_states = EC_READ_U8(datagram->data); - ec_state_string(fsm->slave_states, states); - EC_INFO("Slave states: %s.\n", states); + if (fsm->slaves_responding) { + uint8_t states = EC_READ_U8(datagram->data); + if (states != fsm->slave_states) { // slave states changed? + char state_str[EC_STATE_STRING_SIZE]; + fsm->slave_states = states; + ec_state_string(fsm->slave_states, state_str); + EC_INFO("Slave states: %s.\n", state_str); + } + } else { + fsm->slave_states = 0x00; } if (fsm->topology_change_pending) {