diff --git a/master/master.c b/master/master.c index 5ffe60f29ed5f689894fdd156bceaeba415f3979..f9a4ddea2d842ae35adc298d6f63676cd0f6da02 100644 --- a/master/master.c +++ b/master/master.c @@ -325,6 +325,9 @@ void ec_master_thread_stop(ec_master_t *master /**< EtherCAT master */) return; } + if (master->debug_level) + EC_DBG("Stopping master thread.\n"); + kill_proc(master->thread_id, SIGTERM, 1); wait_for_completion(&master->thread_exit); EC_INFO("Master thread exited.\n"); @@ -347,6 +350,9 @@ int ec_master_enter_idle_mode(ec_master_t *master /**< EtherCAT master */) master->release_cb = ec_master_release_cb; master->cb_data = master; + if (master->debug_level) + EC_DBG("ORPHANED -> IDLE.\n"); + master->mode = EC_MASTER_MODE_IDLE; if (ec_master_thread_start(master, ec_master_idle_thread)) { master->mode = EC_MASTER_MODE_ORPHANED; @@ -362,6 +368,9 @@ int ec_master_enter_idle_mode(ec_master_t *master /**< EtherCAT master */) */ void ec_master_leave_idle_mode(ec_master_t *master /**< EtherCAT master */) { + if (master->debug_level) + EC_DBG("IDLE -> ORPHANED.\n"); + master->mode = EC_MASTER_MODE_ORPHANED; #ifdef EC_EOE @@ -382,6 +391,9 @@ int ec_master_enter_operation_mode(ec_master_t *master /**< EtherCAT master */) ec_eoe_t *eoe; #endif + if (master->debug_level) + EC_DBG("IDLE -> OPERATION.\n"); + down(&master->config_sem); master->allow_config = 0; // temporarily disable slave configuration if (master->config_busy) { @@ -458,6 +470,9 @@ void ec_master_leave_operation_mode(ec_master_t *master ec_eoe_t *eoe; #endif + if (master->debug_level) + EC_DBG("OPERATION -> IDLE.\n"); + master->mode = EC_MASTER_MODE_IDLE; #ifdef EC_EOE