2070 } |
2070 } |
2071 } |
2071 } |
2072 |
2072 |
2073 // always set DC reference clock to OP |
2073 // always set DC reference clock to OP |
2074 if (master->dc_ref_clock) { |
2074 if (master->dc_ref_clock) { |
2075 ec_slave_request_state(master->dc_ref_clock, |
2075 ec_slave_request_state(master->dc_ref_clock, EC_SLAVE_STATE_OP); |
2076 EC_SLAVE_STATE_OP); |
|
2077 } |
2076 } |
2078 } |
2077 } |
2079 |
2078 |
2080 /****************************************************************************** |
2079 /****************************************************************************** |
2081 * Application interface |
2080 * Application interface |
2627 |
2626 |
2628 /*****************************************************************************/ |
2627 /*****************************************************************************/ |
2629 |
2628 |
2630 void ecrt_master_sync_reference_clock(ec_master_t *master) |
2629 void ecrt_master_sync_reference_clock(ec_master_t *master) |
2631 { |
2630 { |
2632 EC_WRITE_U32(master->ref_sync_datagram.data, master->app_time); |
2631 if (master->dc_ref_clock) { |
2633 ec_master_queue_datagram(master, &master->ref_sync_datagram); |
2632 EC_WRITE_U32(master->ref_sync_datagram.data, master->app_time); |
|
2633 ec_master_queue_datagram(master, &master->ref_sync_datagram); |
|
2634 } |
2634 } |
2635 } |
2635 |
2636 |
2636 /*****************************************************************************/ |
2637 /*****************************************************************************/ |
2637 |
2638 |
2638 void ecrt_master_sync_slave_clocks(ec_master_t *master) |
2639 void ecrt_master_sync_slave_clocks(ec_master_t *master) |
2639 { |
2640 { |
2640 ec_datagram_zero(&master->sync_datagram); |
2641 if (master->dc_ref_clock) { |
2641 ec_master_queue_datagram(master, &master->sync_datagram); |
2642 ec_datagram_zero(&master->sync_datagram); |
|
2643 ec_master_queue_datagram(master, &master->sync_datagram); |
|
2644 } |
2642 } |
2645 } |
2643 |
2646 |
2644 /*****************************************************************************/ |
2647 /*****************************************************************************/ |
2645 |
2648 |
2646 void ecrt_master_sync_monitor_queue(ec_master_t *master) |
2649 void ecrt_master_sync_monitor_queue(ec_master_t *master) |