equal
deleted
inserted
replaced
49 |
49 |
50 #define TIMERTICKS (1000000000 / FREQUENCY) |
50 #define TIMERTICKS (1000000000 / FREQUENCY) |
51 |
51 |
52 #define NUM_DIG_OUT 1 |
52 #define NUM_DIG_OUT 1 |
53 |
53 |
54 #define PFX "ec_dc_sample: " |
54 #define PFX "ec_dc_rtai_sample: " |
55 |
55 |
56 /*****************************************************************************/ |
56 /*****************************************************************************/ |
57 |
57 |
58 // EtherCAT |
58 // EtherCAT |
59 static ec_master_t *master = NULL; |
59 static ec_master_t *master = NULL; |
218 tv.tv_usec += 1000; |
218 tv.tv_usec += 1000; |
219 if (tv.tv_usec >= 1000000) { |
219 if (tv.tv_usec >= 1000000) { |
220 tv.tv_usec -= 1000000; |
220 tv.tv_usec -= 1000000; |
221 tv.tv_sec++; |
221 tv.tv_sec++; |
222 } |
222 } |
|
223 ecrt_master_application_time(master, EC_TIMEVAL2NANO(&tv)); |
223 |
224 |
224 if (sync_ref_counter) { |
225 if (sync_ref_counter) { |
225 sync_ref_counter--; |
226 sync_ref_counter--; |
226 } else { |
227 } else { |
227 sync_ref_counter = 9; |
228 sync_ref_counter = 9; |
228 #if 0 |
229 ecrt_master_sync_reference_clock(master); |
229 printk(KERN_INFO PFX "ref: %u %u %llu\n", |
|
230 (u32) tv.tv_sec, (u32) tv.tv_usec, EC_TIMEVAL2NANO(&tv)); |
|
231 #endif |
|
232 ecrt_master_sync_reference_clock(master, EC_TIMEVAL2NANO(&tv)); |
|
233 } |
230 } |
234 ecrt_master_sync_slave_clocks(master); |
231 ecrt_master_sync_slave_clocks(master); |
235 ecrt_domain_queue(domain1); |
232 ecrt_domain_queue(domain1); |
236 ecrt_master_send(master); |
233 ecrt_master_send(master); |
237 rt_sem_signal(&master_sem); |
234 rt_sem_signal(&master_sem); |