master/canopen.c
changeset 831 ded9519c8d6e
parent 814 a51f857b1b2d
equal deleted inserted replaced
830:d83d92e1a919 831:ded9519c8d6e
   414 {
   414 {
   415     ec_master_t *master = entry->sdo->slave->master;
   415     ec_master_t *master = entry->sdo->slave->master;
   416     off_t off = 0;
   416     off_t off = 0;
   417     ec_sdo_request_t request;
   417     ec_sdo_request_t request;
   418 
   418 
   419     ec_sdo_request_init_read(&request, entry);
   419     ec_sdo_request_init_read(&request, entry->sdo->slave,
       
   420             entry->sdo->index, entry->subindex);
   420 
   421 
   421     // schedule request.
   422     // schedule request.
   422     down(&master->sdo_sem);
   423     down(&master->sdo_sem);
   423     list_add_tail(&request.list, &master->sdo_requests);
   424     list_add_tail(&request.list, &master->sdo_requests);
   424     up(&master->sdo_sem);
   425     up(&master->sdo_sem);
   477 
   478 
   478 /**
   479 /**
   479    Sdo request constructor.
   480    Sdo request constructor.
   480 */
   481 */
   481 
   482 
   482 void ec_sdo_request_init_read(ec_sdo_request_t *req, /**< Sdo request */
   483 void ec_sdo_request_init_read(
   483                               ec_sdo_entry_t *entry /**< Sdo entry */
   484         ec_sdo_request_t *req, /**< Sdo request */
   484                               )
   485         ec_slave_t *slave, /**< Slave owning the Sdo. */
   485 {
   486         uint16_t index, /**< Sdo index. */
   486     req->entry = entry;
   487         uint8_t subindex /**< Sdo subindex. */
       
   488         )
       
   489 {
       
   490     req->slave = slave;
       
   491     req->index = index;
       
   492     req->subindex = subindex;
   487     req->data = NULL;
   493     req->data = NULL;
   488     req->size = 0;
   494     req->size = 0;
   489     req->state = EC_REQUEST_QUEUED;
   495     req->state = EC_REQUEST_QUEUED;
   490 }
   496 }
   491 
   497