include/ecrt.h
branchstable-1.5
changeset 2124 c4afc5fede19
parent 2109 755e6ce823f0
child 2241 0ba77ef52922
--- a/include/ecrt.h	Mon Oct 24 10:47:36 2011 +0200
+++ b/include/ecrt.h	Mon Oct 24 10:49:27 2011 +0200
@@ -64,8 +64,9 @@
  *   ecrt_master_get_slave(), ecrt_master_get_sync_manager(),
  *   ecrt_master_get_pdo() and ecrt_master_get_pdo_entry()) to get information
  *   about the currently connected slaves and the PDO entries provided.
- * - Added ecrt_master_sdo_download() and ecrt_master_sdo_upload()
- *   methods to let an application transfer SDOs before activating the master.
+ * - Added ecrt_master_sdo_download(), ecrt_master_sdo_download_complete() and
+ *   ecrt_master_sdo_upload() methods to let an application transfer SDOs
+ *   before activating the master.
  * - Changed the meaning of the negative return values of
  *   ecrt_slave_config_reg_pdo_entry() and ecrt_slave_config_sdo*().
  * - Implemented the Vendor-specific over EtherCAT mailbox protocol. See
@@ -656,6 +657,25 @@
         uint32_t *abort_code /**< Abort code of the SDO download. */
         );
 
+/** Executes an SDO download request to write data to a slave via complete
+ * access.
+ *
+ * This request is processed by the master state machine. This method blocks,
+ * until the request has been processed and may not be called in realtime
+ * context.
+ *
+ * \retval  0 Success.
+ * \retval <0 Error code.
+ */
+int ecrt_master_sdo_download_complete(
+        ec_master_t *master, /**< EtherCAT master. */
+        uint16_t slave_position, /**< Slave position. */
+        uint16_t index, /**< Index of the SDO. */
+        uint8_t *data, /**< Data buffer to download. */
+        size_t data_size, /**< Size of the data buffer. */
+        uint32_t *abort_code /**< Abort code of the SDO download. */
+        );
+
 /** Executes an SDO upload request to read data from a slave.
  *
  * This request is processed by the master state machine. This method blocks,