Removed allow_config flag and obsolete request to OP.

This commit is contained in:
Florian Pose 2011-09-16 14:10:23 +02:00
parent e3ac1ec003
commit 4c0e5279e1
3 changed files with 17 additions and 28 deletions

View File

@ -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);
}

View File

@ -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;
}

View File

@ -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