62 * userspace. |
62 * userspace. |
63 * - Added bus information interface (methods ecrt_master(), |
63 * - Added bus information interface (methods ecrt_master(), |
64 * ecrt_master_get_slave(), ecrt_master_get_sync_manager(), |
64 * ecrt_master_get_slave(), ecrt_master_get_sync_manager(), |
65 * ecrt_master_get_pdo() and ecrt_master_get_pdo_entry()) to get information |
65 * ecrt_master_get_pdo() and ecrt_master_get_pdo_entry()) to get information |
66 * about the currently connected slaves and the PDO entries provided. |
66 * about the currently connected slaves and the PDO entries provided. |
67 * - Added ecrt_master_sdo_download() and ecrt_master_sdo_upload() |
67 * - Added ecrt_master_sdo_download(), ecrt_master_sdo_download_complete() and |
68 * methods to let an application transfer SDOs before activating the master. |
68 * ecrt_master_sdo_upload() methods to let an application transfer SDOs |
|
69 * before activating the master. |
69 * - Changed the meaning of the negative return values of |
70 * - Changed the meaning of the negative return values of |
70 * ecrt_slave_config_reg_pdo_entry() and ecrt_slave_config_sdo*(). |
71 * ecrt_slave_config_reg_pdo_entry() and ecrt_slave_config_sdo*(). |
71 * - Implemented the Vendor-specific over EtherCAT mailbox protocol. See |
72 * - Implemented the Vendor-specific over EtherCAT mailbox protocol. See |
72 * ecrt_slave_config_create_voe_handler(). |
73 * ecrt_slave_config_create_voe_handler(). |
73 * - Renamed ec_sdo_request_state_t to #ec_request_state_t, because it is also |
74 * - Renamed ec_sdo_request_state_t to #ec_request_state_t, because it is also |
649 int ecrt_master_sdo_download( |
650 int ecrt_master_sdo_download( |
650 ec_master_t *master, /**< EtherCAT master. */ |
651 ec_master_t *master, /**< EtherCAT master. */ |
651 uint16_t slave_position, /**< Slave position. */ |
652 uint16_t slave_position, /**< Slave position. */ |
652 uint16_t index, /**< Index of the SDO. */ |
653 uint16_t index, /**< Index of the SDO. */ |
653 uint8_t subindex, /**< Subindex of the SDO. */ |
654 uint8_t subindex, /**< Subindex of the SDO. */ |
|
655 uint8_t *data, /**< Data buffer to download. */ |
|
656 size_t data_size, /**< Size of the data buffer. */ |
|
657 uint32_t *abort_code /**< Abort code of the SDO download. */ |
|
658 ); |
|
659 |
|
660 /** Executes an SDO download request to write data to a slave via complete |
|
661 * access. |
|
662 * |
|
663 * This request is processed by the master state machine. This method blocks, |
|
664 * until the request has been processed and may not be called in realtime |
|
665 * context. |
|
666 * |
|
667 * \retval 0 Success. |
|
668 * \retval <0 Error code. |
|
669 */ |
|
670 int ecrt_master_sdo_download_complete( |
|
671 ec_master_t *master, /**< EtherCAT master. */ |
|
672 uint16_t slave_position, /**< Slave position. */ |
|
673 uint16_t index, /**< Index of the SDO. */ |
654 uint8_t *data, /**< Data buffer to download. */ |
674 uint8_t *data, /**< Data buffer to download. */ |
655 size_t data_size, /**< Size of the data buffer. */ |
675 size_t data_size, /**< Size of the data buffer. */ |
656 uint32_t *abort_code /**< Abort code of the SDO download. */ |
676 uint32_t *abort_code /**< Abort code of the SDO download. */ |
657 ); |
677 ); |
658 |
678 |