From 4c0e5279e1df3671ff2bf44c91cb369555117dfe Mon Sep 17 00:00:00 2001 From: Florian Pose Date: Fri, 16 Sep 2011 14:10:23 +0200 Subject: [PATCH] Removed allow_config flag and obsolete request to OP. --- master/fsm_master.c | 37 +++++++++++++++++-------------------- master/master.c | 6 ------ master/master.h | 2 -- 3 files changed, 17 insertions(+), 28 deletions(-) diff --git a/master/fsm_master.c b/master/fsm_master.c index 75cefafb..d8f2ae15 100644 --- a/master/fsm_master.c +++ b/master/fsm_master.c @@ -586,28 +586,24 @@ void ec_fsm_master_action_configure( // Start slave configuration, if it is allowed. ec_mutex_lock(&master->config_mutex); - if (!master->allow_config) { - ec_mutex_unlock(&master->config_mutex); - } else { - master->config_busy = 1; - ec_mutex_unlock(&master->config_mutex); + master->config_busy = 1; + ec_mutex_unlock(&master->config_mutex); - if (master->debug_level) { - char old_state[EC_STATE_STRING_SIZE], - new_state[EC_STATE_STRING_SIZE]; - ec_state_string(slave->current_state, old_state, 0); - ec_state_string(slave->requested_state, new_state, 0); - EC_SLAVE_DBG(slave, 1, "Changing state from %s to %s%s.\n", - old_state, new_state, - slave->force_config ? " (forced)" : ""); - } - - fsm->idle = 0; - fsm->state = ec_fsm_master_state_configure_slave; - ec_fsm_slave_config_start(&fsm->fsm_slave_config, slave); - fsm->state(fsm); // execute immediately - return; + if (master->debug_level) { + char old_state[EC_STATE_STRING_SIZE], + new_state[EC_STATE_STRING_SIZE]; + ec_state_string(slave->current_state, old_state, 0); + ec_state_string(slave->requested_state, new_state, 0); + EC_SLAVE_DBG(slave, 1, "Changing state from %s to %s%s.\n", + old_state, new_state, + slave->force_config ? " (forced)" : ""); } + + fsm->idle = 0; + fsm->state = ec_fsm_master_state_configure_slave; + ec_fsm_slave_config_start(&fsm->fsm_slave_config, slave); + fsm->state(fsm); // execute immediately + return; } // slave has error flag set; process next one @@ -895,6 +891,7 @@ void ec_fsm_master_enter_write_system_times( } } + // scanning and setting system times complete ec_master_request_op(master); ec_fsm_master_restart(fsm); } diff --git a/master/master.c b/master/master.c index a2fb5233..ae3f9386 100644 --- a/master/master.c +++ b/master/master.c @@ -161,12 +161,10 @@ int ec_master_init(ec_master_t *master, /**< EtherCAT master */ master->has_app_time = 0; master->scan_busy = 0; - master->allow_scan = 1; ec_mutex_init(&master->scan_mutex); init_waitqueue_head(&master->scan_queue); master->config_busy = 0; - master->allow_config = 1; ec_mutex_init(&master->config_mutex); init_waitqueue_head(&master->config_queue); @@ -583,7 +581,6 @@ int ec_master_enter_operation_phase( EC_MASTER_DBG(master, 1, "IDLE -> OPERATION.\n"); ec_mutex_lock(&master->config_mutex); - master->allow_config = 0; // temporarily disable slave configuration if (master->config_busy) { ec_mutex_unlock(&master->config_mutex); @@ -644,7 +641,6 @@ int ec_master_enter_operation_phase( out_allow: master->allow_scan = 1; - master->allow_config = 1; return ret; } @@ -2034,7 +2030,6 @@ int ecrt_master_activate(ec_master_t *master) return ret; } - master->allow_config = 1; // request the current configuration master->allow_scan = 1; // allow re-scanning on topology change master->active = 1; @@ -2107,7 +2102,6 @@ void ecrt_master_deactivate(ec_master_t *master) EC_MASTER_WARN(master, "Failed to restart master thread!\n"); master->allow_scan = 1; - master->allow_config = 1; master->active = 0; } diff --git a/master/master.h b/master/master.h index 322903f4..5e1f3f46 100644 --- a/master/master.h +++ b/master/master.h @@ -232,8 +232,6 @@ struct ec_master { slave scanning. */ unsigned int config_busy; /**< State of slave configuration. */ - unsigned int allow_config; /**< \a True, if slave configuration is - allowed. */ struct ec_mutex_t config_mutex; /**< Mutex protecting the \a config_busy variable and the allow_config flag. */ wait_queue_head_t config_queue; /**< Queue for processes that wait for