equal
deleted
inserted
replaced
64 ec_domain_t *domain1 = NULL; |
64 ec_domain_t *domain1 = NULL; |
65 |
65 |
66 // raw process data |
66 // raw process data |
67 void *r_ana_out; |
67 void *r_ana_out; |
68 |
68 |
69 // Channels |
69 // channels |
70 double k_ana_out; |
70 double k_ana_out; |
71 |
71 |
72 ec_pdo_reg_t domain1_pdos[] = { |
72 ec_pdo_reg_t domain1_pdos[] = { |
73 {"3", Beckhoff_EL4132_Output1, &r_ana_out}, |
73 {"3", Beckhoff_EL4132_Output1, &r_ana_out}, |
74 {} |
74 {} |
76 |
76 |
77 /*****************************************************************************/ |
77 /*****************************************************************************/ |
78 |
78 |
79 void msr_controller_run(void) |
79 void msr_controller_run(void) |
80 { |
80 { |
|
81 // receive |
81 rt_sem_wait(&master_sem); |
82 rt_sem_wait(&master_sem); |
82 |
|
83 // receive |
|
84 ecrt_master_receive(master); |
83 ecrt_master_receive(master); |
85 ecrt_domain_process(domain1); |
84 ecrt_domain_process(domain1); |
|
85 rt_sem_signal(&master_sem); |
86 |
86 |
87 // Process data |
87 // Process data |
88 EC_WRITE_S16(r_ana_out, k_ana_out / 10.0 * 0x7FFF); |
88 EC_WRITE_S16(r_ana_out, k_ana_out / 10.0 * 0x7FFF); |
89 |
89 |
90 // Send |
90 // Send |
|
91 rt_sem_wait(&master_sem); |
91 ecrt_domain_queue(domain1); |
92 ecrt_domain_queue(domain1); |
92 ecrt_master_run(master); |
93 ecrt_master_run(master); |
93 ecrt_master_send(master); |
94 ecrt_master_send(master); |
94 |
|
95 rt_sem_signal(&master_sem); |
95 rt_sem_signal(&master_sem); |
96 |
96 |
97 msr_write_kanal_list(); |
97 msr_write_kanal_list(); |
98 } |
98 } |
99 |
99 |
219 } |
219 } |
220 |
220 |
221 /*****************************************************************************/ |
221 /*****************************************************************************/ |
222 |
222 |
223 MODULE_LICENSE("GPL"); |
223 MODULE_LICENSE("GPL"); |
224 MODULE_AUTHOR ("Florian Pose <fp@igh-essen.com>"); |
224 MODULE_AUTHOR("Florian Pose <fp@igh-essen.com>"); |
225 MODULE_DESCRIPTION ("EtherCAT RTAI MSR sample module"); |
225 MODULE_DESCRIPTION("EtherCAT RTAI MSR sample module"); |
226 |
226 |
227 module_init(init_mod); |
227 module_init(init_mod); |
228 module_exit(cleanup_mod); |
228 module_exit(cleanup_mod); |
229 |
229 |
230 /*****************************************************************************/ |
230 /*****************************************************************************/ |