diff --git a/master/fsm.c b/master/fsm.c index 9f518e4993599be9eaad06915bfc60f1474dced8..3126915c510662fc6a86cf2409c7547af7b7755a 100644 --- a/master/fsm.c +++ b/master/fsm.c @@ -946,17 +946,10 @@ void ec_fsm_master_scan_slaves(ec_fsm_t *fsm /**< finite state machine */) ec_master_calc_addressing(master); - // determine initial states. + // set initial states of all slaves to PREOP to make mailbox + // communication possible list_for_each_entry(slave, &master->slaves, list) { - if (ec_slave_is_coupler(slave)) { - slave->requested_state = EC_SLAVE_STATE_OP; - } - else { - if (master->mode == EC_MASTER_MODE_OPERATION) - slave->requested_state = EC_SLAVE_STATE_PREOP; - else - slave->requested_state = EC_SLAVE_STATE_INIT; - } + slave->requested_state = EC_SLAVE_STATE_PREOP; } fsm->master_state = ec_fsm_master_start;