Separated sync_reference_clock() and sync_slave_clocks().
This commit is contained in:
parent
0083914b5f
commit
fe56cc111c
|
|
@ -44,7 +44,8 @@
|
|||
* - Added the distributed clocks feature and the respective methods
|
||||
* ecrt_slave_config_dc_assign_activate() and
|
||||
* ecrt_slave_config_dc_sync_cycle_times() to configure a slave for cyclic
|
||||
* operation, and ecrt_master_sync() for drift compensation.
|
||||
* operation, and ecrt_master_sync_reference_clock() and
|
||||
* ecrt_master_sync_slave_clocks() for drift compensation.
|
||||
* - Changed the meaning of the negative return values of
|
||||
* ecrt_slave_config_reg_pdo_entry() and ecrt_slave_config_sdo*().
|
||||
* - Imlemented the Vendor-specific over EtherCAT mailbox protocol. See
|
||||
|
|
@ -506,16 +507,23 @@ void ecrt_master_state(
|
|||
ec_master_state_t *state /**< Structure to store the information. */
|
||||
);
|
||||
|
||||
/** Queues the DC drift compensation datagram for sending.
|
||||
/** Queues the DC reference clock drift compensation datagram for sending.
|
||||
*
|
||||
* The reference clock will by synchronized to the \a app_time, while the
|
||||
* other slaves will by synchronized to the reference clock.
|
||||
* The reference clock will by synchronized to the \a app_time.
|
||||
*/
|
||||
void ecrt_master_sync(
|
||||
void ecrt_master_sync_reference_clock(
|
||||
ec_master_t *master, /**< EtherCAT master. */
|
||||
const struct timeval *app_time /**< Application time. */
|
||||
);
|
||||
|
||||
/** Queues the DC clock drift compensation datagram for sending.
|
||||
*
|
||||
* All slave clocks synchronized to the reference clock.
|
||||
*/
|
||||
void ecrt_master_sync_slave_clocks(
|
||||
ec_master_t *master /**< EtherCAT master. */
|
||||
);
|
||||
|
||||
/******************************************************************************
|
||||
* Slave configuration methods
|
||||
*****************************************************************************/
|
||||
|
|
|
|||
|
|
@ -1648,19 +1648,20 @@ void ecrt_master_state(const ec_master_t *master, ec_master_state_t *state)
|
|||
|
||||
/*****************************************************************************/
|
||||
|
||||
void ecrt_master_sync(ec_master_t *master, const struct timeval *app_time)
|
||||
void ecrt_master_sync_reference_clock(ec_master_t *master,
|
||||
const struct timeval *app_time)
|
||||
{
|
||||
master->app_time = EC_TIMEVAL2NANO(app_time);
|
||||
|
||||
#if 1
|
||||
EC_WRITE_U32(master->ref_sync_datagram.data, master->app_time);
|
||||
ec_master_queue_datagram(master, &master->ref_sync_datagram);
|
||||
#endif
|
||||
}
|
||||
|
||||
#if 1
|
||||
/*****************************************************************************/
|
||||
|
||||
void ecrt_master_sync_slave_clocks(ec_master_t *master)
|
||||
{
|
||||
ec_datagram_zero(&master->sync_datagram);
|
||||
ec_master_queue_datagram(master, &master->sync_datagram);
|
||||
#endif
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
@ -1674,7 +1675,8 @@ EXPORT_SYMBOL(ecrt_master_receive);
|
|||
EXPORT_SYMBOL(ecrt_master_callbacks);
|
||||
EXPORT_SYMBOL(ecrt_master_slave_config);
|
||||
EXPORT_SYMBOL(ecrt_master_state);
|
||||
EXPORT_SYMBOL(ecrt_master_sync);
|
||||
EXPORT_SYMBOL(ecrt_master_sync_reference_clock);
|
||||
EXPORT_SYMBOL(ecrt_master_sync_slave_clocks);
|
||||
|
||||
/** \endcond */
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue