# HG changeset patch # User Florian Pose # Date 1213787790 0 # Node ID ae175095f09af060392db08ef7fcbb9b579cb79e # Parent fef0b1953770db87e9383175615157b549ae1aea Output attachment failure messages only when debugging. diff -r fef0b1953770 -r ae175095f09a TODO --- a/TODO Wed Jun 18 11:15:36 2008 +0000 +++ b/TODO Wed Jun 18 11:16:30 2008 +0000 @@ -10,8 +10,6 @@ * Remove get_cycles() calls and references to cpu_khz to increase portability. -* Make ecrt_master_slave_config() return no error when slave is not present - or invalid. * Make scanning and configuration run parallel (each). * Adapt remaining examples. * READMEs for examples. diff -r fef0b1953770 -r ae175095f09a master/slave_config.c --- a/master/slave_config.c Wed Jun 18 11:15:36 2008 +0000 +++ b/master/slave_config.c Wed Jun 18 11:16:30 2008 +0000 @@ -174,37 +174,39 @@ if (!(slave = ec_master_find_slave( sc->master, sc->alias, sc->position))) { - EC_WARN("Failed to find slave for configuration %u:%u.\n", - sc->alias, sc->position); + if (sc->master->debug_level) + EC_DBG("Failed to find slave for configuration %u:%u.\n", + sc->alias, sc->position); return -1; } if (slave->config) { - EC_ERR("Failed to attach slave configuration %u:%u. Slave %u" - " already has a configuration!\n", sc->alias, - sc->position, slave->ring_position); - return -2; - } - if (slave->sii.vendor_id != sc->vendor_id - || slave->sii.product_code != sc->product_code) { - EC_ERR("Slave %u has an invalid type (0x%08X/0x%08X) for" - " configuration %u:%u (0x%08X/0x%08X).\n", - slave->ring_position, slave->sii.vendor_id, - slave->sii.product_code, sc->alias, sc->position, - sc->vendor_id, sc->product_code); - return -3; + if (sc->master->debug_level) + EC_DBG("Failed to attach slave configuration %u:%u. Slave %u" + " already has a configuration!\n", sc->alias, + sc->position, slave->ring_position); + return -2; + } + if (slave->sii.vendor_id != sc->vendor_id + || slave->sii.product_code != sc->product_code) { + if (sc->master->debug_level) + EC_DBG("Slave %u has an invalid type (0x%08X/0x%08X) for" + " configuration %u:%u (0x%08X/0x%08X).\n", + slave->ring_position, slave->sii.vendor_id, + slave->sii.product_code, sc->alias, sc->position, + sc->vendor_id, sc->product_code); + return -3; } // attach slave slave->config = sc; sc->slave = slave; + ec_slave_request_state(slave, EC_SLAVE_STATE_OP); if (sc->master->debug_level) EC_DBG("Attached slave %u to config %u:%u.\n", slave->ring_position, sc->alias, sc->position); - ec_slave_request_state(slave, EC_SLAVE_STATE_OP); - return 0; } @@ -259,14 +261,16 @@ " config %u:%u.\n", pdo->index, sc->alias, sc->position); if (!sc->slave) { - EC_WARN("Failed to load default Pdo configuration for %u:%u:" - " Slave not found.\n", sc->alias, sc->position); + if (sc->master->debug_level) + EC_DBG("Failed to load default Pdo configuration for %u:%u:" + " Slave not found.\n", sc->alias, sc->position); return; } if (!(sync = ec_slave_get_pdo_sync(sc->slave, pdo->dir))) { - EC_WARN("Slave %u does not provide a default Pdo" - " configuration!\n", sc->slave->ring_position); + if (sc->master->debug_level) + EC_DBG("Slave %u does not provide a default Pdo" + " configuration!\n", sc->slave->ring_position); return; }