diff -r 505cf41488a4 -r 9cdd7669dc0b master/fsm_slave_config.c --- a/master/fsm_slave_config.c Thu Jan 10 12:34:58 2013 +0100 +++ b/master/fsm_slave_config.c Thu Jan 10 17:36:41 2013 +0100 @@ -679,7 +679,7 @@ ec_sdo_request_copy(&fsm->request_copy, fsm->request); ecrt_sdo_request_write(&fsm->request_copy); ec_fsm_coe_transfer(fsm->fsm_coe, fsm->slave, &fsm->request_copy); - ec_fsm_coe_exec(fsm->fsm_coe); // execute immediately + ec_fsm_coe_exec(fsm->fsm_coe, fsm->datagram); // execute immediately } /*****************************************************************************/ @@ -690,7 +690,7 @@ ec_fsm_slave_config_t *fsm /**< slave state machine */ ) { - if (ec_fsm_coe_exec(fsm->fsm_coe)) { + if (ec_fsm_coe_exec(fsm->fsm_coe, fsm->datagram)) { return; } @@ -713,7 +713,7 @@ ec_sdo_request_copy(&fsm->request_copy, fsm->request); ecrt_sdo_request_write(&fsm->request_copy); ec_fsm_coe_transfer(fsm->fsm_coe, fsm->slave, &fsm->request_copy); - ec_fsm_coe_exec(fsm->fsm_coe); // execute immediately + ec_fsm_coe_exec(fsm->fsm_coe, fsm->datagram); // execute immediately return; } @@ -746,7 +746,7 @@ ec_soe_request_write(&fsm->soe_request_copy); ec_fsm_soe_transfer(fsm->fsm_soe, fsm->slave, &fsm->soe_request_copy); - ec_fsm_soe_exec(fsm->fsm_soe); // execute immediately + ec_fsm_soe_exec(fsm->fsm_soe, fsm->datagram); return; } } @@ -765,7 +765,7 @@ { ec_slave_t *slave = fsm->slave; - if (ec_fsm_soe_exec(fsm->fsm_soe)) { + if (ec_fsm_soe_exec(fsm->fsm_soe, fsm->datagram)) { return; } @@ -790,7 +790,7 @@ ec_soe_request_write(&fsm->soe_request_copy); ec_fsm_soe_transfer(fsm->fsm_soe, fsm->slave, &fsm->soe_request_copy); - ec_fsm_soe_exec(fsm->fsm_soe); // execute immediately + ec_fsm_soe_exec(fsm->fsm_soe, fsm->datagram); return; } } @@ -823,8 +823,9 @@ { // TODO check for config here - if (ec_fsm_pdo_exec(fsm->fsm_pdo)) - return; + if (ec_fsm_pdo_exec(fsm->fsm_pdo, fsm->datagram)) { + return; + } if (!fsm->slave->config) { // config removed in the meantime ec_fsm_slave_config_reconfigure(fsm); @@ -1470,7 +1471,7 @@ ec_soe_request_write(&fsm->soe_request_copy); ec_fsm_soe_transfer(fsm->fsm_soe, fsm->slave, &fsm->soe_request_copy); - ec_fsm_soe_exec(fsm->fsm_soe); // execute immediately + ec_fsm_soe_exec(fsm->fsm_soe, fsm->datagram); return; } } @@ -1489,7 +1490,7 @@ { ec_slave_t *slave = fsm->slave; - if (ec_fsm_soe_exec(fsm->fsm_soe)) { + if (ec_fsm_soe_exec(fsm->fsm_soe, fsm->datagram)) { return; } @@ -1514,7 +1515,7 @@ ec_soe_request_write(&fsm->soe_request_copy); ec_fsm_soe_transfer(fsm->fsm_soe, fsm->slave, &fsm->soe_request_copy); - ec_fsm_soe_exec(fsm->fsm_soe); // execute immediately + ec_fsm_soe_exec(fsm->fsm_soe, fsm->datagram); return; } }