diff -r f859d567f94e -r 42b62867574d include/ecrt.h --- a/include/ecrt.h Fri Jan 22 10:11:58 2016 +0100 +++ b/include/ecrt.h Fri Jan 22 13:09:43 2016 +0100 @@ -815,7 +815,7 @@ uint16_t slave_position, /**< Slave position. */ uint16_t index, /**< Index of the SDO. */ uint8_t subindex, /**< Subindex of the SDO. */ - uint8_t *data, /**< Data buffer to download. */ + const 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. */ ); @@ -834,7 +834,7 @@ 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. */ + const 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. */ ); @@ -956,8 +956,10 @@ * * Has to be called cyclically by the application after ecrt_master_activate() * has returned. - */ -void ecrt_master_send( + * + * Returns the number of bytes sent. + */ +size_t ecrt_master_send( ec_master_t *master /**< EtherCAT master. */ ); @@ -1145,6 +1147,17 @@ */ ); +/** Configure whether a slave allows overlapping PDOs. + * + * Overlapping PDOs allows inputs to use the same space as outputs on the frame. + * This reduces the frame length. + */ +void ecrt_slave_config_overlapping_pdos( + ec_slave_config_t *sc, /**< Slave configuration. */ + uint8_t allow_overlapping_pdos /**< Allow overlapping PDOs */ + ); + + /** Add a PDO to a sync manager's PDO assignment. * * This method has to be called in non-realtime context before