diff -r 8b358effa78b -r 4cf0161c445a master/fsm_slave_config.c --- a/master/fsm_slave_config.c Mon Mar 14 11:20:05 2011 +0100 +++ b/master/fsm_slave_config.c Mon Mar 14 16:57:47 2011 +0100 @@ -177,8 +177,8 @@ ec_fsm_slave_config_t *fsm /**< slave state machine */ ) { - if (fsm->datagram->state == EC_DATAGRAM_SENT - || fsm->datagram->state == EC_DATAGRAM_QUEUED) { + if (fsm->datagram->state == EC_DATAGRAM_QUEUED + || fsm->datagram->state == EC_DATAGRAM_SENT) { // datagram was not sent or received yet. return ec_fsm_slave_config_running(fsm); } @@ -738,8 +738,7 @@ ec_soe_request_write(&fsm->soe_request_copy); ec_fsm_soe_transfer(fsm_soe, fsm->slave, &fsm->soe_request_copy); ec_fsm_soe_exec(fsm_soe); // execute immediately - ec_master_queue_request_fsm_datagram(slave->master, - fsm_soe->datagram); + ec_slave_mbox_queue_datagrams(slave, fsm_soe->mbox); return; } } @@ -760,7 +759,7 @@ ec_fsm_soe_t *fsm_soe = &slave->fsm.fsm_soe; if (ec_fsm_soe_exec(fsm_soe)) { - ec_master_queue_request_fsm_datagram(slave->master, fsm_soe->datagram); + ec_slave_mbox_queue_datagrams(slave, fsm_soe->mbox); return; } @@ -785,8 +784,7 @@ ec_soe_request_write(&fsm->soe_request_copy); ec_fsm_soe_transfer(fsm_soe, fsm->slave, &fsm->soe_request_copy); ec_fsm_soe_exec(fsm_soe); // execute immediately - ec_master_queue_request_fsm_datagram(slave->master, - fsm_soe->datagram); + ec_slave_mbox_queue_datagrams(slave, fsm_soe->mbox); return; } } @@ -1454,8 +1452,7 @@ ec_soe_request_write(&fsm->soe_request_copy); ec_fsm_soe_transfer(fsm_soe, fsm->slave, &fsm->soe_request_copy); ec_fsm_soe_exec(fsm_soe); // execute immediately - ec_master_queue_request_fsm_datagram(slave->master, - fsm_soe->datagram); + ec_slave_mbox_queue_datagrams(slave, fsm_soe->mbox); return; } } @@ -1476,7 +1473,7 @@ ec_fsm_soe_t *fsm_soe = &slave->fsm.fsm_soe; if (ec_fsm_soe_exec(fsm_soe)) { - ec_master_queue_request_fsm_datagram(slave->master, fsm_soe->datagram); + ec_slave_mbox_queue_datagrams(slave, fsm_soe->mbox); return; } @@ -1501,8 +1498,7 @@ ec_soe_request_write(&fsm->soe_request_copy); ec_fsm_soe_transfer(fsm_soe, fsm->slave, &fsm->soe_request_copy); ec_fsm_soe_exec(fsm_soe); // execute immediately - ec_master_queue_request_fsm_datagram(slave->master, - fsm_soe->datagram); + ec_slave_mbox_queue_datagrams(slave, fsm_soe->mbox); return; } }