diff -r d83d92e1a919 -r ded9519c8d6e master/canopen.c --- a/master/canopen.c Tue Feb 26 13:20:32 2008 +0000 +++ b/master/canopen.c Tue Feb 26 16:58:20 2008 +0000 @@ -416,7 +416,8 @@ off_t off = 0; ec_sdo_request_t request; - ec_sdo_request_init_read(&request, entry); + ec_sdo_request_init_read(&request, entry->sdo->slave, + entry->sdo->index, entry->subindex); // schedule request. down(&master->sdo_sem); @@ -479,11 +480,16 @@ Sdo request constructor. */ -void ec_sdo_request_init_read(ec_sdo_request_t *req, /**< Sdo request */ - ec_sdo_entry_t *entry /**< Sdo entry */ - ) -{ - req->entry = entry; +void ec_sdo_request_init_read( + ec_sdo_request_t *req, /**< Sdo request */ + ec_slave_t *slave, /**< Slave owning the Sdo. */ + uint16_t index, /**< Sdo index. */ + uint8_t subindex /**< Sdo subindex. */ + ) +{ + req->slave = slave; + req->index = index; + req->subindex = subindex; req->data = NULL; req->size = 0; req->state = EC_REQUEST_QUEUED;