]> rtime.felk.cvut.cz Git - CanFestival-3.git/blob - examples/kerneltest/TestSlave.c
Accepted Vladimir Chren linux kernelspace port patch.
[CanFestival-3.git] / examples / kerneltest / TestSlave.c
1
2 /* File generated by gen_cfile.py. Should not be modified. */
3
4 #include "TestSlave.h"
5
6 /**************************************************************************/
7 /* Declaration of the mapped variables                                    */
8 /**************************************************************************/
9 UNS8 SlaveMap1 = 0x0;           /* Mapped at index 0x2000, subindex 0x00 */
10 UNS8 SlaveMap2 = 0x0;           /* Mapped at index 0x2001, subindex 0x00 */
11 UNS8 SlaveMap3 = 0x0;           /* Mapped at index 0x2002, subindex 0x00 */
12 UNS8 SlaveMap4 = 0x0;           /* Mapped at index 0x2003, subindex 0x00 */
13 UNS8 SlaveMap5 = 0x0;           /* Mapped at index 0x2004, subindex 0x00 */
14 UNS8 SlaveMap6 = 0x0;           /* Mapped at index 0x2005, subindex 0x00 */
15 UNS8 SlaveMap7 = 0x0;           /* Mapped at index 0x2006, subindex 0x00 */
16 UNS8 SlaveMap8 = 0x0;           /* Mapped at index 0x2007, subindex 0x00 */
17 UNS8 SlaveMap9 = 0x0;           /* Mapped at index 0x2008, subindex 0x00 */
18 UNS32 SlaveMap10 = 0x0;         /* Mapped at index 0x2009, subindex 0x00 */
19 UNS16 SlaveMap11 = 0x0;         /* Mapped at index 0x200A, subindex 0x00 */
20 INTEGER16 SlaveMap12 = 0x0;             /* Mapped at index 0x200B, subindex 0x00 */
21 INTEGER16 SlaveMap13 = 0x4D2;           /* Mapped at index 0x200C, subindex 0x00 */
22
23 /**************************************************************************/
24 /* Declaration of the value range types                                   */
25 /**************************************************************************/
26
27 #define valueRange_EMC 0x9F /* Type for index 0x1003 subindex 0x00 (only set of value 0 is possible) */
28 UNS32 TestSlave_valueRangeTest (UNS8 typeValue, void * value)
29 {
30   switch (typeValue) {
31     case valueRange_EMC:
32       if (*(UNS8*)value != (UNS8)0) return OD_VALUE_RANGE_EXCEEDED;
33       break;
34   }
35   return 0;
36 }
37
38 /**************************************************************************/
39 /* The node id                                                            */
40 /**************************************************************************/
41 /* node_id default value.*/
42 UNS8 TestSlave_bDeviceNodeId = 0x00;
43
44 /**************************************************************************/
45 /* Array of message processing information */
46
47 const UNS8 TestSlave_iam_a_slave = 1;
48
49 TIMER_HANDLE TestSlave_heartBeatTimers[1];
50
51 /*
52 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
53
54                                OBJECT DICTIONARY
55
56 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
57 */
58
59 /* index 0x1000 :   Device Type. */
60                     UNS32 TestSlave_obj1000 = 0x12D;    /* 301 */
61                     subindex TestSlave_Index1000[] = 
62                      {
63                        { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1000 }
64                      };
65
66 /* index 0x1001 :   Error Register. */
67                     UNS8 TestSlave_obj1001 = 0x0;       /* 0 */
68                     subindex TestSlave_Index1001[] = 
69                      {
70                        { RO, uint8, sizeof (UNS8), (void*)&TestSlave_obj1001 }
71                      };
72
73 /* index 0x1003 :   Pre-defined Error Field. */
74                     UNS8 TestSlave_highestSubIndex_obj1003 = 0; /* number of subindex - 1*/
75                     UNS32 TestSlave_obj1003[] = 
76                     {
77                       0x0,      /* 0 */
78                       0x0,      /* 0 */
79                       0x0,      /* 0 */
80                       0x0,      /* 0 */
81                       0x0,      /* 0 */
82                       0x0,      /* 0 */
83                       0x0,      /* 0 */
84                       0x0       /* 0 */
85                     };
86                     ODCallback_t TestSlave_Index1003_callbacks[] = 
87                      {
88                        NULL,
89                        NULL,
90                        NULL,
91                        NULL,
92                        NULL,
93                        NULL,
94                        NULL,
95                        NULL,
96                        NULL,
97                      };
98                     subindex TestSlave_Index1003[] = 
99                      {
100                        { RW, valueRange_EMC, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1003 },
101                        { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1003[0] },
102                        { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1003[1] },
103                        { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1003[2] },
104                        { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1003[3] },
105                        { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1003[4] },
106                        { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1003[5] },
107                        { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1003[6] },
108                        { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1003[7] }
109                      };
110
111 /* index 0x1005 :   SYNC COB ID. */
112                     UNS32 TestSlave_obj1005 = 0x80;     /* 128 */
113                     ODCallback_t TestSlave_Index1005_callbacks[] = 
114                      {
115                        NULL,
116                      };
117                     subindex TestSlave_Index1005[] = 
118                      {
119                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1005 }
120                      };
121
122 /* index 0x1006 :   Communication / Cycle Period. */
123                     UNS32 TestSlave_obj1006 = 0x0;      /* 0 */
124                     ODCallback_t TestSlave_Index1006_callbacks[] = 
125                      {
126                        NULL,
127                      };
128                     subindex TestSlave_Index1006[] = 
129                      {
130                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1006 }
131                      };
132
133 /* index 0x1010 :   Store parameters. */
134                     UNS8 TestSlave_highestSubIndex_obj1010 = 4; /* number of subindex - 1*/
135                     UNS32 TestSlave_obj1010_Save_All_Parameters = 0x0;  /* 0 */
136                     UNS32 TestSlave_obj1010_Save_Communication_Parameters = 0x0;        /* 0 */
137                     UNS32 TestSlave_obj1010_Save_Application_Parameters = 0x0;  /* 0 */
138                     UNS32 TestSlave_obj1010_Save_Manufacturer_Parameters = 0x0; /* 0 */
139                     ODCallback_t TestSlave_Index1010_callbacks[] = 
140                      {
141                        NULL,
142                        NULL,
143                        NULL,
144                        NULL,
145                        NULL,
146                      };
147                     subindex TestSlave_Index1010[] = 
148                      {
149                        { RO, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1010 },
150                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1010_Save_All_Parameters },
151                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1010_Save_Communication_Parameters },
152                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1010_Save_Application_Parameters },
153                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1010_Save_Manufacturer_Parameters }
154                      };
155
156 /* index 0x1011 :   Restore Default Parameters. */
157                     UNS8 TestSlave_highestSubIndex_obj1011 = 4; /* number of subindex - 1*/
158                     UNS32 TestSlave_obj1011_Restore_All_Default_Parameters = 0x0;       /* 0 */
159                     UNS32 TestSlave_obj1011_Restore_Communication_Default_Parameters = 0x0;     /* 0 */
160                     UNS32 TestSlave_obj1011_Restore_Application_Default_Parameters = 0x0;       /* 0 */
161                     UNS32 TestSlave_obj1011_Restore_Manufacturer_Default_Parameters = 0x0;      /* 0 */
162                     ODCallback_t TestSlave_Index1011_callbacks[] = 
163                      {
164                        NULL,
165                        NULL,
166                        NULL,
167                        NULL,
168                        NULL,
169                      };
170                     subindex TestSlave_Index1011[] = 
171                      {
172                        { RO, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1011 },
173                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1011_Restore_All_Default_Parameters },
174                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1011_Restore_Communication_Default_Parameters },
175                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1011_Restore_Application_Default_Parameters },
176                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1011_Restore_Manufacturer_Default_Parameters }
177                      };
178
179 /* index 0x1014 :   Emergency COB ID. */
180                     UNS32 TestSlave_obj1014 = 0x80;     /* 128 */
181                     subindex TestSlave_Index1014[] = 
182                      {
183                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1014 }
184                      };
185
186 /* index 0x1016 :   Consumer Heartbeat Time */
187                     UNS8 TestSlave_highestSubIndex_obj1016 = 0;
188                     UNS32 TestSlave_obj1016[]={0};
189
190 /* index 0x1017 :   Producer Heartbeat Time. */
191                     UNS16 TestSlave_obj1017 = 0x0;      /* 0 */
192                     ODCallback_t TestSlave_Index1017_callbacks[] = 
193                      {
194                        NULL,
195                      };
196                     subindex TestSlave_Index1017[] = 
197                      {
198                        { RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1017 }
199                      };
200
201 /* index 0x1018 :   Identity. */
202                     UNS8 TestSlave_highestSubIndex_obj1018 = 4; /* number of subindex - 1*/
203                     UNS32 TestSlave_obj1018_Vendor_ID = 0x12345678;     /* 305419896 */
204                     UNS32 TestSlave_obj1018_Product_Code = 0x90123456;  /* 2417112150 */
205                     UNS32 TestSlave_obj1018_Revision_Number = 0x78901234;       /* 2022707764 */
206                     UNS32 TestSlave_obj1018_Serial_Number = 0x56789012; /* 1450741778 */
207                     subindex TestSlave_Index1018[] = 
208                      {
209                        { RO, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1018 },
210                        { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1018_Vendor_ID },
211                        { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1018_Product_Code },
212                        { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1018_Revision_Number },
213                        { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1018_Serial_Number }
214                      };
215
216 /* index 0x1200 :   Server SDO Parameter. */
217                     UNS8 TestSlave_highestSubIndex_obj1200 = 2; /* number of subindex - 1*/
218                     UNS32 TestSlave_obj1200_COB_ID_Client_to_Server_Receive_SDO = 0x600;        /* 1536 */
219                     UNS32 TestSlave_obj1200_COB_ID_Server_to_Client_Transmit_SDO = 0x580;       /* 1408 */
220                     subindex TestSlave_Index1200[] = 
221                      {
222                        { RO, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1200 },
223                        { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1200_COB_ID_Client_to_Server_Receive_SDO },
224                        { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1200_COB_ID_Server_to_Client_Transmit_SDO }
225                      };
226
227 /* index 0x1800 :   Transmit PDO 1 Parameter. */
228                     UNS8 TestSlave_highestSubIndex_obj1800 = 5; /* number of subindex - 1*/
229                     UNS32 TestSlave_obj1800_COB_ID_used_by_PDO = 0x180; /* 384 */
230                     UNS8 TestSlave_obj1800_Transmission_Type = 0x0;     /* 0 */
231                     UNS16 TestSlave_obj1800_Inhibit_Time = 0x0; /* 0 */
232                     UNS8 TestSlave_obj1800_Compatibility_Entry = 0x0;   /* 0 */
233                     UNS16 TestSlave_obj1800_Event_Timer = 0x0;  /* 0 */
234                     ODCallback_t TestSlave_Index1800_callbacks[] = 
235                      {
236                        NULL,
237                        NULL,
238                        NULL,
239                        NULL,
240                        NULL,
241                        NULL,
242                      };
243                     subindex TestSlave_Index1800[] = 
244                      {
245                        { RO, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1800 },
246                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1800_COB_ID_used_by_PDO },
247                        { RW|TO_BE_SAVE, uint8, sizeof (UNS8), (void*)&TestSlave_obj1800_Transmission_Type },
248                        { RW|TO_BE_SAVE, uint16, sizeof (UNS16), (void*)&TestSlave_obj1800_Inhibit_Time },
249                        { RW, uint8, sizeof (UNS8), (void*)&TestSlave_obj1800_Compatibility_Entry },
250                        { RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1800_Event_Timer }
251                      };
252
253 /* index 0x1801 :   Transmit PDO 2 Parameter. */
254                     UNS8 TestSlave_highestSubIndex_obj1801 = 5; /* number of subindex - 1*/
255                     UNS32 TestSlave_obj1801_COB_ID_used_by_PDO = 0x280; /* 640 */
256                     UNS8 TestSlave_obj1801_Transmission_Type = 0x0;     /* 0 */
257                     UNS16 TestSlave_obj1801_Inhibit_Time = 0x0; /* 0 */
258                     UNS8 TestSlave_obj1801_Compatibility_Entry = 0x0;   /* 0 */
259                     UNS16 TestSlave_obj1801_Event_Timer = 0x0;  /* 0 */
260                     ODCallback_t TestSlave_Index1801_callbacks[] = 
261                      {
262                        NULL,
263                        NULL,
264                        NULL,
265                        NULL,
266                        NULL,
267                        NULL,
268                      };
269                     subindex TestSlave_Index1801[] = 
270                      {
271                        { RO, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1801 },
272                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1801_COB_ID_used_by_PDO },
273                        { RW, uint8, sizeof (UNS8), (void*)&TestSlave_obj1801_Transmission_Type },
274                        { RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1801_Inhibit_Time },
275                        { RW, uint8, sizeof (UNS8), (void*)&TestSlave_obj1801_Compatibility_Entry },
276                        { RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1801_Event_Timer }
277                      };
278
279 /* index 0x1802 :   Transmit PDO 3 Parameter. */
280                     UNS8 TestSlave_highestSubIndex_obj1802 = 5; /* number of subindex - 1*/
281                     UNS32 TestSlave_obj1802_COB_ID_used_by_PDO = 0x380; /* 896 */
282                     UNS8 TestSlave_obj1802_Transmission_Type = 0xFF;    /* 255 */
283                     UNS16 TestSlave_obj1802_Inhibit_Time = 0x1388;      /* 5000 */
284                     UNS8 TestSlave_obj1802_Compatibility_Entry = 0x0;   /* 0 */
285                     UNS16 TestSlave_obj1802_Event_Timer = 0x3E8;        /* 1000 */
286                     ODCallback_t TestSlave_Index1802_callbacks[] = 
287                      {
288                        NULL,
289                        NULL,
290                        NULL,
291                        NULL,
292                        NULL,
293                        NULL,
294                      };
295                     subindex TestSlave_Index1802[] = 
296                      {
297                        { RO, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1802 },
298                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1802_COB_ID_used_by_PDO },
299                        { RW, uint8, sizeof (UNS8), (void*)&TestSlave_obj1802_Transmission_Type },
300                        { RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1802_Inhibit_Time },
301                        { RW, uint8, sizeof (UNS8), (void*)&TestSlave_obj1802_Compatibility_Entry },
302                        { RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1802_Event_Timer }
303                      };
304
305 /* index 0x1803 :   Transmit PDO 4 Parameter. */
306                     UNS8 TestSlave_highestSubIndex_obj1803 = 5; /* number of subindex - 1*/
307                     UNS32 TestSlave_obj1803_COB_ID_used_by_PDO = 0x480; /* 1152 */
308                     UNS8 TestSlave_obj1803_Transmission_Type = 0xFC;    /* 252 */
309                     UNS16 TestSlave_obj1803_Inhibit_Time = 0x0; /* 0 */
310                     UNS8 TestSlave_obj1803_Compatibility_Entry = 0x0;   /* 0 */
311                     UNS16 TestSlave_obj1803_Event_Timer = 0x0;  /* 0 */
312                     ODCallback_t TestSlave_Index1803_callbacks[] = 
313                      {
314                        NULL,
315                        NULL,
316                        NULL,
317                        NULL,
318                        NULL,
319                        NULL,
320                      };
321                     subindex TestSlave_Index1803[] = 
322                      {
323                        { RO, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1803 },
324                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1803_COB_ID_used_by_PDO },
325                        { RW, uint8, sizeof (UNS8), (void*)&TestSlave_obj1803_Transmission_Type },
326                        { RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1803_Inhibit_Time },
327                        { RW, uint8, sizeof (UNS8), (void*)&TestSlave_obj1803_Compatibility_Entry },
328                        { RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1803_Event_Timer }
329                      };
330
331 /* index 0x1804 :   Transmit PDO 5 Parameter. */
332                     UNS8 TestSlave_highestSubIndex_obj1804 = 5; /* number of subindex - 1*/
333                     UNS32 TestSlave_obj1804_COB_ID_used_by_PDO = 0x401; /* 1025 */
334                     UNS8 TestSlave_obj1804_Transmission_Type = 0xFD;    /* 253 */
335                     UNS16 TestSlave_obj1804_Inhibit_Time = 0x0; /* 0 */
336                     UNS8 TestSlave_obj1804_Compatibility_Entry = 0x0;   /* 0 */
337                     UNS16 TestSlave_obj1804_Event_Timer = 0x0;  /* 0 */
338                     ODCallback_t TestSlave_Index1804_callbacks[] = 
339                      {
340                        NULL,
341                        NULL,
342                        NULL,
343                        NULL,
344                        NULL,
345                        NULL,
346                      };
347                     subindex TestSlave_Index1804[] = 
348                      {
349                        { RO, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1804 },
350                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1804_COB_ID_used_by_PDO },
351                        { RW, uint8, sizeof (UNS8), (void*)&TestSlave_obj1804_Transmission_Type },
352                        { RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1804_Inhibit_Time },
353                        { RW, uint8, sizeof (UNS8), (void*)&TestSlave_obj1804_Compatibility_Entry },
354                        { RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1804_Event_Timer }
355                      };
356
357 /* index 0x1A00 :   Transmit PDO 1 Mapping. */
358                     UNS8 TestSlave_highestSubIndex_obj1A00 = 10; /* number of subindex - 1*/
359                     UNS32 TestSlave_obj1A00[] = 
360                     {
361                       0x20000001,       /* 536870913 */
362                       0x20010001,       /* 536936449 */
363                       0x20020001,       /* 537001985 */
364                       0x20030001,       /* 537067521 */
365                       0x20040001,       /* 537133057 */
366                       0x20050001,       /* 537198593 */
367                       0x20060001,       /* 537264129 */
368                       0x20070001,       /* 537329665 */
369                       0x20080008,       /* 537395208 */
370                       0x20090020        /* 537460768 */
371                     };
372                     subindex TestSlave_Index1A00[] = 
373                      {
374                        { RW, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1A00 },
375                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[0] },
376                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[1] },
377                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[2] },
378                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[3] },
379                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[4] },
380                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[5] },
381                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[6] },
382                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[7] },
383                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[8] },
384                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[9] }
385                      };
386
387 /* index 0x1A01 :   Transmit PDO 2 Mapping. */
388                     UNS8 TestSlave_highestSubIndex_obj1A01 = 1; /* number of subindex - 1*/
389                     UNS32 TestSlave_obj1A01[] = 
390                     {
391                       0x200A0010        /* 537526288 */
392                     };
393                     subindex TestSlave_Index1A01[] = 
394                      {
395                        { RW, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1A01 },
396                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A01[0] }
397                      };
398
399 /* index 0x1A02 :   Transmit PDO 3 Mapping. */
400                     UNS8 TestSlave_highestSubIndex_obj1A02 = 1; /* number of subindex - 1*/
401                     UNS32 TestSlave_obj1A02[] = 
402                     {
403                       0x200B0010        /* 537591824 */
404                     };
405                     subindex TestSlave_Index1A02[] = 
406                      {
407                        { RW, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1A02 },
408                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A02[0] }
409                      };
410
411 /* index 0x1A03 :   Transmit PDO 4 Mapping. */
412                     UNS8 TestSlave_highestSubIndex_obj1A03 = 1; /* number of subindex - 1*/
413                     UNS32 TestSlave_obj1A03[] = 
414                     {
415                       0x200C0010        /* 537657360 */
416                     };
417                     subindex TestSlave_Index1A03[] = 
418                      {
419                        { RW, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1A03 },
420                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A03[0] }
421                      };
422
423 /* index 0x1A04 :   Transmit PDO 5 Mapping. */
424                     UNS8 TestSlave_highestSubIndex_obj1A04 = 1; /* number of subindex - 1*/
425                     UNS32 TestSlave_obj1A04[] = 
426                     {
427                       0x200C0010        /* 537657360 */
428                     };
429                     subindex TestSlave_Index1A04[] = 
430                      {
431                        { RW, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1A04 },
432                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A04[0] }
433                      };
434
435 /* index 0x2000 :   Mapped variable SlaveMap1 */
436                     subindex TestSlave_Index2000[] = 
437                      {
438                        { RW, boolean, sizeof (UNS8), (void*)&SlaveMap1 }
439                      };
440
441 /* index 0x2001 :   Mapped variable SlaveMap2 */
442                     subindex TestSlave_Index2001[] = 
443                      {
444                        { RW, boolean, sizeof (UNS8), (void*)&SlaveMap2 }
445                      };
446
447 /* index 0x2002 :   Mapped variable SlaveMap3 */
448                     subindex TestSlave_Index2002[] = 
449                      {
450                        { RW, boolean, sizeof (UNS8), (void*)&SlaveMap3 }
451                      };
452
453 /* index 0x2003 :   Mapped variable SlaveMap4 */
454                     subindex TestSlave_Index2003[] = 
455                      {
456                        { RW, boolean, sizeof (UNS8), (void*)&SlaveMap4 }
457                      };
458
459 /* index 0x2004 :   Mapped variable SlaveMap5 */
460                     subindex TestSlave_Index2004[] = 
461                      {
462                        { RW, boolean, sizeof (UNS8), (void*)&SlaveMap5 }
463                      };
464
465 /* index 0x2005 :   Mapped variable SlaveMap6 */
466                     subindex TestSlave_Index2005[] = 
467                      {
468                        { RW, boolean, sizeof (UNS8), (void*)&SlaveMap6 }
469                      };
470
471 /* index 0x2006 :   Mapped variable SlaveMap7 */
472                     subindex TestSlave_Index2006[] = 
473                      {
474                        { RW, boolean, sizeof (UNS8), (void*)&SlaveMap7 }
475                      };
476
477 /* index 0x2007 :   Mapped variable SlaveMap8 */
478                     subindex TestSlave_Index2007[] = 
479                      {
480                        { RW, boolean, sizeof (UNS8), (void*)&SlaveMap8 }
481                      };
482
483 /* index 0x2008 :   Mapped variable SlaveMap9 */
484                     subindex TestSlave_Index2008[] = 
485                      {
486                        { RW, uint8, sizeof (UNS8), (void*)&SlaveMap9 }
487                      };
488
489 /* index 0x2009 :   Mapped variable SlaveMap10 */
490                     subindex TestSlave_Index2009[] = 
491                      {
492                        { RW, uint32, sizeof (UNS32), (void*)&SlaveMap10 }
493                      };
494
495 /* index 0x200A :   Mapped variable SlaveMap11 */
496                     subindex TestSlave_Index200A[] = 
497                      {
498                        { RW, uint16, sizeof (UNS16), (void*)&SlaveMap11 }
499                      };
500
501 /* index 0x200B :   Mapped variable SlaveMap12 */
502                     subindex TestSlave_Index200B[] = 
503                      {
504                        { RW, int16, sizeof (INTEGER16), (void*)&SlaveMap12 }
505                      };
506
507 /* index 0x200C :   Mapped variable SlaveMap13 */
508                     subindex TestSlave_Index200C[] = 
509                      {
510                        { RW, int16, sizeof (INTEGER16), (void*)&SlaveMap13 }
511                      };
512
513 const indextable TestSlave_objdict[] = 
514 {
515   { (subindex*)TestSlave_Index1000,sizeof(TestSlave_Index1000)/sizeof(TestSlave_Index1000[0]), 0x1000},
516   { (subindex*)TestSlave_Index1001,sizeof(TestSlave_Index1001)/sizeof(TestSlave_Index1001[0]), 0x1001},
517   { (subindex*)TestSlave_Index1003,sizeof(TestSlave_Index1003)/sizeof(TestSlave_Index1003[0]), 0x1003},
518   { (subindex*)TestSlave_Index1005,sizeof(TestSlave_Index1005)/sizeof(TestSlave_Index1005[0]), 0x1005},
519   { (subindex*)TestSlave_Index1006,sizeof(TestSlave_Index1006)/sizeof(TestSlave_Index1006[0]), 0x1006},
520   { (subindex*)TestSlave_Index1010,sizeof(TestSlave_Index1010)/sizeof(TestSlave_Index1010[0]), 0x1010},
521   { (subindex*)TestSlave_Index1011,sizeof(TestSlave_Index1011)/sizeof(TestSlave_Index1011[0]), 0x1011},
522   { (subindex*)TestSlave_Index1014,sizeof(TestSlave_Index1014)/sizeof(TestSlave_Index1014[0]), 0x1014},
523   { (subindex*)TestSlave_Index1017,sizeof(TestSlave_Index1017)/sizeof(TestSlave_Index1017[0]), 0x1017},
524   { (subindex*)TestSlave_Index1018,sizeof(TestSlave_Index1018)/sizeof(TestSlave_Index1018[0]), 0x1018},
525   { (subindex*)TestSlave_Index1200,sizeof(TestSlave_Index1200)/sizeof(TestSlave_Index1200[0]), 0x1200},
526   { (subindex*)TestSlave_Index1800,sizeof(TestSlave_Index1800)/sizeof(TestSlave_Index1800[0]), 0x1800},
527   { (subindex*)TestSlave_Index1801,sizeof(TestSlave_Index1801)/sizeof(TestSlave_Index1801[0]), 0x1801},
528   { (subindex*)TestSlave_Index1802,sizeof(TestSlave_Index1802)/sizeof(TestSlave_Index1802[0]), 0x1802},
529   { (subindex*)TestSlave_Index1803,sizeof(TestSlave_Index1803)/sizeof(TestSlave_Index1803[0]), 0x1803},
530   { (subindex*)TestSlave_Index1804,sizeof(TestSlave_Index1804)/sizeof(TestSlave_Index1804[0]), 0x1804},
531   { (subindex*)TestSlave_Index1A00,sizeof(TestSlave_Index1A00)/sizeof(TestSlave_Index1A00[0]), 0x1A00},
532   { (subindex*)TestSlave_Index1A01,sizeof(TestSlave_Index1A01)/sizeof(TestSlave_Index1A01[0]), 0x1A01},
533   { (subindex*)TestSlave_Index1A02,sizeof(TestSlave_Index1A02)/sizeof(TestSlave_Index1A02[0]), 0x1A02},
534   { (subindex*)TestSlave_Index1A03,sizeof(TestSlave_Index1A03)/sizeof(TestSlave_Index1A03[0]), 0x1A03},
535   { (subindex*)TestSlave_Index1A04,sizeof(TestSlave_Index1A04)/sizeof(TestSlave_Index1A04[0]), 0x1A04},
536   { (subindex*)TestSlave_Index2000,sizeof(TestSlave_Index2000)/sizeof(TestSlave_Index2000[0]), 0x2000},
537   { (subindex*)TestSlave_Index2001,sizeof(TestSlave_Index2001)/sizeof(TestSlave_Index2001[0]), 0x2001},
538   { (subindex*)TestSlave_Index2002,sizeof(TestSlave_Index2002)/sizeof(TestSlave_Index2002[0]), 0x2002},
539   { (subindex*)TestSlave_Index2003,sizeof(TestSlave_Index2003)/sizeof(TestSlave_Index2003[0]), 0x2003},
540   { (subindex*)TestSlave_Index2004,sizeof(TestSlave_Index2004)/sizeof(TestSlave_Index2004[0]), 0x2004},
541   { (subindex*)TestSlave_Index2005,sizeof(TestSlave_Index2005)/sizeof(TestSlave_Index2005[0]), 0x2005},
542   { (subindex*)TestSlave_Index2006,sizeof(TestSlave_Index2006)/sizeof(TestSlave_Index2006[0]), 0x2006},
543   { (subindex*)TestSlave_Index2007,sizeof(TestSlave_Index2007)/sizeof(TestSlave_Index2007[0]), 0x2007},
544   { (subindex*)TestSlave_Index2008,sizeof(TestSlave_Index2008)/sizeof(TestSlave_Index2008[0]), 0x2008},
545   { (subindex*)TestSlave_Index2009,sizeof(TestSlave_Index2009)/sizeof(TestSlave_Index2009[0]), 0x2009},
546   { (subindex*)TestSlave_Index200A,sizeof(TestSlave_Index200A)/sizeof(TestSlave_Index200A[0]), 0x200A},
547   { (subindex*)TestSlave_Index200B,sizeof(TestSlave_Index200B)/sizeof(TestSlave_Index200B[0]), 0x200B},
548   { (subindex*)TestSlave_Index200C,sizeof(TestSlave_Index200C)/sizeof(TestSlave_Index200C[0]), 0x200C},
549 };
550
551 const indextable * TestSlave_scanIndexOD (UNS16 wIndex, UNS32 * errorCode, ODCallback_t **callbacks)
552 {
553         int i;
554         *callbacks = NULL;
555         switch(wIndex){
556                 case 0x1000: i = 0;break;
557                 case 0x1001: i = 1;break;
558                 case 0x1003: i = 2;*callbacks = TestSlave_Index1003_callbacks; break;
559                 case 0x1005: i = 3;*callbacks = TestSlave_Index1005_callbacks; break;
560                 case 0x1006: i = 4;*callbacks = TestSlave_Index1006_callbacks; break;
561                 case 0x1010: i = 5;*callbacks = TestSlave_Index1010_callbacks; break;
562                 case 0x1011: i = 6;*callbacks = TestSlave_Index1011_callbacks; break;
563                 case 0x1014: i = 7;break;
564                 case 0x1017: i = 8;*callbacks = TestSlave_Index1017_callbacks; break;
565                 case 0x1018: i = 9;break;
566                 case 0x1200: i = 10;break;
567                 case 0x1800: i = 11;*callbacks = TestSlave_Index1800_callbacks; break;
568                 case 0x1801: i = 12;*callbacks = TestSlave_Index1801_callbacks; break;
569                 case 0x1802: i = 13;*callbacks = TestSlave_Index1802_callbacks; break;
570                 case 0x1803: i = 14;*callbacks = TestSlave_Index1803_callbacks; break;
571                 case 0x1804: i = 15;*callbacks = TestSlave_Index1804_callbacks; break;
572                 case 0x1A00: i = 16;break;
573                 case 0x1A01: i = 17;break;
574                 case 0x1A02: i = 18;break;
575                 case 0x1A03: i = 19;break;
576                 case 0x1A04: i = 20;break;
577                 case 0x2000: i = 21;break;
578                 case 0x2001: i = 22;break;
579                 case 0x2002: i = 23;break;
580                 case 0x2003: i = 24;break;
581                 case 0x2004: i = 25;break;
582                 case 0x2005: i = 26;break;
583                 case 0x2006: i = 27;break;
584                 case 0x2007: i = 28;break;
585                 case 0x2008: i = 29;break;
586                 case 0x2009: i = 30;break;
587                 case 0x200A: i = 31;break;
588                 case 0x200B: i = 32;break;
589                 case 0x200C: i = 33;break;
590                 default:
591                         *errorCode = OD_NO_SUCH_OBJECT;
592                         return NULL;
593         }
594         *errorCode = OD_SUCCESSFUL;
595         return &TestSlave_objdict[i];
596 }
597
598 /* 
599  * To count at which received SYNC a PDO must be sent.
600  * Even if no pdoTransmit are defined, at least one entry is computed
601  * for compilations issues.
602  */
603 s_PDO_status TestSlave_PDO_status[5] = {s_PDO_status_Initializer,s_PDO_status_Initializer,s_PDO_status_Initializer,s_PDO_status_Initializer,s_PDO_status_Initializer};
604
605 quick_index TestSlave_firstIndex = {
606   10, /* SDO_SVR */
607   0, /* SDO_CLT */
608   0, /* PDO_RCV */
609   0, /* PDO_RCV_MAP */
610   11, /* PDO_TRS */
611   16 /* PDO_TRS_MAP */
612 };
613
614 quick_index TestSlave_lastIndex = {
615   10, /* SDO_SVR */
616   0, /* SDO_CLT */
617   0, /* PDO_RCV */
618   0, /* PDO_RCV_MAP */
619   15, /* PDO_TRS */
620   20 /* PDO_TRS_MAP */
621 };
622
623 UNS16 TestSlave_ObjdictSize = sizeof(TestSlave_objdict)/sizeof(TestSlave_objdict[0]); 
624
625 CO_Data TestSlave_Data = CANOPEN_NODE_DATA_INITIALIZER(TestSlave);
626