65 {NULL} // no sync managers |
65 {NULL} // no sync managers |
66 }; |
66 }; |
67 |
67 |
68 /*****************************************************************************/ |
68 /*****************************************************************************/ |
69 |
69 |
|
70 const ec_field_t bk1120_out = {"Outputs", 0}; // variable size |
|
71 const ec_field_t bk1120_in = {"Inputs", 0}; // variable size |
|
72 |
|
73 const ec_sync_t bk1120_sm0 = {0x1C00, 264, 0x26, {NULL}}; |
|
74 const ec_sync_t bk1120_sm1 = {0x1E00, 264, 0x22, {NULL}}; |
|
75 |
|
76 const ec_sync_t bk1120_sm2 = { // outputs |
|
77 0x1000, 0, 0x24, // variable size |
|
78 {&bk1120_out, NULL} |
|
79 }; |
|
80 |
|
81 const ec_sync_t bk1120_sm3 = { // inputs |
|
82 0x1600, 0, 0x00, // variable size |
|
83 {&bk1120_in, NULL} |
|
84 }; |
|
85 |
70 const ec_slave_type_t Beckhoff_BK1120 = { |
86 const ec_slave_type_t Beckhoff_BK1120 = { |
71 "Beckhoff", "BK1120", "KBUS Coupler", EC_TYPE_NORMAL, |
87 "Beckhoff", "BK1120", "KBUS Coupler", EC_TYPE_NORMAL, |
72 {NULL} // no sync managers |
88 {&bk1120_sm0, &bk1120_sm1, &bk1120_sm2, &bk1120_sm3, NULL} |
|
89 }; |
|
90 |
|
91 /*****************************************************************************/ |
|
92 |
|
93 const ec_field_t el1004_in = {"InputValue", 1}; |
|
94 |
|
95 const ec_sync_t el1004_sm0 = { // inputs |
|
96 0x1000, 1, 0x00, |
|
97 {&el1004_in, NULL} |
|
98 }; |
|
99 |
|
100 const ec_slave_type_t Beckhoff_EL1004 = { |
|
101 "Beckhoff", "EL1004", "4x Digital Input, 3ms", EC_TYPE_NORMAL, |
|
102 {&el1004_sm0, NULL} |
73 }; |
103 }; |
74 |
104 |
75 /*****************************************************************************/ |
105 /*****************************************************************************/ |
76 |
106 |
77 const ec_field_t el1014_in = {"InputValue", 1}; |
107 const ec_field_t el1014_in = {"InputValue", 1}; |
80 0x1000, 1, 0x00, |
110 0x1000, 1, 0x00, |
81 {&el1014_in, NULL} |
111 {&el1014_in, NULL} |
82 }; |
112 }; |
83 |
113 |
84 const ec_slave_type_t Beckhoff_EL1014 = { |
114 const ec_slave_type_t Beckhoff_EL1014 = { |
85 "Beckhoff", "EL1014", "4x Digital Input", EC_TYPE_NORMAL, |
115 "Beckhoff", "EL1014", "4x Digital Input, 10us", EC_TYPE_NORMAL, |
86 {&el1014_sm0, NULL} |
116 {&el1014_sm0, NULL} |
87 }; |
117 }; |
88 |
118 |
89 /*****************************************************************************/ |
119 /*****************************************************************************/ |
90 |
120 |
184 const ec_sync_t el5101_sm3 = { |
214 const ec_sync_t el5101_sm3 = { |
185 0x1100, 5, 0x20, |
215 0x1100, 5, 0x20, |
186 {&el5101_st, &el5101_ip, &el5101_la, NULL} |
216 {&el5101_st, &el5101_ip, &el5101_la, NULL} |
187 }; |
217 }; |
188 |
218 |
189 const ec_slave_type_t Beckhoff_EL5101 = |
219 const ec_slave_type_t Beckhoff_EL5101 = { |
190 { |
|
191 "Beckhoff", "EL5101", "Incremental Encoder Interface", EC_TYPE_NORMAL, |
220 "Beckhoff", "EL5101", "Incremental Encoder Interface", EC_TYPE_NORMAL, |
192 {&mailbox_sm0, &mailbox_sm1, &el5101_sm2, &el5101_sm3, NULL} |
221 {&mailbox_sm0, &mailbox_sm1, &el5101_sm2, &el5101_sm3, NULL} |
193 }; |
222 }; |
194 |
223 |
195 /*****************************************************************************/ |
224 /*****************************************************************************/ |
228 /** |
257 /** |
229 Mapping between vendor IDs and product codes <=> slave objects. |
258 Mapping between vendor IDs and product codes <=> slave objects. |
230 */ |
259 */ |
231 |
260 |
232 ec_slave_ident_t slave_idents[] = { |
261 ec_slave_ident_t slave_idents[] = { |
|
262 {0x00000002, 0x03EC3052, &Beckhoff_EL1004}, |
233 {0x00000002, 0x03F63052, &Beckhoff_EL1014}, |
263 {0x00000002, 0x03F63052, &Beckhoff_EL1014}, |
234 {0x00000002, 0x044C2C52, &Beckhoff_EK1100}, |
264 {0x00000002, 0x044C2C52, &Beckhoff_EK1100}, |
235 {0x00000002, 0x04562C52, &Beckhoff_EK1110}, |
265 {0x00000002, 0x04562C52, &Beckhoff_EK1110}, |
236 //{0x00000002, 0x04602C22, &Beckhoff_BK1120}, |
266 {0x00000002, 0x04602C22, &Beckhoff_BK1120}, |
237 {0x00000002, 0x07D43052, &Beckhoff_EL2004}, |
267 {0x00000002, 0x07D43052, &Beckhoff_EL2004}, |
238 {0x00000002, 0x07F03052, &Beckhoff_EL2032}, |
268 {0x00000002, 0x07F03052, &Beckhoff_EL2032}, |
239 {0x00000002, 0x0C1E3052, &Beckhoff_EL3102}, |
269 {0x00000002, 0x0C1E3052, &Beckhoff_EL3102}, |
240 {0x00000002, 0x0C5A3052, &Beckhoff_EL3162}, |
270 {0x00000002, 0x0C5A3052, &Beckhoff_EL3162}, |
241 {0x00000002, 0x10063052, &Beckhoff_EL4102}, |
271 {0x00000002, 0x10063052, &Beckhoff_EL4102}, |