Hi, The long answer: A call to ecrt_master_sync_slave_clocks() queues a request to sync slaves to the ref slave. ecrt_master_send() will then send the request (along with any other queued datagrams). ecrt_master_receive() will process the returned datagrams, of which ecrt_master_sync_slave_clocks() returns the reference slaves system time (i.e. the time of the slave, minus the slaves transmission delay). ecrt_master_reference_clock_time() can then be used to query the returned value from ecrt_master_sync_slave_clocks().
The short answer: ecrt_master_reference_clock_time() returns the value retrieved by the previous ecrt_master_sync_slave_clocks() datagram. Regards, Graeme. -----Original Message----- From: etherlab-users <[email protected]> On Behalf Of Mohsen Alizadeh Noghani Sent: Saturday, 29 December 2018 5:29 AM To: [email protected] Subject: [etherlab-users] A question about ecrt_master_reference_clock_time Hello everyone. When "ecrt_master_reference_clock_time" is called, does EtherCAT Master read the reference clock at that instant (i.e. it communicates with the reference slave specifically for reading its clock), or does the clock value already exist in the datagram received by "ecrt_master_receive", and thus function just parses the datagram? Best, Mohsen _______________________________________________ etherlab-users mailing list [email protected] http://lists.etherlab.org/mailman/listinfo/etherlab-users _______________________________________________ etherlab-users mailing list [email protected] http://lists.etherlab.org/mailman/listinfo/etherlab-users
