1 /* |
1 |
2 This file is part of CanFestival, a library implementing CanOpen Stack. |
2 /* File generated by gen_cfile.py. Should not be modified. */ |
3 |
3 |
4 Copyright (C): Edouard TISSERANT and Francis DUPIN |
4 #include "example_objdict.h" |
5 |
|
6 See COPYING file for copyrights details. |
|
7 |
|
8 This library is free software; you can redistribute it and/or |
|
9 modify it under the terms of the GNU Lesser General Public |
|
10 License as published by the Free Software Foundation; either |
|
11 version 2.1 of the License, or (at your option) any later version. |
|
12 |
|
13 This library is distributed in the hope that it will be useful, |
|
14 but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
16 Lesser General Public License for more details. |
|
17 |
|
18 You should have received a copy of the GNU Lesser General Public |
|
19 License along with this library; if not, write to the Free Software |
|
20 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
21 */ |
|
22 |
|
23 |
|
24 #include <stddef.h> |
|
25 |
|
26 #include <canfestival/applicfg.h> |
|
27 #include "canfestival/def.h" |
|
28 #include "canfestival/can.h" |
|
29 #include "canfestival/objdictdef.h" |
|
30 #include "canfestival/pdo.h" |
|
31 #include "canfestival/sdo.h" |
|
32 #include "canfestival/sync.h" |
|
33 #include "canfestival/lifegrd.h" |
|
34 #include "canfestival/nmtSlave.h" |
|
35 |
5 |
36 /**************************************************************************/ |
6 /**************************************************************************/ |
37 /* Declaration of the mapped variables */ |
7 /* Declaration of the mapped variables */ |
38 /**************************************************************************/ |
8 /**************************************************************************/ |
39 UNS8 seconds = 0; // Mapped at index 0x2000, subindex 0x01 |
9 UNS8 Time_seconds = 0x0; /* Mapped at index 0x2000, subindex 0x01 */ |
40 UNS8 minutes = 0; // Mapped at index 0x2000, subindex 0x02 |
10 UNS8 Time_minutes = 0x0; /* Mapped at index 0x2000, subindex 0x02 */ |
41 UNS8 hours = 0; // Mapped at index 0x2000, subindex 0x03 |
11 UNS8 Time_hours = 0x0; /* Mapped at index 0x2000, subindex 0x03 */ |
42 UNS8 day = 0; // Mapped at index 0x2000, subindex 0x04 |
12 UNS8 Time_days = 0x0; /* Mapped at index 0x2000, subindex 0x04 */ |
43 UNS32 canopenErrNB = 0; // Mapped at index 0x6000, subindex 0x00 |
13 UNS32 canopenErrNB = 0x0; /* Mapped at index 0x2001, subindex 0x00 */ |
44 UNS32 canopenErrVAL = 0; // Mapped at index 0x6001, subindex 0x00 |
14 UNS32 canopenErrVal = 0x0; /* Mapped at index 0x2002, subindex 0x00 */ |
45 UNS8 strTest[10] = 0; // Mapped at index 0x6002, subindex 0x00 |
15 UNS8 strTest[10] = ""; /* Mapped at index 0x2003, subindex 0x00 */ |
46 |
16 |
47 /**************************************************************************/ |
17 /**************************************************************************/ |
48 /* Declaration of the value range types */ |
18 /* Declaration of the value range types */ |
49 /**************************************************************************/ |
19 /**************************************************************************/ |
50 |
20 |
51 |
21 UNS32 Linux_slave_valueRangeTest (UNS8 typeValue, void * value) |
52 |
|
53 UNS32 Linux_slave_valueRangeTest (UNS8 typeValue, UNS32 unsValue, REAL32 realValue) |
|
54 { |
22 { |
55 switch (typeValue) { |
23 switch (typeValue) { |
56 } |
24 } |
57 return 0; |
25 return 0; |
58 } |
26 } |
59 |
27 |
60 |
|
61 /**************************************************************************/ |
28 /**************************************************************************/ |
62 /* The node id */ |
29 /* The node id */ |
63 /**************************************************************************/ |
30 /**************************************************************************/ |
64 /* node_id default value. |
31 /* node_id default value.*/ |
65 This default value is deprecated. |
32 UNS8 Linux_slave_bDeviceNodeId = 0x00; |
66 You should always overwrite this by using the function setNodeId(UNS8 nodeId) in your C code. |
33 |
|
34 /**************************************************************************/ |
|
35 /* Array of message processing information */ |
|
36 |
|
37 const UNS8 Linux_slave_iam_a_slave = 1; |
|
38 |
|
39 TIMER_HANDLE Linux_slave_heartBeatTimers[1] = {TIMER_NONE,}; |
|
40 |
|
41 /* |
|
42 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ |
|
43 |
|
44 OBJECT DICTIONARY |
|
45 |
|
46 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ |
67 */ |
47 */ |
68 #define NODE_ID 0x01 |
48 |
69 UNS8 Linux_slave_bDeviceNodeId = NODE_ID; |
49 /* index 0x1000 : Device Type. */ |
70 |
50 UNS32 Linux_slave_obj1000 = 0x0; /* 0 */ |
71 |
51 subindex Linux_slave_Index1000[] = |
72 //*****************************************************************************/ |
52 { |
73 /* Array of message processing information */ |
53 { RO, uint32, sizeof (UNS32), (void*)&Linux_slave_obj1000 } |
74 /* Should not be modified */ |
54 }; |
75 |
55 |
76 const UNS8 Linux_slave_iam_a_slave = 1 |
56 /* index 0x1001 : Error Register. */ |
77 |
57 UNS8 Linux_slave_obj1001 = 0x0; /* 0 */ |
78 // Macros definition |
58 subindex Linux_slave_Index1001[] = |
79 |
59 { |
80 /* Beware : |
60 { RO, uint8, sizeof (UNS8), (void*)&Linux_slave_obj1001 } |
81 index *must* be writen 4 numbers in hexa |
61 }; |
82 sub_index *must* be writen 2 numbers in hexa |
62 |
83 size_variable_in_UNS8 *must* be writen 2 numbers in hexa |
63 /* index 0x1005 : SYNC COB ID */ |
84 */ |
64 UNS32 Linux_slave_obj1005 = 0x0; /* 0 */ |
85 #define PDO_MAP(index, sub_index, size_variable_in_bits)\ |
65 |
86 0x ## index ## sub_index ## size_variable_in_bits |
66 /* index 0x1006 : Communication / Cycle Period */ |
87 |
67 UNS32 Linux_slave_obj1006 = 0x0; /* 0 */ |
88 /** This macro helps creating the object dictionary entries. |
68 |
89 * by calling this macro |
69 /* index 0x1008 : Manufacturer Device Name. */ |
90 * it creates an entry in form of: 7 of entries, pointer to the entry. |
70 UNS8 Linux_slave_obj1008[10] = "Appli_Slave_HC12"; |
91 */ |
71 subindex Linux_slave_Index1008[] = |
92 #define DeclareIndexTableEntry(entryname, index) { (subindex*)entryname,sizeof(entryname)/sizeof(entryname[0]), index} |
72 { |
93 |
73 { RO, visible_string, 16, (void*)&Linux_slave_obj1008 } |
94 //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ |
74 }; |
95 // |
75 |
96 // OBJECT DICTIONARY |
76 /* index 0x1016 : Consumer Heartbeat Time. */ |
97 // |
77 UNS8 Linux_slave_highestSubIndex_obj1016 = 1; /* number of subindex - 1*/ |
98 //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ |
78 UNS32 Linux_slave_obj1016[] = |
99 // Make your change, depending of your application |
79 { |
100 |
80 0x0 /* 0 */ |
101 |
81 }; |
102 /* index 0x1000 : Device type. |
|
103 You have to change the value below, so |
|
104 it fits your canopen-slave-module */ |
|
105 |
|
106 /* Not used, so, should not be modified */ |
|
107 |
|
108 UNS32 Linux_slave_obj1000 = 0; |
|
109 subindex Linux_slave_Index1000[] = |
|
110 { |
|
111 { RO, uint32, sizeof(UNS32), (void*)&Linux_slave_obj1000 } |
|
112 }; |
|
113 |
|
114 /* index 0x1001 : Error register. |
|
115 Change the entries to fit your application |
|
116 Not used, so, should not be modified */ |
|
117 /*const*/ UNS8 Linux_slave_obj1001 = 0x0; |
|
118 /*const*/ subindex Linux_slave_Index1001[] = |
|
119 { |
|
120 { RO, uint8, sizeof(UNS8), (void*)&Linux_slave_obj1001 } |
|
121 }; |
|
122 |
|
123 /* index 0x1005 : COB_ID SYNC */ |
|
124 /* Should not be modified */ |
|
125 UNS32 Linux_slave_obj1005 = 0x00000080; // bit 30 = 1 : device can generate a SYNC message |
|
126 // Beware, it is over written when the node |
|
127 // enters in reset mode |
|
128 // See initResetMode() in init.c |
|
129 /*const*/ subindex Linux_slave_Index1005[] = |
|
130 { |
|
131 { RW, uint32, sizeof(UNS32), (void*)&Linux_slave_obj1005 } |
|
132 }; |
|
133 |
|
134 /* index 0x1006 : SYNC period */ |
|
135 // For producing the SYNC signal every n micro-seconds. |
|
136 // Put 0 to not producing SYNC |
|
137 /*const*/ UNS32 Linux_slave_obj1006 = 0x0; |
|
138 // Default 0 to not produce SYNC // |
|
139 // Beware, it is over written when the |
|
140 // node enters in reset mode. |
|
141 // See initResetMode() in init.c |
|
142 /*const*/ subindex Linux_slave_Index1006[] = |
|
143 { |
|
144 { RW, uint32, sizeof(UNS32), (void*)&Linux_slave_obj1006 } |
|
145 }; |
|
146 |
|
147 /* index 0x1007 : Synchronous Window Length |
|
148 Seems to be needed by DS401 to generate the SYNC signal ! */ |
|
149 /*const*/ UNS32 Linux_slave_obj1007 = 0x0; /* Default 0 */ |
|
150 /*const*/ subindex Linux_slave_Index1007[] = |
|
151 { |
|
152 { RW, uint32, sizeof(UNS32), (void*)&Linux_slave_obj1007 } |
|
153 }; |
|
154 |
|
155 /* index 0x1008 : Manufacturer device name */ |
|
156 UNS8 Linux_slave_obj1008[] = "Appli_Slave_HC12"; /* Default 0 */ |
|
157 subindex Linux_slave_Index1008[] = |
|
158 { |
|
159 { RO, uint32, sizeof(Linux_slave_obj1008), (void*)&Linux_slave_obj1008 } |
|
160 }; |
|
161 |
|
162 /* index 0x1009 : Manufacturer hardware version */ |
|
163 UNS8 Linux_slave_obj1009[] = "__DATE__"; /* Default 0 */ |
|
164 subindex Linux_slave_Index1009[] = |
|
165 { |
|
166 { RO, uint32, sizeof(Linux_slave_obj1009), (void*)&Linux_slave_obj1009 } |
|
167 }; |
|
168 |
|
169 /* index 0x100A : Manufacturer software version */ |
|
170 UNS8 Linux_slave_obj100A[] = __TIME__; /* Default 0 */ |
|
171 subindex Linux_slave_Index100A[] = |
|
172 { |
|
173 { RO, uint32, Linux_slave_sizeof(obj100A), (void*)&Linux_slave_obj100A} |
|
174 }; |
|
175 |
|
176 |
|
177 TIMER_HANDLE Linux_slave_heartBeatTimers[1] = {TIMER_NONE,}; |
|
178 /* index 0x1016 : HeartBeat consumers |
|
179 The nodes which can send a heartbeat */ |
|
180 UNS32 Linux_slave_obj1016[] = {// Consumer time for each node |
|
181 0x00000000}; // Format 0x00NNTTTT (N=Node T=time in ms) |
|
182 |
|
183 UNS8 Linux_slave_obj1016_cnt = 1; // 1 nodes could send me |
|
184 // their heartbeat. |
|
185 subindex Linux_slave_Index1016[] = |
82 subindex Linux_slave_Index1016[] = |
186 { |
83 { |
187 { RO, uint8, sizeof(UNS8), (void*)&Linux_slave_obj1016_cnt }, |
84 { RO, uint8, sizeof (UNS8), (void*)&Linux_slave_highestSubIndex_obj1016 }, |
188 { RW, uint32, sizeof(UNS32), (void*)&Linux_slave_obj1016[0] } |
85 { RW, uint32, sizeof (UNS32), (void*)&Linux_slave_obj1016[0] } |
189 }; |
86 }; |
190 |
87 |
191 /* index 0x1017 : Heartbeat producer |
88 /* index 0x1017 : Producer Heartbeat Time */ |
192 Every HBProducerTime, the node sends its heartbeat */ |
89 UNS16 Linux_slave_obj1017 = 0x0; /* 0 */ |
193 UNS16 Linux_slave_obj1017 = 0; //HBProducerTime in ms. If 0 : not activated |
90 |
194 // Beware, it is over written when the |
91 /* index 0x1018 : Identity. */ |
195 // node enters in reset mode. |
92 UNS8 Linux_slave_highestSubIndex_obj1018 = 4; /* number of subindex - 1*/ |
196 // See initResetMode() in init.c |
93 UNS32 Linux_slave_obj1018_Vendor_ID = 0x0; /* 0 */ |
197 subindex Linux_slave_Index1017[] = |
94 UNS32 Linux_slave_obj1018_Product_Code = 0x0; /* 0 */ |
198 { |
95 UNS32 Linux_slave_obj1018_Revision_Number = 0x0; /* 0 */ |
199 { RW, uint16, sizeof(UNS16), &Linux_slave_obj1017 } |
96 UNS32 Linux_slave_obj1018_Serial_Number = 0x0; /* 0 */ |
200 }; |
97 subindex Linux_slave_Index1018[] = |
201 |
98 { |
202 /* index 0x1018 : Identity object */ |
99 { RO, uint8, sizeof (UNS8), (void*)&Linux_slave_highestSubIndex_obj1018 }, |
203 /** index 1018: identify object. Adjust the entries for your node/company |
100 { RO, uint32, sizeof (UNS32), (void*)&Linux_slave_obj1018_Vendor_ID }, |
204 */ |
101 { RO, uint32, sizeof (UNS32), (void*)&Linux_slave_obj1018_Product_Code }, |
205 /* Values can be modified */ |
102 { RO, uint32, sizeof (UNS32), (void*)&Linux_slave_obj1018_Revision_Number }, |
206 |
103 { RO, uint32, sizeof (UNS32), (void*)&Linux_slave_obj1018_Serial_Number } |
207 s_identity Linux_slave_obj1018 = |
104 }; |
208 { |
105 |
209 4, // number of supported entries |
106 /* index 0x1280 : Client SDO 1 Parameter. */ |
210 0, // Vendor-ID (given by the can-cia) |
107 UNS8 Linux_slave_highestSubIndex_obj1280 = 3; /* number of subindex - 1*/ |
211 0, // Product Code |
108 UNS32 Linux_slave_obj1280_COB_ID_Client_to_Server_Transmit_SDO = 0x0; /* 0 */ |
212 0, // Revision number |
109 UNS32 Linux_slave_obj1280_COB_ID_Server_to_Client_Receive_SDO = 0x0; /* 0 */ |
213 0 // serial number |
110 UNS8 Linux_slave_obj1280_Node_ID_of_the_SDO_Server = 0x0; /* 0 */ |
214 }; |
|
215 |
|
216 subindex Linux_slave_Index1018[] = |
|
217 { |
|
218 { RO, uint8, sizeof(UNS8), (void*)&Linux_slave_obj1018.count }, |
|
219 { RO, uint32, sizeof(UNS32), (void*)&Linux_slave_obj1018.vendor_id}, |
|
220 { RO, uint32, sizeof(UNS32), (void*)&Linux_slave_obj1018.product_code}, |
|
221 { RO, uint32, sizeof(UNS32), (void*)&Linux_slave_obj1018.revision_number}, |
|
222 { RO, uint32, sizeof(UNS32), (void*)&Linux_slave_obj1018.serial_number} |
|
223 }; |
|
224 |
|
225 /* index 0x1200 : The SDO Server parameters */ |
|
226 /* BEWARE You cannot define more than one SDO server */ |
|
227 /* The values should not be modified here, |
|
228 but can be changed at runtime */ |
|
229 // Beware that the default values that you could put here |
|
230 // will be over written at the initialisation of the node. |
|
231 // See setNodeId() in init.c |
|
232 s_sdo_parameter Linux_slave_obj1200 = |
|
233 { 3, // Number of entries. Always 3 for the SDO |
|
234 0x601, // The cob_id transmited in CAN msg to the server |
|
235 0x581, // The cob_id received in CAN msg from the server |
|
236 0x01 // The node id of the client. Should not be modified |
|
237 }; |
|
238 subindex Linux_slave_Index1200[] = |
|
239 { |
|
240 { RO, uint8, sizeof( UNS8 ), (void*)&Linux_slave_obj1200.count }, |
|
241 { RO, uint32, sizeof( UNS32), (void*)&Linux_slave_obj1200.cob_id_client }, |
|
242 { RO, uint32, sizeof( UNS32), (void*)&Linux_slave_obj1200.cob_id_server }, |
|
243 { RW, uint8, sizeof( UNS8), (void*)&Linux_slave_obj1200.node_id } |
|
244 }; |
|
245 |
|
246 /* index 0x1280 : SDO client parameter */ |
|
247 s_sdo_parameter Linux_slave_obj1280 = |
|
248 { 3, // Nb of entries |
|
249 0x600, // cobid transmited to the server. The good value should be 0x600 + server nodeId |
|
250 0x580, // cobid received from the server. The good value should be 0x580 + server nodeId |
|
251 0x01 // server NodeId |
|
252 }; |
|
253 subindex Linux_slave_Index1280[] = |
111 subindex Linux_slave_Index1280[] = |
254 { |
112 { |
255 { RO, uint8, sizeof( UNS8 ), (void*)&Linux_slave_obj1280.count }, |
113 { RO, uint8, sizeof (UNS8), (void*)&Linux_slave_highestSubIndex_obj1280 }, |
256 { RW, uint8, sizeof( UNS32 ), (void*)&Linux_slave_obj1280.cob_id_client }, |
114 { RW, uint32, sizeof (UNS32), (void*)&Linux_slave_obj1280_COB_ID_Client_to_Server_Transmit_SDO }, |
257 { RW, uint8, sizeof( UNS32 ), (void*)&Linux_slave_obj1280.cob_id_server }, |
115 { RW, uint32, sizeof (UNS32), (void*)&Linux_slave_obj1280_COB_ID_Server_to_Client_Receive_SDO }, |
258 { RW, uint8, sizeof( UNS8 ), (void*)&Linux_slave_obj1280.node_id } |
116 { RW, uint8, sizeof (UNS8), (void*)&Linux_slave_obj1280_Node_ID_of_the_SDO_Server } |
259 }; |
117 }; |
260 |
118 |
261 /* index 0x1400 : PDO receive communication parameter */ |
119 /* index 0x1400 : Receive PDO 1 Parameter. */ |
262 s_pdo_communication_parameter Linux_slave_obj1400 = |
120 UNS8 Linux_slave_highestSubIndex_obj1400 = 5; /* number of subindex - 1*/ |
263 { 2, // Largest subindex supported |
121 UNS32 Linux_slave_obj1400_COB_ID_used_by_PDO = 0x200; /* 512 */ |
264 0x0, // Default COBID (overwritten at init for index 0x1400 to 0x1403) |
122 UNS8 Linux_slave_obj1400_Transmission_Type = 0x0; /* 0 */ |
265 253 // Transmission type. See objdictdef.h |
123 UNS16 Linux_slave_obj1400_Inhibit_Time = 0x0; /* 0 */ |
266 }; |
124 UNS8 Linux_slave_obj1400_Compatibility_Entry = 0x0; /* 0 */ |
|
125 UNS16 Linux_slave_obj1400_Event_Timer = 0x0; /* 0 */ |
267 subindex Linux_slave_Index1400[] = |
126 subindex Linux_slave_Index1400[] = |
268 { |
127 { |
269 { RO, uint8, sizeof( UNS8 ), (void*)&Linux_slave_obj1400.count }, |
128 { RO, uint8, sizeof (UNS8), (void*)&Linux_slave_highestSubIndex_obj1400 }, |
270 { RW, uint8, sizeof( UNS32 ), (void*)&Linux_slave_obj1400.cob_id }, |
129 { RW, uint32, sizeof (UNS32), (void*)&Linux_slave_obj1400_COB_ID_used_by_PDO }, |
271 { RW, uint8, sizeof( UNS8 ), (void*)&Linux_slave_obj1400.type }, |
130 { RW, uint8, sizeof (UNS8), (void*)&Linux_slave_obj1400_Transmission_Type }, |
272 }; |
131 { RW, uint16, sizeof (UNS16), (void*)&Linux_slave_obj1400_Inhibit_Time }, |
273 |
132 { RW, uint8, sizeof (UNS8), (void*)&Linux_slave_obj1400_Compatibility_Entry }, |
274 /* index 0x1401 : PDO receive communication parameter */ |
133 { RW, uint16, sizeof (UNS16), (void*)&Linux_slave_obj1400_Event_Timer } |
275 s_pdo_communication_parameter Linux_slave_obj1401 = |
134 }; |
276 { 2, // Largest subindex supported |
135 |
277 0x0, // Default COBID (overwritten at init for index 0x1400 to 0x1403) |
136 /* index 0x1401 : Receive PDO 2 Parameter. */ |
278 253 // Transmission type. See objdictdef.h |
137 UNS8 Linux_slave_highestSubIndex_obj1401 = 5; /* number of subindex - 1*/ |
279 }; |
138 UNS32 Linux_slave_obj1401_COB_ID_used_by_PDO = 0x300; /* 768 */ |
|
139 UNS8 Linux_slave_obj1401_Transmission_Type = 0x0; /* 0 */ |
|
140 UNS16 Linux_slave_obj1401_Inhibit_Time = 0x0; /* 0 */ |
|
141 UNS8 Linux_slave_obj1401_Compatibility_Entry = 0x0; /* 0 */ |
|
142 UNS16 Linux_slave_obj1401_Event_Timer = 0x0; /* 0 */ |
280 subindex Linux_slave_Index1401[] = |
143 subindex Linux_slave_Index1401[] = |
281 { |
144 { |
282 { RO, uint8, sizeof( UNS8 ), (void*)&Linux_slave_obj1401.count }, |
145 { RO, uint8, sizeof (UNS8), (void*)&Linux_slave_highestSubIndex_obj1401 }, |
283 { RW, uint8, sizeof( UNS32 ), (void*)&Linux_slave_obj1401.cob_id }, |
146 { RW, uint32, sizeof (UNS32), (void*)&Linux_slave_obj1401_COB_ID_used_by_PDO }, |
284 { RW, uint8, sizeof( UNS8 ), (void*)&Linux_slave_obj1401.type }, |
147 { RW, uint8, sizeof (UNS8), (void*)&Linux_slave_obj1401_Transmission_Type }, |
285 }; |
148 { RW, uint16, sizeof (UNS16), (void*)&Linux_slave_obj1401_Inhibit_Time }, |
286 |
149 { RW, uint8, sizeof (UNS8), (void*)&Linux_slave_obj1401_Compatibility_Entry }, |
287 /* index 0x1402 : PDO receive communication parameter */ |
150 { RW, uint16, sizeof (UNS16), (void*)&Linux_slave_obj1401_Event_Timer } |
288 s_pdo_communication_parameter Linux_slave_obj1402 = |
151 }; |
289 { 2, // Largest subindex supported |
152 |
290 0x0, // Default COBID (overwritten at init for index 0x1400 to 0x1403) |
153 /* index 0x1402 : Receive PDO 3 Parameter. */ |
291 253 // Transmission type. See objdictdef.h |
154 UNS8 Linux_slave_highestSubIndex_obj1402 = 5; /* number of subindex - 1*/ |
292 }; |
155 UNS32 Linux_slave_obj1402_COB_ID_used_by_PDO = 0x400; /* 1024 */ |
|
156 UNS8 Linux_slave_obj1402_Transmission_Type = 0x0; /* 0 */ |
|
157 UNS16 Linux_slave_obj1402_Inhibit_Time = 0x0; /* 0 */ |
|
158 UNS8 Linux_slave_obj1402_Compatibility_Entry = 0x0; /* 0 */ |
|
159 UNS16 Linux_slave_obj1402_Event_Timer = 0x0; /* 0 */ |
293 subindex Linux_slave_Index1402[] = |
160 subindex Linux_slave_Index1402[] = |
294 { |
161 { |
295 { RO, uint8, sizeof( UNS8 ), (void*)&Linux_slave_obj1402.count }, |
162 { RO, uint8, sizeof (UNS8), (void*)&Linux_slave_highestSubIndex_obj1402 }, |
296 { RW, uint8, sizeof( UNS32 ), (void*)&Linux_slave_obj1402.cob_id }, |
163 { RW, uint32, sizeof (UNS32), (void*)&Linux_slave_obj1402_COB_ID_used_by_PDO }, |
297 { RW, uint8, sizeof( UNS8 ), (void*)&Linux_slave_obj1402.type }, |
164 { RW, uint8, sizeof (UNS8), (void*)&Linux_slave_obj1402_Transmission_Type }, |
298 }; |
165 { RW, uint16, sizeof (UNS16), (void*)&Linux_slave_obj1402_Inhibit_Time }, |
299 |
166 { RW, uint8, sizeof (UNS8), (void*)&Linux_slave_obj1402_Compatibility_Entry }, |
300 /* index 0x1600 : PDO receive mapping parameter of PDO communication index 0x1400 */ |
167 { RW, uint16, sizeof (UNS16), (void*)&Linux_slave_obj1402_Event_Timer } |
301 UNS8 Linux_slave_obj1600_cnt = 0; // Number of mapped variables |
168 }; |
302 UNS32 Linux_slave_obj1600_mappedVar[] = { |
169 |
303 0x00000000, |
170 /* index 0x1403 : Receive PDO 4 Parameter. */ |
304 0x00000000, |
171 UNS8 Linux_slave_highestSubIndex_obj1403 = 5; /* number of subindex - 1*/ |
305 0x00000000, |
172 UNS32 Linux_slave_obj1403_COB_ID_used_by_PDO = 0x500; /* 1280 */ |
306 0x00000000, |
173 UNS8 Linux_slave_obj1403_Transmission_Type = 0x0; /* 0 */ |
307 0x00000000, |
174 UNS16 Linux_slave_obj1403_Inhibit_Time = 0x0; /* 0 */ |
308 0x00000000, |
175 UNS8 Linux_slave_obj1403_Compatibility_Entry = 0x0; /* 0 */ |
309 0x00000000, |
176 UNS16 Linux_slave_obj1403_Event_Timer = 0x0; /* 0 */ |
310 0x00000000 |
177 subindex Linux_slave_Index1403[] = |
311 }; |
178 { |
|
179 { RO, uint8, sizeof (UNS8), (void*)&Linux_slave_highestSubIndex_obj1403 }, |
|
180 { RW, uint32, sizeof (UNS32), (void*)&Linux_slave_obj1403_COB_ID_used_by_PDO }, |
|
181 { RW, uint8, sizeof (UNS8), (void*)&Linux_slave_obj1403_Transmission_Type }, |
|
182 { RW, uint16, sizeof (UNS16), (void*)&Linux_slave_obj1403_Inhibit_Time }, |
|
183 { RW, uint8, sizeof (UNS8), (void*)&Linux_slave_obj1403_Compatibility_Entry }, |
|
184 { RW, uint16, sizeof (UNS16), (void*)&Linux_slave_obj1403_Event_Timer } |
|
185 }; |
|
186 |
|
187 /* index 0x1600 : Receive PDO 1 Mapping. */ |
|
188 UNS8 Linux_slave_highestSubIndex_obj1600 = 1; /* number of subindex - 1*/ |
|
189 UNS32 Linux_slave_obj1600[] = |
|
190 { |
|
191 0x0 /* 0 */ |
|
192 }; |
312 subindex Linux_slave_Index1600[] = |
193 subindex Linux_slave_Index1600[] = |
313 { |
194 { |
314 { RW, uint8, sizeof( UNS8 ), (void*)&Linux_slave_obj1600_cnt }, |
195 { RW, uint8, sizeof (UNS8), (void*)&Linux_slave_highestSubIndex_obj1600 }, |
315 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1600_mappedVar[0]}, |
196 { RW, uint32, sizeof (UNS32), (void*)&Linux_slave_obj1600[0] } |
316 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1600_mappedVar[1]}, |
197 }; |
317 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1600_mappedVar[2]}, |
198 |
318 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1600_mappedVar[3]}, |
199 /* index 0x1601 : Receive PDO 2 Mapping. */ |
319 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1600_mappedVar[4]}, |
200 UNS8 Linux_slave_highestSubIndex_obj1601 = 1; /* number of subindex - 1*/ |
320 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1600_mappedVar[5]}, |
201 UNS32 Linux_slave_obj1601[] = |
321 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1600_mappedVar[6]}, |
202 { |
322 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1600_mappedVar[7]} |
203 0x0 /* 0 */ |
323 }; |
204 }; |
324 |
|
325 /* index 0x1601 : PDO receive mapping parameter of PDO communication index 0x1401 */ |
|
326 UNS8 Linux_slave_obj1601_cnt = 0; // Number of mapped variables |
|
327 UNS32 Linux_slave_obj1601_mappedVar[] = { |
|
328 0x00000000, |
|
329 0x00000000, |
|
330 0x00000000, |
|
331 0x00000000, |
|
332 0x00000000, |
|
333 0x00000000, |
|
334 0x00000000, |
|
335 0x00000000 |
|
336 }; |
|
337 subindex Linux_slave_Index1601[] = |
205 subindex Linux_slave_Index1601[] = |
338 { |
206 { |
339 { RW, uint8, sizeof( UNS8 ), (void*)&Linux_slave_obj1601_cnt }, |
207 { RW, uint8, sizeof (UNS8), (void*)&Linux_slave_highestSubIndex_obj1601 }, |
340 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1601_mappedVar[0]}, |
208 { RW, uint32, sizeof (UNS32), (void*)&Linux_slave_obj1601[0] } |
341 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1601_mappedVar[1]}, |
209 }; |
342 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1601_mappedVar[2]}, |
210 |
343 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1601_mappedVar[3]}, |
211 /* index 0x1602 : Receive PDO 3 Mapping. */ |
344 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1601_mappedVar[4]}, |
212 UNS8 Linux_slave_highestSubIndex_obj1602 = 1; /* number of subindex - 1*/ |
345 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1601_mappedVar[5]}, |
213 UNS32 Linux_slave_obj1602[] = |
346 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1601_mappedVar[6]}, |
214 { |
347 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1601_mappedVar[7]} |
215 0x0 /* 0 */ |
348 }; |
216 }; |
349 |
|
350 /* index 0x1602 : PDO receive mapping parameter of PDO communication index 0x1402 */ |
|
351 UNS8 Linux_slave_obj1602_cnt = 0; // Number of mapped variables |
|
352 UNS32 Linux_slave_obj1602_mappedVar[] = { |
|
353 0x00000000, |
|
354 0x00000000, |
|
355 0x00000000, |
|
356 0x00000000, |
|
357 0x00000000, |
|
358 0x00000000, |
|
359 0x00000000, |
|
360 0x00000000 |
|
361 }; |
|
362 subindex Linux_slave_Index1602[] = |
217 subindex Linux_slave_Index1602[] = |
363 { |
218 { |
364 { RW, uint8, sizeof( UNS8 ), (void*)&Linux_slave_obj1602_cnt }, |
219 { RW, uint8, sizeof (UNS8), (void*)&Linux_slave_highestSubIndex_obj1602 }, |
365 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1602_mappedVar[0]}, |
220 { RW, uint32, sizeof (UNS32), (void*)&Linux_slave_obj1602[0] } |
366 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1602_mappedVar[1]}, |
221 }; |
367 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1602_mappedVar[2]}, |
222 |
368 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1602_mappedVar[3]}, |
223 /* index 0x1603 : Receive PDO 4 Mapping. */ |
369 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1602_mappedVar[4]}, |
224 UNS8 Linux_slave_highestSubIndex_obj1603 = 1; /* number of subindex - 1*/ |
370 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1602_mappedVar[5]}, |
225 UNS32 Linux_slave_obj1603[] = |
371 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1602_mappedVar[6]}, |
226 { |
372 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1602_mappedVar[7]} |
227 0x0 /* 0 */ |
373 }; |
228 }; |
374 |
229 subindex Linux_slave_Index1603[] = |
375 /* index 0x1800 : PDO transmit communication parameter */ |
230 { |
376 s_pdo_communication_parameter Linux_slave_obj1800 = |
231 { RW, uint8, sizeof (UNS8), (void*)&Linux_slave_highestSubIndex_obj1603 }, |
377 { 2, // Largest subindex supported |
232 { RW, uint32, sizeof (UNS32), (void*)&Linux_slave_obj1603[0] } |
378 0x0, // Default COBID (overwritten at init for index 0x1400 to 0x1403) |
233 }; |
379 253 // Transmission type. See objdictdef.h |
234 |
380 }; |
235 /* index 0x1800 : Transmit PDO 1 Parameter. */ |
|
236 UNS8 Linux_slave_highestSubIndex_obj1800 = 5; /* number of subindex - 1*/ |
|
237 UNS32 Linux_slave_obj1800_COB_ID_used_by_PDO = 0x180; /* 384 */ |
|
238 UNS8 Linux_slave_obj1800_Transmission_Type = 0x0; /* 0 */ |
|
239 UNS16 Linux_slave_obj1800_Inhibit_Time = 0x0; /* 0 */ |
|
240 UNS8 Linux_slave_obj1800_Compatibility_Entry = 0x0; /* 0 */ |
|
241 UNS16 Linux_slave_obj1800_Event_Timer = 0x0; /* 0 */ |
|
242 ODCallback_t Linux_slave_Index1800_callbacks[] = |
|
243 { |
|
244 NULL, |
|
245 NULL, |
|
246 NULL, |
|
247 NULL, |
|
248 NULL, |
|
249 NULL, |
|
250 }; |
381 subindex Linux_slave_Index1800[] = |
251 subindex Linux_slave_Index1800[] = |
382 { |
252 { |
383 { RO, uint8, sizeof( UNS8 ), (void*)&Linux_slave_obj1800.count }, |
253 { RO, uint8, sizeof (UNS8), (void*)&Linux_slave_highestSubIndex_obj1800 }, |
384 { RW, uint8, sizeof( UNS32 ), (void*)&Linux_slave_obj1800.cob_id }, |
254 { RW, uint32, sizeof (UNS32), (void*)&Linux_slave_obj1800_COB_ID_used_by_PDO }, |
385 { RW, uint8, sizeof( UNS8 ), (void*)&Linux_slave_obj1800.type }, |
255 { RW, uint8, sizeof (UNS8), (void*)&Linux_slave_obj1800_Transmission_Type }, |
386 }; |
256 { RW, uint16, sizeof (UNS16), (void*)&Linux_slave_obj1800_Inhibit_Time }, |
387 |
257 { RW, uint8, sizeof (UNS8), (void*)&Linux_slave_obj1800_Compatibility_Entry }, |
388 /* index 0x1801 : PDO transmit communication parameter */ |
258 { RW, uint16, sizeof (UNS16), (void*)&Linux_slave_obj1800_Event_Timer } |
389 s_pdo_communication_parameter Linux_slave_obj1801 = |
259 }; |
390 { 2, // Largest subindex supported |
260 |
391 0x0, // Default COBID (overwritten at init for index 0x1400 to 0x1403) |
261 /* index 0x1801 : Transmit PDO 2 Parameter. */ |
392 253 // Transmission type. See objdictdef.h |
262 UNS8 Linux_slave_highestSubIndex_obj1801 = 5; /* number of subindex - 1*/ |
393 }; |
263 UNS32 Linux_slave_obj1801_COB_ID_used_by_PDO = 0x280; /* 640 */ |
|
264 UNS8 Linux_slave_obj1801_Transmission_Type = 0x0; /* 0 */ |
|
265 UNS16 Linux_slave_obj1801_Inhibit_Time = 0x0; /* 0 */ |
|
266 UNS8 Linux_slave_obj1801_Compatibility_Entry = 0x0; /* 0 */ |
|
267 UNS16 Linux_slave_obj1801_Event_Timer = 0x0; /* 0 */ |
|
268 ODCallback_t Linux_slave_Index1801_callbacks[] = |
|
269 { |
|
270 NULL, |
|
271 NULL, |
|
272 NULL, |
|
273 NULL, |
|
274 NULL, |
|
275 NULL, |
|
276 }; |
394 subindex Linux_slave_Index1801[] = |
277 subindex Linux_slave_Index1801[] = |
395 { |
278 { |
396 { RO, uint8, sizeof( UNS8 ), (void*)&Linux_slave_obj1801.count }, |
279 { RO, uint8, sizeof (UNS8), (void*)&Linux_slave_highestSubIndex_obj1801 }, |
397 { RW, uint8, sizeof( UNS32 ), (void*)&Linux_slave_obj1801.cob_id }, |
280 { RW, uint32, sizeof (UNS32), (void*)&Linux_slave_obj1801_COB_ID_used_by_PDO }, |
398 { RW, uint8, sizeof( UNS8 ), (void*)&Linux_slave_obj1801.type }, |
281 { RW, uint8, sizeof (UNS8), (void*)&Linux_slave_obj1801_Transmission_Type }, |
399 }; |
282 { RW, uint16, sizeof (UNS16), (void*)&Linux_slave_obj1801_Inhibit_Time }, |
400 |
283 { RW, uint8, sizeof (UNS8), (void*)&Linux_slave_obj1801_Compatibility_Entry }, |
401 /* index 0x1802 : PDO transmit communication parameter */ |
284 { RW, uint16, sizeof (UNS16), (void*)&Linux_slave_obj1801_Event_Timer } |
402 s_pdo_communication_parameter Linux_slave_obj1802 = |
285 }; |
403 { 2, // Largest subindex supported |
286 |
404 0x0, // Default COBID (overwritten at init for index 0x1400 to 0x1403) |
287 /* index 0x1A00 : Transmit PDO 1 Mapping. */ |
405 253 // Transmission type. See objdictdef.h |
288 UNS8 Linux_slave_highestSubIndex_obj1A00 = 1; /* number of subindex - 1*/ |
406 }; |
289 UNS32 Linux_slave_obj1A00[] = |
407 subindex Linux_slave_Index1802[] = |
290 { |
408 { |
291 0x0 /* 0 */ |
409 { RO, uint8, sizeof( UNS8 ), (void*)&Linux_slave_obj1802.count }, |
292 }; |
410 { RW, uint8, sizeof( UNS32 ), (void*)&Linux_slave_obj1802.cob_id }, |
|
411 { RW, uint8, sizeof( UNS8 ), (void*)&Linux_slave_obj1802.type }, |
|
412 }; |
|
413 |
|
414 /* index 0x1A00 : PDO transmit mapping parameter of PDO communication index 0x1800 */ |
|
415 UNS8 Linux_slave_obj1A00_cnt = 0; // Number of mapped variables |
|
416 UNS32 Linux_slave_obj1A00_mappedVar[] = { |
|
417 0x00000000, |
|
418 0x00000000, |
|
419 0x00000000, |
|
420 0x00000000, |
|
421 0x00000000, |
|
422 0x00000000, |
|
423 0x00000000, |
|
424 0x00000000 |
|
425 }; |
|
426 subindex Linux_slave_Index1A00[] = |
293 subindex Linux_slave_Index1A00[] = |
427 { |
294 { |
428 { RW, uint8, sizeof( UNS8 ), (void*)&Linux_slave_obj1A00_cnt }, |
295 { RW, uint8, sizeof (UNS8), (void*)&Linux_slave_highestSubIndex_obj1A00 }, |
429 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A00_mappedVar[0]}, |
296 { RW, uint32, sizeof (UNS32), (void*)&Linux_slave_obj1A00[0] } |
430 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A00_mappedVar[1]}, |
297 }; |
431 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A00_mappedVar[2]}, |
298 |
432 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A00_mappedVar[3]}, |
299 /* index 0x1A01 : Transmit PDO 2 Mapping. */ |
433 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A00_mappedVar[4]}, |
300 UNS8 Linux_slave_highestSubIndex_obj1A01 = 1; /* number of subindex - 1*/ |
434 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A00_mappedVar[5]}, |
301 UNS32 Linux_slave_obj1A01[] = |
435 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A00_mappedVar[6]}, |
302 { |
436 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A00_mappedVar[7]} |
303 0x0 /* 0 */ |
437 }; |
304 }; |
438 |
|
439 /* index 0x1A01 : PDO transmit mapping parameter of PDO communication index 0x1801 */ |
|
440 UNS8 Linux_slave_obj1A01_cnt = 0; // Number of mapped variables |
|
441 UNS32 Linux_slave_obj1A01_mappedVar[] = { |
|
442 0x00000000, |
|
443 0x00000000, |
|
444 0x00000000, |
|
445 0x00000000, |
|
446 0x00000000, |
|
447 0x00000000, |
|
448 0x00000000, |
|
449 0x00000000 |
|
450 }; |
|
451 subindex Linux_slave_Index1A01[] = |
305 subindex Linux_slave_Index1A01[] = |
452 { |
306 { |
453 { RW, uint8, sizeof( UNS8 ), (void*)&Linux_slave_obj1A01_cnt }, |
307 { RW, uint8, sizeof (UNS8), (void*)&Linux_slave_highestSubIndex_obj1A01 }, |
454 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A01_mappedVar[0]}, |
308 { RW, uint32, sizeof (UNS32), (void*)&Linux_slave_obj1A01[0] } |
455 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A01_mappedVar[1]}, |
309 }; |
456 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A01_mappedVar[2]}, |
310 |
457 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A01_mappedVar[3]}, |
311 /* index 0x2000 : Mapped variable Time */ |
458 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A01_mappedVar[4]}, |
312 UNS8 Linux_slave_highestSubIndex_obj2000 = 4; /* number of subindex - 1*/ |
459 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A01_mappedVar[5]}, |
|
460 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A01_mappedVar[6]}, |
|
461 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A01_mappedVar[7]} |
|
462 }; |
|
463 |
|
464 /* index 0x1A02 : PDO transmit mapping parameter of PDO communication index 0x1802 */ |
|
465 UNS8 Linux_slave_obj1A02_cnt = 0; // Number of mapped variables |
|
466 UNS32 Linux_slave_obj1A02_mappedVar[] = { |
|
467 0x00000000, |
|
468 0x00000000, |
|
469 0x00000000, |
|
470 0x00000000, |
|
471 0x00000000, |
|
472 0x00000000, |
|
473 0x00000000, |
|
474 0x00000000 |
|
475 }; |
|
476 subindex Linux_slave_Index1A02[] = |
|
477 { |
|
478 { RW, uint8, sizeof( UNS8 ), (void*)&Linux_slave_obj1A02_cnt }, |
|
479 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A02_mappedVar[0]}, |
|
480 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A02_mappedVar[1]}, |
|
481 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A02_mappedVar[2]}, |
|
482 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A02_mappedVar[3]}, |
|
483 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A02_mappedVar[4]}, |
|
484 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A02_mappedVar[5]}, |
|
485 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A02_mappedVar[6]}, |
|
486 { RW, uint32, sizeof( UNS32 ), (void*)&Linux_slave_obj1A02_mappedVar[7]} |
|
487 }; |
|
488 |
|
489 |
|
490 /* index 0x2000 : Mapped variable */ |
|
491 UNS8 Linux_slave_highestSubIndex_2000 = 4; // number of subindex - 1 |
|
492 subindex Linux_slave_Index2000[] = |
313 subindex Linux_slave_Index2000[] = |
493 { |
314 { |
494 { RO, uint8, sizeof (UNS8), (void*)&Linux_slave_highestSubIndex_2000 }, |
315 { RO, uint8, sizeof (UNS8), (void*)&Linux_slave_highestSubIndex_obj2000 }, |
495 { RW, uint8, sizeof (UNS8), (void*)&seconds }, |
316 { RW, uint8, sizeof (UNS8), (void*)&Time_seconds }, |
496 { RW, uint8, sizeof (UNS8), (void*)&minutes }, |
317 { RW, uint8, sizeof (UNS8), (void*)&Time_minutes }, |
497 { RW, uint8, sizeof (UNS8), (void*)&hours }, |
318 { RW, uint8, sizeof (UNS8), (void*)&Time_hours }, |
498 { RW, uint8, sizeof (UNS8), (void*)&day } |
319 { RW, uint8, sizeof (UNS8), (void*)&Time_days } |
499 }; |
320 }; |
500 |
321 |
501 /* index 0x6000 : Mapped variable */ |
322 /* index 0x2001 : Mapped variable canopenErrNB */ |
502 UNS8 Linux_slave_highestSubIndex_6000 = 0; // number of subindex - 1 |
323 subindex Linux_slave_Index2001[] = |
503 subindex Linux_slave_Index6000[] = |
|
504 { |
324 { |
505 { RW, uint32, sizeof (UNS32), (void*)&canopenErrNB } |
325 { RW, uint32, sizeof (UNS32), (void*)&canopenErrNB } |
506 }; |
326 }; |
507 |
327 |
508 /* index 0x6001 : Mapped variable */ |
328 /* index 0x2002 : Mapped variable canopenErrVal */ |
509 UNS8 Linux_slave_highestSubIndex_6001 = 0; // number of subindex - 1 |
329 subindex Linux_slave_Index2002[] = |
510 subindex Linux_slave_Index6001[] = |
330 { |
511 { |
331 { RW, uint32, sizeof (UNS32), (void*)&canopenErrVal } |
512 { RW, uint32, sizeof (UNS32), (void*)&canopenErrVAL } |
332 }; |
513 }; |
333 |
514 |
334 /* index 0x2003 : Mapped variable strTest */ |
515 /* index 0x6002 : Mapped variable */ |
335 subindex Linux_slave_Index2003[] = |
516 UNS8 Linux_slave_highestSubIndex_6002 = 0; // number of subindex - 1 |
336 { |
517 subindex Linux_slave_Index6002[] = |
337 { RW, visible_string, 0, (void*)&strTest } |
518 { |
|
519 { RW, visible_string, sizeof (strTest), (void*)&strTest } |
|
520 }; |
338 }; |
521 |
339 |
522 const indextable Linux_slave_objdict[] = |
340 const indextable Linux_slave_objdict[] = |
523 { |
341 { |
524 DeclareIndexTableEntry(Linux_slave_Index1000, 0x1000), |
342 { (subindex*)Linux_slave_Index1000,sizeof(Linux_slave_Index1000)/sizeof(Linux_slave_Index1000[0]), 0x1000}, |
525 DeclareIndexTableEntry(Linux_slave_Index1001, 0x1001), |
343 { (subindex*)Linux_slave_Index1001,sizeof(Linux_slave_Index1001)/sizeof(Linux_slave_Index1001[0]), 0x1001}, |
526 DeclareIndexTableEntry(Linux_slave_Index1005, 0x1005), |
344 { (subindex*)Linux_slave_Index1008,sizeof(Linux_slave_Index1008)/sizeof(Linux_slave_Index1008[0]), 0x1008}, |
527 DeclareIndexTableEntry(Linux_slave_Index1006, 0x1006), |
345 { (subindex*)Linux_slave_Index1016,sizeof(Linux_slave_Index1016)/sizeof(Linux_slave_Index1016[0]), 0x1016}, |
528 DeclareIndexTableEntry(Linux_slave_Index1007, 0x1007), |
346 { (subindex*)Linux_slave_Index1018,sizeof(Linux_slave_Index1018)/sizeof(Linux_slave_Index1018[0]), 0x1018}, |
529 DeclareIndexTableEntry(Linux_slave_Index1008, 0x1008), |
347 { (subindex*)Linux_slave_Index1280,sizeof(Linux_slave_Index1280)/sizeof(Linux_slave_Index1280[0]), 0x1280}, |
530 DeclareIndexTableEntry(Linux_slave_Index1009, 0x1009), |
348 { (subindex*)Linux_slave_Index1400,sizeof(Linux_slave_Index1400)/sizeof(Linux_slave_Index1400[0]), 0x1400}, |
531 DeclareIndexTableEntry(Linux_slave_Index100A, 0x100A), |
349 { (subindex*)Linux_slave_Index1401,sizeof(Linux_slave_Index1401)/sizeof(Linux_slave_Index1401[0]), 0x1401}, |
532 DeclareIndexTableEntry(Linux_slave_Index1016, 0x1016), |
350 { (subindex*)Linux_slave_Index1402,sizeof(Linux_slave_Index1402)/sizeof(Linux_slave_Index1402[0]), 0x1402}, |
533 DeclareIndexTableEntry(Linux_slave_Index1017, 0x1017), |
351 { (subindex*)Linux_slave_Index1403,sizeof(Linux_slave_Index1403)/sizeof(Linux_slave_Index1403[0]), 0x1403}, |
534 DeclareIndexTableEntry(Linux_slave_Index1018, 0x1018), |
352 { (subindex*)Linux_slave_Index1600,sizeof(Linux_slave_Index1600)/sizeof(Linux_slave_Index1600[0]), 0x1600}, |
535 DeclareIndexTableEntry(Linux_slave_Index1200, 0x1200), |
353 { (subindex*)Linux_slave_Index1601,sizeof(Linux_slave_Index1601)/sizeof(Linux_slave_Index1601[0]), 0x1601}, |
536 DeclareIndexTableEntry(Linux_slave_Index1280, 0x1280), |
354 { (subindex*)Linux_slave_Index1602,sizeof(Linux_slave_Index1602)/sizeof(Linux_slave_Index1602[0]), 0x1602}, |
537 DeclareIndexTableEntry(Linux_slave_Index1400, 0x1400), |
355 { (subindex*)Linux_slave_Index1603,sizeof(Linux_slave_Index1603)/sizeof(Linux_slave_Index1603[0]), 0x1603}, |
538 DeclareIndexTableEntry(Linux_slave_Index1401, 0x1401), |
356 { (subindex*)Linux_slave_Index1800,sizeof(Linux_slave_Index1800)/sizeof(Linux_slave_Index1800[0]), 0x1800}, |
539 DeclareIndexTableEntry(Linux_slave_Index1402, 0x1402), |
357 { (subindex*)Linux_slave_Index1801,sizeof(Linux_slave_Index1801)/sizeof(Linux_slave_Index1801[0]), 0x1801}, |
540 DeclareIndexTableEntry(Linux_slave_Index1600, 0x1600), |
358 { (subindex*)Linux_slave_Index1A00,sizeof(Linux_slave_Index1A00)/sizeof(Linux_slave_Index1A00[0]), 0x1A00}, |
541 DeclareIndexTableEntry(Linux_slave_Index1601, 0x1601), |
359 { (subindex*)Linux_slave_Index1A01,sizeof(Linux_slave_Index1A01)/sizeof(Linux_slave_Index1A01[0]), 0x1A01}, |
542 DeclareIndexTableEntry(Linux_slave_Index1602, 0x1602), |
360 { (subindex*)Linux_slave_Index2000,sizeof(Linux_slave_Index2000)/sizeof(Linux_slave_Index2000[0]), 0x2000}, |
543 DeclareIndexTableEntry(Linux_slave_Index1800, 0x1800), |
361 { (subindex*)Linux_slave_Index2001,sizeof(Linux_slave_Index2001)/sizeof(Linux_slave_Index2001[0]), 0x2001}, |
544 DeclareIndexTableEntry(Linux_slave_Index1801, 0x1801), |
362 { (subindex*)Linux_slave_Index2002,sizeof(Linux_slave_Index2002)/sizeof(Linux_slave_Index2002[0]), 0x2002}, |
545 DeclareIndexTableEntry(Linux_slave_Index1802, 0x1802), |
363 { (subindex*)Linux_slave_Index2003,sizeof(Linux_slave_Index2003)/sizeof(Linux_slave_Index2003[0]), 0x2003}, |
546 DeclareIndexTableEntry(Linux_slave_Index1A00, 0x1A00), |
|
547 DeclareIndexTableEntry(Linux_slave_Index1A01, 0x1A01), |
|
548 DeclareIndexTableEntry(Linux_slave_Index1A02, 0x1A02), |
|
549 DeclareIndexTableEntry(Linux_slave_Index2000, 0x2000), |
|
550 DeclareIndexTableEntry(Linux_slave_Index6000, 0x6000), |
|
551 DeclareIndexTableEntry(Linux_slave_Index6001, 0x6001), |
|
552 DeclareIndexTableEntry(Linux_slave_Index6002, 0x6002), |
|
553 }; |
364 }; |
554 |
365 |
555 // To count at which received SYNC a PDO must be sent. |
366 const indextable * Linux_slave_scanIndexOD (UNS16 wIndex, UNS32 * errorCode, ODCallback_t **callbacks) |
556 // Even if no pdoTransmit are defined, at least one entry is computed |
367 { |
557 // for compilations issues. |
368 int i; |
558 UNS8 Linux_slave_count_sync[1] = {0, }; |
369 *callbacks = NULL; |
|
370 switch(wIndex){ |
|
371 case 0x1000: i = 0;break; |
|
372 case 0x1001: i = 1;break; |
|
373 case 0x1008: i = 2;break; |
|
374 case 0x1016: i = 3;break; |
|
375 case 0x1018: i = 4;break; |
|
376 case 0x1280: i = 5;break; |
|
377 case 0x1400: i = 6;break; |
|
378 case 0x1401: i = 7;break; |
|
379 case 0x1402: i = 8;break; |
|
380 case 0x1403: i = 9;break; |
|
381 case 0x1600: i = 10;break; |
|
382 case 0x1601: i = 11;break; |
|
383 case 0x1602: i = 12;break; |
|
384 case 0x1603: i = 13;break; |
|
385 case 0x1800: i = 14;*callbacks = Linux_slave_Index1800_callbacks; break; |
|
386 case 0x1801: i = 15;*callbacks = Linux_slave_Index1801_callbacks; break; |
|
387 case 0x1A00: i = 16;break; |
|
388 case 0x1A01: i = 17;break; |
|
389 case 0x2000: i = 18;break; |
|
390 case 0x2001: i = 19;break; |
|
391 case 0x2002: i = 20;break; |
|
392 case 0x2003: i = 21;break; |
|
393 default: |
|
394 *errorCode = OD_NO_SUCH_OBJECT; |
|
395 return NULL; |
|
396 } |
|
397 *errorCode = OD_SUCCESSFUL; |
|
398 return &Linux_slave_objdict[i]; |
|
399 } |
|
400 |
|
401 /* |
|
402 * To count at which received SYNC a PDO must be sent. |
|
403 * Even if no pdoTransmit are defined, at least one entry is computed |
|
404 * for compilations issues. |
|
405 */ |
|
406 s_PDO_status Linux_slave_PDO_status[2] = {s_PDO_staus_Initializer,s_PDO_staus_Initializer}; |
559 |
407 |
560 quick_index Linux_slave_firstIndex = { |
408 quick_index Linux_slave_firstIndex = { |
561 SDO_SVR : 11, |
409 0, /* SDO_SVR */ |
562 SDO_CLT : 12, |
410 5, /* SDO_CLT */ |
563 PDO_RCV : 13, |
411 6, /* PDO_RCV */ |
564 PDO_RCV_MAP : 16, |
412 10, /* PDO_RCV_MAP */ |
565 PDO_TRS : 19, |
413 14, /* PDO_TRS */ |
566 PDO_TRS_MAP : 22 |
414 16 /* PDO_TRS_MAP */ |
567 } |
415 }; |
568 |
416 |
569 quick_index Linux_slave_lastIndex{ |
417 quick_index Linux_slave_lastIndex = { |
570 SDO_SVR : 11, |
418 0, /* SDO_SVR */ |
571 SDO_CLT : 12, |
419 5, /* SDO_CLT */ |
572 PDO_RCV : 15, |
420 9, /* PDO_RCV */ |
573 PDO_RCV_MAP : 18, |
421 13, /* PDO_RCV_MAP */ |
574 PDO_TRS : 21, |
422 15, /* PDO_TRS */ |
575 PDO_TRS_MAP : 24 |
423 17 /* PDO_TRS_MAP */ |
576 } |
424 }; |
577 |
425 |
578 UNS16 Linux_slave_ObjdictSize = sizeof(Linux_slave_objdict)/sizeof(Linux_slave_objdict[0]); |
426 UNS16 Linux_slave_ObjdictSize = sizeof(Linux_slave_objdict)/sizeof(Linux_slave_objdict[0]); |
579 |
427 |
|
428 CO_Data Linux_slave_Data = CANOPEN_NODE_DATA_INITIALIZER(Linux_slave); |
|
429 |