examples/TestMasterMicroMod/TestMaster.c
changeset 201 2966cd34162a
parent 166 b6fbc1c59a44
child 230 aa5ac69398bb
equal deleted inserted replaced
200:930be51ddc24 201:2966cd34162a
     5 
     5 
     6 /**************************************************************************/
     6 /**************************************************************************/
     7 /* Declaration of the mapped variables                                    */
     7 /* Declaration of the mapped variables                                    */
     8 /**************************************************************************/
     8 /**************************************************************************/
     9 UNS8 DO = 0x0;		/* Mapped at index 0x2000, subindex 0x00 */
     9 UNS8 DO = 0x0;		/* Mapped at index 0x2000, subindex 0x00 */
    10 UNS8 AO1 = 0x0;		/* Mapped at index 0x2001, subindex 0x00 */
    10 UNS8 DI1 = 0x0;		/* Mapped at index 0x200F, subindex 0x00 */
    11 UNS8 AO2 = 0x0;		/* Mapped at index 0x2002, subindex 0x00 */
    11 UNS8 DI2 = 0x0;		/* Mapped at index 0x2010, subindex 0x00 */
    12 UNS8 AO3 = 0x0;		/* Mapped at index 0x2003, subindex 0x00 */
    12 UNS8 DI3 = 0x0;		/* Mapped at index 0x2011, subindex 0x00 */
    13 UNS8 DI = 0x0;		/* Mapped at index 0x2004, subindex 0x00 */
    13 UNS8 DI4 = 0x0;		/* Mapped at index 0x2012, subindex 0x00 */
    14 UNS8 AI1 = 0x0;		/* Mapped at index 0x2005, subindex 0x00 */
    14 UNS8 DI5 = 0x0;		/* Mapped at index 0x2013, subindex 0x00 */
    15 UNS8 AI2 = 0x0;		/* Mapped at index 0x2006, subindex 0x00 */
    15 UNS8 DI6 = 0x0;		/* Mapped at index 0x2014, subindex 0x00 */
    16 UNS8 AI3 = 0x0;		/* Mapped at index 0x2007, subindex 0x00 */
    16 UNS8 DI7 = 0x0;		/* Mapped at index 0x2015, subindex 0x00 */
    17 UNS8 AI4 = 0x0;		/* Mapped at index 0x2008, subindex 0x00 */
    17 UNS8 DI8 = 0x0;		/* Mapped at index 0x2016, subindex 0x00 */
    18 UNS8 AI5 = 0x0;		/* Mapped at index 0x2009, subindex 0x00 */
       
    19 UNS8 AI6 = 0x0;		/* Mapped at index 0x200A, subindex 0x00 */
       
    20 UNS8 AI7 = 0x0;		/* Mapped at index 0x200B, subindex 0x00 */
       
    21 UNS8 AI8 = 0x0;		/* Mapped at index 0x200C, subindex 0x00 */
       
    22 UNS8 AO4 = 0x0;		/* Mapped at index 0x200D, subindex 0x00 */
       
    23 
    18 
    24 /**************************************************************************/
    19 /**************************************************************************/
    25 /* Declaration of the value range types                                   */
    20 /* Declaration of the value range types                                   */
    26 /**************************************************************************/
    21 /**************************************************************************/
    27 
    22 
   121 
   116 
   122 /* index 0x1280 :   Client SDO 1 Parameter. */
   117 /* index 0x1280 :   Client SDO 1 Parameter. */
   123                     UNS8 TestMaster_highestSubIndex_obj1280 = 3; /* number of subindex - 1*/
   118                     UNS8 TestMaster_highestSubIndex_obj1280 = 3; /* number of subindex - 1*/
   124                     UNS32 TestMaster_obj1280_COB_ID_Client_to_Server_Transmit_SDO = 0x640;	/* 1600 */
   119                     UNS32 TestMaster_obj1280_COB_ID_Client_to_Server_Transmit_SDO = 0x640;	/* 1600 */
   125                     UNS32 TestMaster_obj1280_COB_ID_Server_to_Client_Receive_SDO = 0x5C0;	/* 1472 */
   120                     UNS32 TestMaster_obj1280_COB_ID_Server_to_Client_Receive_SDO = 0x5C0;	/* 1472 */
   126                     UNS32 TestMaster_obj1280_Node_ID_of_the_SDO_Server = 0x40;	/* 64 */
   121                     INTEGER32 TestMaster_obj1280_Node_ID_of_the_SDO_Server = 0x40;	/* 64 */
   127                     subindex TestMaster_Index1280[] = 
   122                     subindex TestMaster_Index1280[] = 
   128                      {
   123                      {
   129                        { RO, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1280 },
   124                        { RO, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1280 },
   130                        { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1280_COB_ID_Client_to_Server_Transmit_SDO },
   125                        { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1280_COB_ID_Client_to_Server_Transmit_SDO },
   131                        { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1280_COB_ID_Server_to_Client_Receive_SDO },
   126                        { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1280_COB_ID_Server_to_Client_Receive_SDO },
   132                        { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1280_Node_ID_of_the_SDO_Server }
   127                        { RW, int32, sizeof (INTEGER32), (void*)&TestMaster_obj1280_Node_ID_of_the_SDO_Server }
   133                      };
   128                      };
   134 
   129 
   135 /* index 0x1400 :   Receive PDO 1 Parameter. */
   130 /* index 0x1400 :   Receive PDO 1 Parameter. */
   136                     UNS8 TestMaster_highestSubIndex_obj1400 = 5; /* number of subindex - 1*/
   131                     UNS8 TestMaster_highestSubIndex_obj1400 = 5; /* number of subindex - 1*/
   137                     UNS32 TestMaster_obj1400_COB_ID_used_by_PDO = 0x220;	/* 544 */
   132                     UNS32 TestMaster_obj1400_COB_ID_used_by_PDO = 0x220;	/* 544 */
   138                     UNS8 TestMaster_obj1400_Transmission_Type = 0x1;	/* 1 */
   133                     UNS8 TestMaster_obj1400_Transmission_Type = 0x1;	/* 1 */
   139                     UNS16 TestMaster_obj1400_Inhibit_Time = 0x0;	/* 0 */
   134                     UNS16 TestMaster_obj1400_Inhibit_Time = 0x0;	/* 0 */
   140                     UNS16 TestMaster_obj1400_Compatibility_Entry = 0x0;	/* 0 */
   135                     UNS8 TestMaster_obj1400_Compatibility_Entry = 0x0;	/* 0 */
   141                     UNS16 TestMaster_obj1400_Event_Timer = 0x0;	/* 0 */
   136                     UNS16 TestMaster_obj1400_Event_Timer = 0x0;	/* 0 */
   142                     subindex TestMaster_Index1400[] = 
   137                     subindex TestMaster_Index1400[] = 
   143                      {
   138                      {
   144                        { RO, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1400 },
   139                        { RO, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1400 },
   145                        { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1400_COB_ID_used_by_PDO },
   140                        { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1400_COB_ID_used_by_PDO },
   146                        { RW, uint8, sizeof (UNS8), (void*)&TestMaster_obj1400_Transmission_Type },
   141                        { RW, uint8, sizeof (UNS8), (void*)&TestMaster_obj1400_Transmission_Type },
   147                        { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1400_Inhibit_Time },
   142                        { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1400_Inhibit_Time },
   148                        { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1400_Compatibility_Entry },
   143                        { RW, uint8, sizeof (UNS8), (void*)&TestMaster_obj1400_Compatibility_Entry },
   149                        { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1400_Event_Timer }
   144                        { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1400_Event_Timer }
   150                      };
   145                      };
   151 
   146 
   152 /* index 0x1401 :   Receive PDO 2 Parameter. */
       
   153                     UNS8 TestMaster_highestSubIndex_obj1401 = 5; /* number of subindex - 1*/
       
   154                     UNS32 TestMaster_obj1401_COB_ID_used_by_PDO = 0x320;	/* 800 */
       
   155                     UNS8 TestMaster_obj1401_Transmission_Type = 0x1;	/* 1 */
       
   156                     UNS16 TestMaster_obj1401_Inhibit_Time = 0x0;	/* 0 */
       
   157                     UNS16 TestMaster_obj1401_Compatibility_Entry = 0x0;	/* 0 */
       
   158                     UNS16 TestMaster_obj1401_Event_Timer = 0x0;	/* 0 */
       
   159                     subindex TestMaster_Index1401[] = 
       
   160                      {
       
   161                        { RO, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1401 },
       
   162                        { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1401_COB_ID_used_by_PDO },
       
   163                        { RW, uint8, sizeof (UNS8), (void*)&TestMaster_obj1401_Transmission_Type },
       
   164                        { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1401_Inhibit_Time },
       
   165                        { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1401_Compatibility_Entry },
       
   166                        { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1401_Event_Timer }
       
   167                      };
       
   168 
       
   169 /* index 0x1402 :   Receive PDO 3 Parameter. */
       
   170                     UNS8 TestMaster_highestSubIndex_obj1402 = 5; /* number of subindex - 1*/
       
   171                     UNS32 TestMaster_obj1402_COB_ID_used_by_PDO = 0x420;	/* 1056 */
       
   172                     UNS8 TestMaster_obj1402_Transmission_Type = 0x1;	/* 1 */
       
   173                     UNS16 TestMaster_obj1402_Inhibit_Time = 0x0;	/* 0 */
       
   174                     UNS16 TestMaster_obj1402_Compatibility_Entry = 0x0;	/* 0 */
       
   175                     UNS16 TestMaster_obj1402_Event_Timer = 0x0;	/* 0 */
       
   176                     subindex TestMaster_Index1402[] = 
       
   177                      {
       
   178                        { RO, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1402 },
       
   179                        { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1402_COB_ID_used_by_PDO },
       
   180                        { RW, uint8, sizeof (UNS8), (void*)&TestMaster_obj1402_Transmission_Type },
       
   181                        { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1402_Inhibit_Time },
       
   182                        { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1402_Compatibility_Entry },
       
   183                        { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1402_Event_Timer }
       
   184                      };
       
   185 
       
   186 /* index 0x1600 :   Receive PDO 1 Mapping. */
   147 /* index 0x1600 :   Receive PDO 1 Mapping. */
   187                     UNS8 TestMaster_highestSubIndex_obj1600 = 1; /* number of subindex - 1*/
   148                     UNS8 TestMaster_highestSubIndex_obj1600 = 8; /* number of subindex - 1*/
   188                     UNS32 TestMaster_obj1600[] = 
   149                     UNS32 TestMaster_obj1600[] = 
   189                     {
   150                     {
   190                       0x20040008	/* 537133064 */
   151                       0x200F0001,	/* 537853953 */
       
   152                       0x20100001,	/* 537919489 */
       
   153                       0x20110001,	/* 537985025 */
       
   154                       0x20120001,	/* 538050561 */
       
   155                       0x20130001,	/* 538116097 */
       
   156                       0x20140001,	/* 538181633 */
       
   157                       0x20150001,	/* 538247169 */
       
   158                       0x20160001	/* 538312705 */
   191                     };
   159                     };
   192                     subindex TestMaster_Index1600[] = 
   160                     subindex TestMaster_Index1600[] = 
   193                      {
   161                      {
   194                        { RW, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1600 },
   162                        { RW, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1600 },
   195                        { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1600[0] }
   163                        { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1600[0] },
   196                      };
   164                        { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1600[1] },
   197 
   165                        { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1600[2] },
   198 /* index 0x1601 :   Receive PDO 2 Mapping. */
   166                        { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1600[3] },
   199                     UNS8 TestMaster_highestSubIndex_obj1601 = 4; /* number of subindex - 1*/
   167                        { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1600[4] },
   200                     UNS32 TestMaster_obj1601[] = 
   168                        { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1600[5] },
   201                     {
   169                        { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1600[6] },
   202                       0x20050008,	/* 537198600 */
   170                        { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1600[7] }
   203                       0x20060008,	/* 537264136 */
       
   204                       0x20070008,	/* 537329672 */
       
   205                       0x20080008	/* 537395208 */
       
   206                     };
       
   207                     subindex TestMaster_Index1601[] = 
       
   208                      {
       
   209                        { RW, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1601 },
       
   210                        { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1601[0] },
       
   211                        { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1601[1] },
       
   212                        { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1601[2] },
       
   213                        { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1601[3] }
       
   214                      };
       
   215 
       
   216 /* index 0x1602 :   Receive PDO 3 Mapping. */
       
   217                     UNS8 TestMaster_highestSubIndex_obj1602 = 4; /* number of subindex - 1*/
       
   218                     UNS32 TestMaster_obj1602[] = 
       
   219                     {
       
   220                       0x20090008,	/* 537460744 */
       
   221                       0x200A0008,	/* 537526280 */
       
   222                       0x200B0008,	/* 537591816 */
       
   223                       0x200C0008	/* 537657352 */
       
   224                     };
       
   225                     subindex TestMaster_Index1602[] = 
       
   226                      {
       
   227                        { RW, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1602 },
       
   228                        { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1602[0] },
       
   229                        { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1602[1] },
       
   230                        { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1602[2] },
       
   231                        { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1602[3] }
       
   232                      };
   171                      };
   233 
   172 
   234 /* index 0x1800 :   Transmit PDO 1 Parameter. */
   173 /* index 0x1800 :   Transmit PDO 1 Parameter. */
   235                     UNS8 TestMaster_highestSubIndex_obj1800 = 5; /* number of subindex - 1*/
   174                     UNS8 TestMaster_highestSubIndex_obj1800 = 5; /* number of subindex - 1*/
   236                     UNS32 TestMaster_obj1800_COB_ID_used_by_PDO = 0x240;	/* 576 */
   175                     UNS32 TestMaster_obj1800_COB_ID_used_by_PDO = 0x240;	/* 576 */
   237                     UNS8 TestMaster_obj1800_Transmission_Type = 0x1;	/* 1 */
   176                     UNS8 TestMaster_obj1800_Transmission_Type = 0x1;	/* 1 */
   238                     UNS16 TestMaster_obj1800_Inhibit_Time = 0x0;	/* 0 */
   177                     UNS16 TestMaster_obj1800_Inhibit_Time = 0x0;	/* 0 */
   239                     UNS16 TestMaster_obj1800_Compatibility_Entry = 0x0;	/* 0 */
   178                     UNS8 TestMaster_obj1800_Compatibility_Entry = 0x0;	/* 0 */
   240                     UNS16 TestMaster_obj1800_Event_Timer = 0x0;	/* 0 */
   179                     UNS16 TestMaster_obj1800_Event_Timer = 0x0;	/* 0 */
   241                     subindex TestMaster_Index1800[] = 
   180                     subindex TestMaster_Index1800[] = 
   242                      {
   181                      {
   243                        { RO, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1800 },
   182                        { RO, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1800 },
   244                        { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1800_COB_ID_used_by_PDO },
   183                        { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1800_COB_ID_used_by_PDO },
   245                        { RW, uint8, sizeof (UNS8), (void*)&TestMaster_obj1800_Transmission_Type },
   184                        { RW, uint8, sizeof (UNS8), (void*)&TestMaster_obj1800_Transmission_Type },
   246                        { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1800_Inhibit_Time },
   185                        { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1800_Inhibit_Time },
   247                        { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1800_Compatibility_Entry },
   186                        { RW, uint8, sizeof (UNS8), (void*)&TestMaster_obj1800_Compatibility_Entry },
   248                        { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1800_Event_Timer }
   187                        { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1800_Event_Timer }
   249                      };
       
   250 
       
   251 /* index 0x1801 :   Transmit PDO 2 Parameter. */
       
   252                     UNS8 TestMaster_highestSubIndex_obj1801 = 5; /* number of subindex - 1*/
       
   253                     UNS32 TestMaster_obj1801_COB_ID_used_by_PDO = 0x0;	/* 0 */
       
   254                     UNS8 TestMaster_obj1801_Transmission_Type = 0x0;	/* 0 */
       
   255                     UNS16 TestMaster_obj1801_Inhibit_Time = 0x0;	/* 0 */
       
   256                     UNS16 TestMaster_obj1801_Compatibility_Entry = 0x0;	/* 0 */
       
   257                     UNS16 TestMaster_obj1801_Event_Timer = 0x0;	/* 0 */
       
   258                     subindex TestMaster_Index1801[] = 
       
   259                      {
       
   260                        { RO, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1801 },
       
   261                        { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1801_COB_ID_used_by_PDO },
       
   262                        { RW, uint8, sizeof (UNS8), (void*)&TestMaster_obj1801_Transmission_Type },
       
   263                        { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1801_Inhibit_Time },
       
   264                        { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1801_Compatibility_Entry },
       
   265                        { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1801_Event_Timer }
       
   266                      };
   188                      };
   267 
   189 
   268 /* index 0x1A00 :   Transmit PDO 1 Mapping. */
   190 /* index 0x1A00 :   Transmit PDO 1 Mapping. */
   269                     UNS8 TestMaster_highestSubIndex_obj1A00 = 1; /* number of subindex - 1*/
   191                     UNS8 TestMaster_highestSubIndex_obj1A00 = 1; /* number of subindex - 1*/
   270                     UNS32 TestMaster_obj1A00[] = 
   192                     UNS32 TestMaster_obj1A00[] = 
   275                      {
   197                      {
   276                        { RW, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1A00 },
   198                        { RW, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1A00 },
   277                        { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1A00[0] }
   199                        { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1A00[0] }
   278                      };
   200                      };
   279 
   201 
   280 /* index 0x1A01 :   Transmit PDO 2 Mapping. */
       
   281                     UNS8 TestMaster_highestSubIndex_obj1A01 = 4; /* number of subindex - 1*/
       
   282                     UNS32 TestMaster_obj1A01[] = 
       
   283                     {
       
   284                       0x20010008,	/* 536936456 */
       
   285                       0x20020008,	/* 537001992 */
       
   286                       0x20030008,	/* 537067528 */
       
   287                       0x200D0008	/* 537722888 */
       
   288                     };
       
   289                     subindex TestMaster_Index1A01[] = 
       
   290                      {
       
   291                        { RW, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1A01 },
       
   292                        { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1A01[0] },
       
   293                        { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1A01[1] },
       
   294                        { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1A01[2] },
       
   295                        { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1A01[3] }
       
   296                      };
       
   297 
       
   298 /* index 0x2000 :   Mapped variable DO */
   202 /* index 0x2000 :   Mapped variable DO */
   299                     subindex TestMaster_Index2000[] = 
   203                     subindex TestMaster_Index2000[] = 
   300                      {
   204                      {
   301                        { RW, uint8, sizeof (UNS8), (void*)&DO }
   205                        { RW, uint8, sizeof (UNS8), (void*)&DO }
   302                      };
   206                      };
   303 
   207 
   304 /* index 0x2001 :   Mapped variable AO1 */
   208 /* index 0x200F :   Mapped variable DI1 */
   305                     subindex TestMaster_Index2001[] = 
   209                     subindex TestMaster_Index200F[] = 
   306                      {
   210                      {
   307                        { RW, uint8, sizeof (UNS8), (void*)&AO1 }
   211                        { RW, boolean, sizeof (UNS8), (void*)&DI1 }
   308                      };
   212                      };
   309 
   213 
   310 /* index 0x2002 :   Mapped variable AO2 */
   214 /* index 0x2010 :   Mapped variable DI2 */
   311                     subindex TestMaster_Index2002[] = 
   215                     subindex TestMaster_Index2010[] = 
   312                      {
   216                      {
   313                        { RW, uint8, sizeof (UNS8), (void*)&AO2 }
   217                        { RW, boolean, sizeof (UNS8), (void*)&DI2 }
   314                      };
   218                      };
   315 
   219 
   316 /* index 0x2003 :   Mapped variable AO3 */
   220 /* index 0x2011 :   Mapped variable DI3 */
   317                     subindex TestMaster_Index2003[] = 
   221                     subindex TestMaster_Index2011[] = 
   318                      {
   222                      {
   319                        { RW, uint8, sizeof (UNS8), (void*)&AO3 }
   223                        { RW, boolean, sizeof (UNS8), (void*)&DI3 }
   320                      };
   224                      };
   321 
   225 
   322 /* index 0x2004 :   Mapped variable DI */
   226 /* index 0x2012 :   Mapped variable DI4 */
   323                     subindex TestMaster_Index2004[] = 
   227                     subindex TestMaster_Index2012[] = 
   324                      {
   228                      {
   325                        { RW, uint8, sizeof (UNS8), (void*)&DI }
   229                        { RW, boolean, sizeof (UNS8), (void*)&DI4 }
   326                      };
   230                      };
   327 
   231 
   328 /* index 0x2005 :   Mapped variable AI1 */
   232 /* index 0x2013 :   Mapped variable DI5 */
   329                     subindex TestMaster_Index2005[] = 
   233                     subindex TestMaster_Index2013[] = 
   330                      {
   234                      {
   331                        { RW, uint8, sizeof (UNS8), (void*)&AI1 }
   235                        { RW, boolean, sizeof (UNS8), (void*)&DI5 }
   332                      };
   236                      };
   333 
   237 
   334 /* index 0x2006 :   Mapped variable AI2 */
   238 /* index 0x2014 :   Mapped variable DI6 */
   335                     subindex TestMaster_Index2006[] = 
   239                     subindex TestMaster_Index2014[] = 
   336                      {
   240                      {
   337                        { RW, uint8, sizeof (UNS8), (void*)&AI2 }
   241                        { RW, boolean, sizeof (UNS8), (void*)&DI6 }
   338                      };
   242                      };
   339 
   243 
   340 /* index 0x2007 :   Mapped variable AI3 */
   244 /* index 0x2015 :   Mapped variable DI7 */
   341                     subindex TestMaster_Index2007[] = 
   245                     subindex TestMaster_Index2015[] = 
   342                      {
   246                      {
   343                        { RW, uint8, sizeof (UNS8), (void*)&AI3 }
   247                        { RW, boolean, sizeof (UNS8), (void*)&DI7 }
   344                      };
   248                      };
   345 
   249 
   346 /* index 0x2008 :   Mapped variable AI4 */
   250 /* index 0x2016 :   Mapped variable DI8 */
   347                     subindex TestMaster_Index2008[] = 
   251                     subindex TestMaster_Index2016[] = 
   348                      {
   252                      {
   349                        { RW, uint8, sizeof (UNS8), (void*)&AI4 }
   253                        { RW, boolean, sizeof (UNS8), (void*)&DI8 }
   350                      };
       
   351 
       
   352 /* index 0x2009 :   Mapped variable AI5 */
       
   353                     subindex TestMaster_Index2009[] = 
       
   354                      {
       
   355                        { RW, uint8, sizeof (UNS8), (void*)&AI5 }
       
   356                      };
       
   357 
       
   358 /* index 0x200A :   Mapped variable AI6 */
       
   359                     subindex TestMaster_Index200A[] = 
       
   360                      {
       
   361                        { RW, uint8, sizeof (UNS8), (void*)&AI6 }
       
   362                      };
       
   363 
       
   364 /* index 0x200B :   Mapped variable AI7 */
       
   365                     subindex TestMaster_Index200B[] = 
       
   366                      {
       
   367                        { RW, uint8, sizeof (UNS8), (void*)&AI7 }
       
   368                      };
       
   369 
       
   370 /* index 0x200C :   Mapped variable AI8 */
       
   371                     subindex TestMaster_Index200C[] = 
       
   372                      {
       
   373                        { RW, uint8, sizeof (UNS8), (void*)&AI8 }
       
   374                      };
       
   375 
       
   376 /* index 0x200D :   Mapped variable AO4 */
       
   377                     subindex TestMaster_Index200D[] = 
       
   378                      {
       
   379                        { RW, uint8, sizeof (UNS8), (void*)&AO4 }
       
   380                      };
   254                      };
   381 
   255 
   382 const indextable TestMaster_objdict[] = 
   256 const indextable TestMaster_objdict[] = 
   383 {
   257 {
   384   { (subindex*)TestMaster_Index1000,sizeof(TestMaster_Index1000)/sizeof(TestMaster_Index1000[0]), 0x1000},
   258   { (subindex*)TestMaster_Index1000,sizeof(TestMaster_Index1000)/sizeof(TestMaster_Index1000[0]), 0x1000},
   387   { (subindex*)TestMaster_Index1006,sizeof(TestMaster_Index1006)/sizeof(TestMaster_Index1006[0]), 0x1006},
   261   { (subindex*)TestMaster_Index1006,sizeof(TestMaster_Index1006)/sizeof(TestMaster_Index1006[0]), 0x1006},
   388   { (subindex*)TestMaster_Index1016,sizeof(TestMaster_Index1016)/sizeof(TestMaster_Index1016[0]), 0x1016},
   262   { (subindex*)TestMaster_Index1016,sizeof(TestMaster_Index1016)/sizeof(TestMaster_Index1016[0]), 0x1016},
   389   { (subindex*)TestMaster_Index1018,sizeof(TestMaster_Index1018)/sizeof(TestMaster_Index1018[0]), 0x1018},
   263   { (subindex*)TestMaster_Index1018,sizeof(TestMaster_Index1018)/sizeof(TestMaster_Index1018[0]), 0x1018},
   390   { (subindex*)TestMaster_Index1280,sizeof(TestMaster_Index1280)/sizeof(TestMaster_Index1280[0]), 0x1280},
   264   { (subindex*)TestMaster_Index1280,sizeof(TestMaster_Index1280)/sizeof(TestMaster_Index1280[0]), 0x1280},
   391   { (subindex*)TestMaster_Index1400,sizeof(TestMaster_Index1400)/sizeof(TestMaster_Index1400[0]), 0x1400},
   265   { (subindex*)TestMaster_Index1400,sizeof(TestMaster_Index1400)/sizeof(TestMaster_Index1400[0]), 0x1400},
   392   { (subindex*)TestMaster_Index1401,sizeof(TestMaster_Index1401)/sizeof(TestMaster_Index1401[0]), 0x1401},
       
   393   { (subindex*)TestMaster_Index1402,sizeof(TestMaster_Index1402)/sizeof(TestMaster_Index1402[0]), 0x1402},
       
   394   { (subindex*)TestMaster_Index1600,sizeof(TestMaster_Index1600)/sizeof(TestMaster_Index1600[0]), 0x1600},
   266   { (subindex*)TestMaster_Index1600,sizeof(TestMaster_Index1600)/sizeof(TestMaster_Index1600[0]), 0x1600},
   395   { (subindex*)TestMaster_Index1601,sizeof(TestMaster_Index1601)/sizeof(TestMaster_Index1601[0]), 0x1601},
       
   396   { (subindex*)TestMaster_Index1602,sizeof(TestMaster_Index1602)/sizeof(TestMaster_Index1602[0]), 0x1602},
       
   397   { (subindex*)TestMaster_Index1800,sizeof(TestMaster_Index1800)/sizeof(TestMaster_Index1800[0]), 0x1800},
   267   { (subindex*)TestMaster_Index1800,sizeof(TestMaster_Index1800)/sizeof(TestMaster_Index1800[0]), 0x1800},
   398   { (subindex*)TestMaster_Index1801,sizeof(TestMaster_Index1801)/sizeof(TestMaster_Index1801[0]), 0x1801},
       
   399   { (subindex*)TestMaster_Index1A00,sizeof(TestMaster_Index1A00)/sizeof(TestMaster_Index1A00[0]), 0x1A00},
   268   { (subindex*)TestMaster_Index1A00,sizeof(TestMaster_Index1A00)/sizeof(TestMaster_Index1A00[0]), 0x1A00},
   400   { (subindex*)TestMaster_Index1A01,sizeof(TestMaster_Index1A01)/sizeof(TestMaster_Index1A01[0]), 0x1A01},
       
   401   { (subindex*)TestMaster_Index2000,sizeof(TestMaster_Index2000)/sizeof(TestMaster_Index2000[0]), 0x2000},
   269   { (subindex*)TestMaster_Index2000,sizeof(TestMaster_Index2000)/sizeof(TestMaster_Index2000[0]), 0x2000},
   402   { (subindex*)TestMaster_Index2001,sizeof(TestMaster_Index2001)/sizeof(TestMaster_Index2001[0]), 0x2001},
   270   { (subindex*)TestMaster_Index200F,sizeof(TestMaster_Index200F)/sizeof(TestMaster_Index200F[0]), 0x200F},
   403   { (subindex*)TestMaster_Index2002,sizeof(TestMaster_Index2002)/sizeof(TestMaster_Index2002[0]), 0x2002},
   271   { (subindex*)TestMaster_Index2010,sizeof(TestMaster_Index2010)/sizeof(TestMaster_Index2010[0]), 0x2010},
   404   { (subindex*)TestMaster_Index2003,sizeof(TestMaster_Index2003)/sizeof(TestMaster_Index2003[0]), 0x2003},
   272   { (subindex*)TestMaster_Index2011,sizeof(TestMaster_Index2011)/sizeof(TestMaster_Index2011[0]), 0x2011},
   405   { (subindex*)TestMaster_Index2004,sizeof(TestMaster_Index2004)/sizeof(TestMaster_Index2004[0]), 0x2004},
   273   { (subindex*)TestMaster_Index2012,sizeof(TestMaster_Index2012)/sizeof(TestMaster_Index2012[0]), 0x2012},
   406   { (subindex*)TestMaster_Index2005,sizeof(TestMaster_Index2005)/sizeof(TestMaster_Index2005[0]), 0x2005},
   274   { (subindex*)TestMaster_Index2013,sizeof(TestMaster_Index2013)/sizeof(TestMaster_Index2013[0]), 0x2013},
   407   { (subindex*)TestMaster_Index2006,sizeof(TestMaster_Index2006)/sizeof(TestMaster_Index2006[0]), 0x2006},
   275   { (subindex*)TestMaster_Index2014,sizeof(TestMaster_Index2014)/sizeof(TestMaster_Index2014[0]), 0x2014},
   408   { (subindex*)TestMaster_Index2007,sizeof(TestMaster_Index2007)/sizeof(TestMaster_Index2007[0]), 0x2007},
   276   { (subindex*)TestMaster_Index2015,sizeof(TestMaster_Index2015)/sizeof(TestMaster_Index2015[0]), 0x2015},
   409   { (subindex*)TestMaster_Index2008,sizeof(TestMaster_Index2008)/sizeof(TestMaster_Index2008[0]), 0x2008},
   277   { (subindex*)TestMaster_Index2016,sizeof(TestMaster_Index2016)/sizeof(TestMaster_Index2016[0]), 0x2016},
   410   { (subindex*)TestMaster_Index2009,sizeof(TestMaster_Index2009)/sizeof(TestMaster_Index2009[0]), 0x2009},
       
   411   { (subindex*)TestMaster_Index200A,sizeof(TestMaster_Index200A)/sizeof(TestMaster_Index200A[0]), 0x200A},
       
   412   { (subindex*)TestMaster_Index200B,sizeof(TestMaster_Index200B)/sizeof(TestMaster_Index200B[0]), 0x200B},
       
   413   { (subindex*)TestMaster_Index200C,sizeof(TestMaster_Index200C)/sizeof(TestMaster_Index200C[0]), 0x200C},
       
   414   { (subindex*)TestMaster_Index200D,sizeof(TestMaster_Index200D)/sizeof(TestMaster_Index200D[0]), 0x200D},
       
   415 };
   278 };
   416 
   279 
   417 const indextable * TestMaster_scanIndexOD (UNS16 wIndex, UNS32 * errorCode, ODCallback_t **callbacks)
   280 const indextable * TestMaster_scanIndexOD (UNS16 wIndex, UNS32 * errorCode, ODCallback_t **callbacks)
   418 {
   281 {
   419 	int i;
   282 	int i;
   425 		case 0x1006: i = 3;*callbacks = TestMaster_Index1006_callbacks; break;
   288 		case 0x1006: i = 3;*callbacks = TestMaster_Index1006_callbacks; break;
   426 		case 0x1016: i = 4;break;
   289 		case 0x1016: i = 4;break;
   427 		case 0x1018: i = 5;break;
   290 		case 0x1018: i = 5;break;
   428 		case 0x1280: i = 6;break;
   291 		case 0x1280: i = 6;break;
   429 		case 0x1400: i = 7;break;
   292 		case 0x1400: i = 7;break;
   430 		case 0x1401: i = 8;break;
   293 		case 0x1600: i = 8;break;
   431 		case 0x1402: i = 9;break;
   294 		case 0x1800: i = 9;break;
   432 		case 0x1600: i = 10;break;
   295 		case 0x1A00: i = 10;break;
   433 		case 0x1601: i = 11;break;
   296 		case 0x2000: i = 11;break;
   434 		case 0x1602: i = 12;break;
   297 		case 0x200F: i = 12;break;
   435 		case 0x1800: i = 13;break;
   298 		case 0x2010: i = 13;break;
   436 		case 0x1801: i = 14;break;
   299 		case 0x2011: i = 14;break;
   437 		case 0x1A00: i = 15;break;
   300 		case 0x2012: i = 15;break;
   438 		case 0x1A01: i = 16;break;
   301 		case 0x2013: i = 16;break;
   439 		case 0x2000: i = 17;break;
   302 		case 0x2014: i = 17;break;
   440 		case 0x2001: i = 18;break;
   303 		case 0x2015: i = 18;break;
   441 		case 0x2002: i = 19;break;
   304 		case 0x2016: i = 19;break;
   442 		case 0x2003: i = 20;break;
       
   443 		case 0x2004: i = 21;break;
       
   444 		case 0x2005: i = 22;break;
       
   445 		case 0x2006: i = 23;break;
       
   446 		case 0x2007: i = 24;break;
       
   447 		case 0x2008: i = 25;break;
       
   448 		case 0x2009: i = 26;break;
       
   449 		case 0x200A: i = 27;break;
       
   450 		case 0x200B: i = 28;break;
       
   451 		case 0x200C: i = 29;break;
       
   452 		case 0x200D: i = 30;break;
       
   453 		default:
   305 		default:
   454 			*errorCode = OD_NO_SUCH_OBJECT;
   306 			*errorCode = OD_NO_SUCH_OBJECT;
   455 			return NULL;
   307 			return NULL;
   456 	}
   308 	}
   457 	*errorCode = OD_SUCCESSFUL;
   309 	*errorCode = OD_SUCCESSFUL;
   460 
   312 
   461 /* To count at which received SYNC a PDO must be sent.
   313 /* To count at which received SYNC a PDO must be sent.
   462  * Even if no pdoTransmit are defined, at least one entry is computed
   314  * Even if no pdoTransmit are defined, at least one entry is computed
   463  * for compilations issues.
   315  * for compilations issues.
   464  */
   316  */
   465 UNS8 TestMaster_count_sync[2] = {0,};
   317 UNS8 TestMaster_count_sync[1] = {0,};
   466 
   318 
   467 quick_index TestMaster_firstIndex = {
   319 quick_index TestMaster_firstIndex = {
   468   0, /* SDO_SVR */
   320   0, /* SDO_SVR */
   469   6, /* SDO_CLT */
   321   6, /* SDO_CLT */
   470   7, /* PDO_RCV */
   322   7, /* PDO_RCV */
   471   10, /* PDO_RCV_MAP */
   323   8, /* PDO_RCV_MAP */
   472   13, /* PDO_TRS */
   324   9, /* PDO_TRS */
   473   15 /* PDO_TRS_MAP */
   325   10 /* PDO_TRS_MAP */
   474 };
   326 };
   475 
   327 
   476 quick_index TestMaster_lastIndex = {
   328 quick_index TestMaster_lastIndex = {
   477   0, /* SDO_SVR */
   329   0, /* SDO_SVR */
   478   6, /* SDO_CLT */
   330   6, /* SDO_CLT */
   479   9, /* PDO_RCV */
   331   7, /* PDO_RCV */
   480   12, /* PDO_RCV_MAP */
   332   8, /* PDO_RCV_MAP */
   481   14, /* PDO_TRS */
   333   9, /* PDO_TRS */
   482   16 /* PDO_TRS_MAP */
   334   10 /* PDO_TRS_MAP */
   483 };
   335 };
   484 
   336 
   485 UNS16 TestMaster_ObjdictSize = sizeof(TestMaster_objdict)/sizeof(TestMaster_objdict[0]); 
   337 UNS16 TestMaster_ObjdictSize = sizeof(TestMaster_objdict)/sizeof(TestMaster_objdict[0]); 
   486 
   338 
   487 CO_Data TestMaster_Data = CANOPEN_NODE_DATA_INITIALIZER(TestMaster);
   339 CO_Data TestMaster_Data = CANOPEN_NODE_DATA_INITIALIZER(TestMaster);