57 uint16_t *inc_value; |
57 uint16_t *inc_value; |
58 |
58 |
59 uint32_t angle0; |
59 uint32_t angle0; |
60 |
60 |
61 ec_field_init_t domain1_fields[] = { |
61 ec_field_init_t domain1_fields[] = { |
|
62 {}, |
|
63 {(void **) &ssi_value, "1", "Beckhoff", "EL5001", ec_ipvalue, 0, 1}, |
62 {(void **) &dig_out1, "2", "Beckhoff", "EL2004", ec_opvalue, 0, 1}, |
64 {(void **) &dig_out1, "2", "Beckhoff", "EL2004", ec_opvalue, 0, 1}, |
63 {(void **) &ssi_value, "3", "Beckhoff", "EL5001", ec_ipvalue, 0, 1}, |
|
64 {(void **) &inc_value, "0:4", "Beckhoff", "EL5101", ec_ipvalue, 0, 1}, |
65 {(void **) &inc_value, "0:4", "Beckhoff", "EL5101", ec_ipvalue, 0, 1}, |
65 {} |
66 {} |
66 }; |
67 }; |
67 |
68 |
68 /*****************************************************************************/ |
69 /*****************************************************************************/ |
70 static void msr_controller_run(void) |
71 static void msr_controller_run(void) |
71 { |
72 { |
72 // Prozessdaten lesen und schreiben |
73 // Prozessdaten lesen und schreiben |
73 EtherCAT_rt_domain_xio(domain1); |
74 EtherCAT_rt_domain_xio(domain1); |
74 |
75 |
75 angle0 = (uint32_t) *inc_value; |
76 //angle0 = (uint32_t) *inc_value; |
76 } |
77 } |
77 |
78 |
78 /*****************************************************************************/ |
79 /*****************************************************************************/ |
79 |
80 |
80 void msr_run(unsigned irq) |
81 void msr_run(unsigned irq) |
163 if (EtherCAT_rt_master_activate(master)) { |
164 if (EtherCAT_rt_master_activate(master)) { |
164 printk(KERN_ERR "Could not activate master!\n"); |
165 printk(KERN_ERR "Could not activate master!\n"); |
165 goto out_release_master; |
166 goto out_release_master; |
166 } |
167 } |
167 |
168 |
168 EtherCAT_rt_master_debug(master, 2); |
169 #if 1 |
169 if (EtherCAT_rt_canopen_sdo_addr_read(master, "0:3", 0x100A, 1, |
170 if (EtherCAT_rt_canopen_sdo_addr_read(master, "1", 0x100A, 1, |
170 &version)) { |
171 &version)) { |
171 printk(KERN_ERR "Could not read SSI version!\n"); |
172 printk(KERN_ERR "Could not read SSI version!\n"); |
172 goto out_release_master; |
173 goto out_release_master; |
173 } |
174 } |
174 printk(KERN_INFO "Klemme 3 Software-version: %u\n", version); |
175 printk(KERN_INFO "Klemme 3 Software-version: %u\n", version); |
175 EtherCAT_rt_master_debug(master, 0); |
176 #endif |
176 |
177 |
177 ipipe_init_attr(&attr); |
178 ipipe_init_attr(&attr); |
178 attr.name = "IPIPE-MSR-MODULE"; |
179 attr.name = "IPIPE-MSR-MODULE"; |
179 attr.priority = IPIPE_ROOT_PRIO + 1; |
180 attr.priority = IPIPE_ROOT_PRIO + 1; |
180 attr.entry = &domain_entry; |
181 attr.entry = &domain_entry; |