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