include/ecrt.h
changeset 1535 0c484ee12d89
parent 1530 96629de2202b
child 1536 171ddba165d2
equal deleted inserted replaced
1534:4844a8433915 1535:0c484ee12d89
    43  *
    43  *
    44  * - Added the distributed clocks feature and the respective method
    44  * - Added the distributed clocks feature and the respective method
    45  *   ecrt_slave_config_dc() to configure a slave for cyclic operation, and
    45  *   ecrt_slave_config_dc() to configure a slave for cyclic operation, and
    46  *   ecrt_master_application_time(), ecrt_master_sync_reference_clock() and
    46  *   ecrt_master_application_time(), ecrt_master_sync_reference_clock() and
    47  *   ecrt_master_sync_slave_clocks() for offset and drift compensation. The
    47  *   ecrt_master_sync_slave_clocks() for offset and drift compensation. The
    48  *   EC_TIMEVAL2NANO() macro can be used for epoch time conversion.
    48  *   EC_TIMEVAL2NANO() macro can be used for epoch time conversion, while the
       
    49  *   ecrt_master_sync_monitor_queue() and ecrt_master_sync_monitor_process()
       
    50  *   methods can be used to monitor the synchrony. 
    49  * - Improved the callback mechanism. ecrt_master_callbacks() now takes two
    51  * - Improved the callback mechanism. ecrt_master_callbacks() now takes two
    50  *   callback functions for sending and receiving datagrams.
    52  *   callback functions for sending and receiving datagrams.
    51  *   ecrt_master_send_ext() is used to execute the sending of non-application
    53  *   ecrt_master_send_ext() is used to execute the sending of non-application
    52  *   datagrams.
    54  *   datagrams.
    53  * - Added watchdog configuration (method ecrt_slave_config_watchdog(),
    55  * - Added watchdog configuration (method ecrt_slave_config_watchdog(),
   770 /** Queues the DC clock drift compensation datagram for sending.
   772 /** Queues the DC clock drift compensation datagram for sending.
   771  *
   773  *
   772  * All slave clocks synchronized to the reference clock.
   774  * All slave clocks synchronized to the reference clock.
   773  */
   775  */
   774 void ecrt_master_sync_slave_clocks(
   776 void ecrt_master_sync_slave_clocks(
       
   777         ec_master_t *master /**< EtherCAT master. */
       
   778         );
       
   779 
       
   780 /** Queues the DC synchonity monitoring datagram for sending.
       
   781  *
       
   782  * The datagram broadcast-reads all "System time difference" registers (\a
       
   783  * 0x092c) to get an upper estiomation of the DC synchony. The result can be
       
   784  * checked with the ecrt_master_sync_monitor_process() method.
       
   785  */
       
   786 void ecrt_master_sync_monitor_queue(
       
   787         ec_master_t *master /**< EtherCAT master. */
       
   788         );
       
   789 
       
   790 /** Processes the DC synchonity monitoring datagram.
       
   791  *
       
   792  * If the sync monitoring datagram was sent before with
       
   793  * ecrt_master_sync_monitor_queue(), the result can be queried with this
       
   794  * method.
       
   795  *
       
   796  * \return Upper estination of the maximum time difference in ns.
       
   797  */
       
   798 uint32_t ecrt_master_sync_monitor_process(
   775         ec_master_t *master /**< EtherCAT master. */
   799         ec_master_t *master /**< EtherCAT master. */
   776         );
   800         );
   777 
   801 
   778 /******************************************************************************
   802 /******************************************************************************
   779  * Slave configuration methods
   803  * Slave configuration methods