nico@215: nico@215: nico@215: CanFestival: examples/TestMasterSlave/TestSlave.c Source File nico@215: nico@215: nico@215: nico@215: nico@215:
nico@215:
nico@215:
nico@215:
nico@215: nico@215:

TestSlave.c

Go to the documentation of this file.
00001 
nico@215: 00002 /* File generated by gen_cfile.py. Should not be modified. */
nico@215: 00003 
nico@215: 00004 #include "TestSlave.h"
nico@215: 00005 
nico@215: 00006 /**************************************************************************/
nico@215: 00007 /* Declaration of the mapped variables                                    */
nico@215: 00008 /**************************************************************************/
etisserant@240: 00009 UNS8 SlaveMap1 = 0x0;           /* Mapped at index 0x2000, subindex 0x00 */
etisserant@240: 00010 UNS8 SlaveMap2 = 0x0;           /* Mapped at index 0x2001, subindex 0x00 */
etisserant@240: 00011 UNS8 SlaveMap3 = 0x0;           /* Mapped at index 0x2002, subindex 0x00 */
etisserant@240: 00012 UNS8 SlaveMap4 = 0x0;           /* Mapped at index 0x2003, subindex 0x00 */
etisserant@240: 00013 UNS8 SlaveMap5 = 0x0;           /* Mapped at index 0x2004, subindex 0x00 */
etisserant@240: 00014 UNS8 SlaveMap6 = 0x0;           /* Mapped at index 0x2005, subindex 0x00 */
etisserant@240: 00015 UNS8 SlaveMap7 = 0x0;           /* Mapped at index 0x2006, subindex 0x00 */
etisserant@240: 00016 UNS8 SlaveMap8 = 0x0;           /* Mapped at index 0x2007, subindex 0x00 */
etisserant@240: 00017 UNS8 SlaveMap9 = 0x0;           /* Mapped at index 0x2008, subindex 0x00 */
etisserant@240: 00018 UNS32 SlaveMap10 = 0x0;         /* Mapped at index 0x2009, subindex 0x00 */
etisserant@240: 00019 UNS16 SlaveMap11 = 0x0;         /* Mapped at index 0x200A, subindex 0x00 */
etisserant@240: 00020 INTEGER16 SlaveMap12 = 0x0;             /* Mapped at index 0x200B, subindex 0x00 */
etisserant@240: 00021 INTEGER16 SlaveMap13 = 0x4D2;           /* Mapped at index 0x200C, subindex 0x00 */
etisserant@240: 00022 
nico@215: 00023 /**************************************************************************/
etisserant@240: 00024 /* Declaration of the value range types                                   */
etisserant@240: 00025 /**************************************************************************/
etisserant@240: 00026 
etisserant@240: 00027 UNS32 TestSlave_valueRangeTest (UNS8 typeValue, void * value)
etisserant@240: 00028 {
etisserant@240: 00029   switch (typeValue) {
etisserant@240: 00030   }
etisserant@240: 00031   return 0;
etisserant@240: 00032 }
etisserant@240: 00033 
nico@215: 00034 /**************************************************************************/
etisserant@240: 00035 /* The node id                                                            */
etisserant@240: 00036 /**************************************************************************/
etisserant@240: 00037 /* node_id default value.*/
etisserant@240: 00038 UNS8 TestSlave_bDeviceNodeId = 0x02;
etisserant@240: 00039 
etisserant@240: 00040 /**************************************************************************/
etisserant@240: 00041 /* Array of message processing information */
nico@215: 00042 
etisserant@240: 00043 const UNS8 TestSlave_iam_a_slave = 1;
nico@215: 00044 
etisserant@240: 00045 TIMER_HANDLE TestSlave_heartBeatTimers[1];
etisserant@240: 00046 
etisserant@240: 00047 /*
etisserant@240: 00048 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
nico@215: 00049 
etisserant@240: 00050                                OBJECT DICTIONARY
etisserant@240: 00051 
etisserant@240: 00052 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
etisserant@240: 00053 */
etisserant@240: 00054 
etisserant@240: 00055 /* index 0x1000 :   Device Type. */
etisserant@240: 00056                     UNS32 TestSlave_obj1000 = 0x12D;    /* 301 */
etisserant@240: 00057                     subindex TestSlave_Index1000[] = 
etisserant@240: 00058                      {
etisserant@240: 00059                        { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1000 }
etisserant@240: 00060                      };
etisserant@240: 00061 
etisserant@240: 00062 /* index 0x1001 :   Error Register. */
etisserant@240: 00063                     UNS8 TestSlave_obj1001 = 0x0;       /* 0 */
etisserant@240: 00064                     subindex TestSlave_Index1001[] = 
etisserant@240: 00065                      {
etisserant@240: 00066                        { RO, uint8, sizeof (UNS8), (void*)&TestSlave_obj1001 }
etisserant@240: 00067                      };
etisserant@240: 00068 
etisserant@240: 00069 /* index 0x1005 :   SYNC COB ID. */
etisserant@240: 00070                     UNS32 TestSlave_obj1005 = 0x80;     /* 128 */
etisserant@240: 00071                     ODCallback_t TestSlave_Index1005_callbacks[] = 
etisserant@240: 00072                      {
etisserant@240: 00073                        NULL,
etisserant@240: 00074                      };
etisserant@240: 00075                     subindex TestSlave_Index1005[] = 
etisserant@240: 00076                      {
etisserant@240: 00077                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1005 }
etisserant@240: 00078                      };
etisserant@240: 00079 
etisserant@240: 00080 /* index 0x1006 :   Communication / Cycle Period. */
etisserant@240: 00081                     UNS32 TestSlave_obj1006 = 0x0;      /* 0 */
etisserant@240: 00082                     ODCallback_t TestSlave_Index1006_callbacks[] = 
etisserant@240: 00083                      {
etisserant@240: 00084                        NULL,
etisserant@240: 00085                      };
etisserant@240: 00086                     subindex TestSlave_Index1006[] = 
etisserant@240: 00087                      {
etisserant@240: 00088                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1006 }
etisserant@240: 00089                      };
etisserant@240: 00090 
etisserant@240: 00091 /* index 0x1010 :   Store parameters. */
etisserant@240: 00092                     UNS8 TestSlave_highestSubIndex_obj1010 = 4; /* number of subindex - 1*/
etisserant@240: 00093                     UNS32 TestSlave_obj1010_Save_All_Parameters = 0x0;  /* 0 */
etisserant@240: 00094                     UNS32 TestSlave_obj1010_Save_Communication_Parameters = 0x0;        /* 0 */
etisserant@240: 00095                     UNS32 TestSlave_obj1010_Save_Application_Parameters = 0x0;  /* 0 */
etisserant@240: 00096                     UNS32 TestSlave_obj1010_Save_Manufacturer_Parameters = 0x0; /* 0 */
etisserant@240: 00097                     ODCallback_t TestSlave_Index1010_callbacks[] = 
etisserant@240: 00098                      {
nico@215: 00099                        NULL,
nico@215: 00100                        NULL,
nico@215: 00101                        NULL,
etisserant@240: 00102                        NULL,
etisserant@240: 00103                        NULL,
etisserant@240: 00104                      };
etisserant@240: 00105                     subindex TestSlave_Index1010[] = 
etisserant@240: 00106                      {
etisserant@240: 00107                        { RO, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1010 },
etisserant@240: 00108                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1010_Save_All_Parameters },
etisserant@240: 00109                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1010_Save_Communication_Parameters },
etisserant@240: 00110                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1010_Save_Application_Parameters },
etisserant@240: 00111                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1010_Save_Manufacturer_Parameters }
etisserant@240: 00112                      };
etisserant@240: 00113 
etisserant@240: 00114 /* index 0x1011 :   Restore Default Parameters. */
etisserant@240: 00115                     UNS8 TestSlave_highestSubIndex_obj1011 = 4; /* number of subindex - 1*/
etisserant@240: 00116                     UNS32 TestSlave_obj1011_Restore_All_Default_Parameters = 0x0;       /* 0 */
etisserant@240: 00117                     UNS32 TestSlave_obj1011_Restore_Communication_Default_Parameters = 0x0;     /* 0 */
etisserant@240: 00118                     UNS32 TestSlave_obj1011_Restore_Application_Default_Parameters = 0x0;       /* 0 */
etisserant@240: 00119                     UNS32 TestSlave_obj1011_Restore_Manufacturer_Default_Parameters = 0x0;      /* 0 */
etisserant@240: 00120                     ODCallback_t TestSlave_Index1011_callbacks[] = 
etisserant@240: 00121                      {
nico@215: 00122                        NULL,
nico@215: 00123                        NULL,
nico@215: 00124                        NULL,
etisserant@240: 00125                        NULL,
etisserant@240: 00126                        NULL,
etisserant@240: 00127                      };
etisserant@240: 00128                     subindex TestSlave_Index1011[] = 
etisserant@240: 00129                      {
etisserant@240: 00130                        { RO, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1011 },
etisserant@240: 00131                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1011_Restore_All_Default_Parameters },
etisserant@240: 00132                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1011_Restore_Communication_Default_Parameters },
etisserant@240: 00133                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1011_Restore_Application_Default_Parameters },
etisserant@240: 00134                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1011_Restore_Manufacturer_Default_Parameters }
etisserant@240: 00135                      };
etisserant@240: 00136 
etisserant@240: 00137 /* index 0x1016 :   Consumer Heartbeat Time */
etisserant@240: 00138                     UNS8 TestSlave_highestSubIndex_obj1016 = 0;
etisserant@240: 00139                     UNS32 TestSlave_obj1016[]={0};
etisserant@240: 00140 
etisserant@240: 00141 /* index 0x1017 :   Producer Heartbeat Time. */
etisserant@240: 00142                     UNS16 TestSlave_obj1017 = 0x0;      /* 0 */
etisserant@240: 00143                     ODCallback_t TestSlave_Index1017_callbacks[] = 
etisserant@240: 00144                      {
etisserant@240: 00145                        NULL,
etisserant@240: 00146                      };
etisserant@240: 00147                     subindex TestSlave_Index1017[] = 
etisserant@240: 00148                      {
etisserant@240: 00149                        { RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1017 }
etisserant@240: 00150                      };
etisserant@240: 00151 
etisserant@240: 00152 /* index 0x1018 :   Identity. */
etisserant@240: 00153                     UNS8 TestSlave_highestSubIndex_obj1018 = 4; /* number of subindex - 1*/
etisserant@240: 00154                     UNS32 TestSlave_obj1018_Vendor_ID = 0x0;    /* 0 */
etisserant@240: 00155                     UNS32 TestSlave_obj1018_Product_Code = 0x0; /* 0 */
etisserant@240: 00156                     UNS32 TestSlave_obj1018_Revision_Number = 0x0;      /* 0 */
etisserant@240: 00157                     UNS32 TestSlave_obj1018_Serial_Number = 0x0;        /* 0 */
etisserant@240: 00158                     subindex TestSlave_Index1018[] = 
etisserant@240: 00159                      {
etisserant@240: 00160                        { RO, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1018 },
etisserant@240: 00161                        { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1018_Vendor_ID },
etisserant@240: 00162                        { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1018_Product_Code },
etisserant@240: 00163                        { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1018_Revision_Number },
etisserant@240: 00164                        { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1018_Serial_Number }
etisserant@240: 00165                      };
etisserant@240: 00166 
etisserant@240: 00167 /* index 0x1200 :   Server SDO Parameter. */
etisserant@240: 00168                     UNS8 TestSlave_highestSubIndex_obj1200 = 2; /* number of subindex - 1*/
etisserant@240: 00169                     UNS32 TestSlave_obj1200_COB_ID_Client_to_Server_Receive_SDO = 0x601;        /* 1537 */
etisserant@240: 00170                     UNS32 TestSlave_obj1200_COB_ID_Server_to_Client_Transmit_SDO = 0x581;       /* 1409 */
etisserant@240: 00171                     subindex TestSlave_Index1200[] = 
etisserant@240: 00172                      {
etisserant@240: 00173                        { RO, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1200 },
etisserant@240: 00174                        { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1200_COB_ID_Client_to_Server_Receive_SDO },
etisserant@240: 00175                        { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1200_COB_ID_Server_to_Client_Transmit_SDO }
etisserant@240: 00176                      };
etisserant@240: 00177 
etisserant@240: 00178 /* index 0x1800 :   Transmit PDO 1 Parameter. */
etisserant@240: 00179                     UNS8 TestSlave_highestSubIndex_obj1800 = 5; /* number of subindex - 1*/
etisserant@240: 00180                     UNS32 TestSlave_obj1800_COB_ID_used_by_PDO = 0x182; /* 386 */
etisserant@240: 00181                     UNS8 TestSlave_obj1800_Transmission_Type = 0x0;     /* 0 */
etisserant@240: 00182                     UNS16 TestSlave_obj1800_Inhibit_Time = 0x0; /* 0 */
etisserant@240: 00183                     UNS8 TestSlave_obj1800_Compatibility_Entry = 0x0;   /* 0 */
etisserant@240: 00184                     UNS16 TestSlave_obj1800_Event_Timer = 0x0;  /* 0 */
etisserant@240: 00185                     ODCallback_t TestSlave_Index1800_callbacks[] = 
etisserant@240: 00186                      {
etisserant@240: 00187                        NULL,
etisserant@240: 00188                        NULL,
etisserant@240: 00189                        NULL,
etisserant@240: 00190                        NULL,
etisserant@240: 00191                        NULL,
etisserant@240: 00192                        NULL,
etisserant@240: 00193                      };
etisserant@240: 00194                     subindex TestSlave_Index1800[] = 
etisserant@240: 00195                      {
etisserant@240: 00196                        { RO, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1800 },
etisserant@240: 00197                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1800_COB_ID_used_by_PDO },
etisserant@240: 00198                        { RW|TO_BE_SAVE, uint8, sizeof (UNS8), (void*)&TestSlave_obj1800_Transmission_Type },
etisserant@240: 00199                        { RW|TO_BE_SAVE, uint16, sizeof (UNS16), (void*)&TestSlave_obj1800_Inhibit_Time },
etisserant@240: 00200                        { RW, uint8, sizeof (UNS8), (void*)&TestSlave_obj1800_Compatibility_Entry },
etisserant@240: 00201                        { RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1800_Event_Timer }
etisserant@240: 00202                      };
etisserant@240: 00203 
etisserant@240: 00204 /* index 0x1801 :   Transmit PDO 2 Parameter. */
etisserant@240: 00205                     UNS8 TestSlave_highestSubIndex_obj1801 = 5; /* number of subindex - 1*/
etisserant@240: 00206                     UNS32 TestSlave_obj1801_COB_ID_used_by_PDO = 0x282; /* 642 */
etisserant@240: 00207                     UNS8 TestSlave_obj1801_Transmission_Type = 0x0;     /* 0 */
etisserant@240: 00208                     UNS16 TestSlave_obj1801_Inhibit_Time = 0x0; /* 0 */
etisserant@240: 00209                     UNS8 TestSlave_obj1801_Compatibility_Entry = 0x0;   /* 0 */
etisserant@240: 00210                     UNS16 TestSlave_obj1801_Event_Timer = 0x0;  /* 0 */
etisserant@240: 00211                     ODCallback_t TestSlave_Index1801_callbacks[] = 
etisserant@240: 00212                      {
etisserant@240: 00213                        NULL,
etisserant@240: 00214                        NULL,
etisserant@240: 00215                        NULL,
etisserant@240: 00216                        NULL,
etisserant@240: 00217                        NULL,
etisserant@240: 00218                        NULL,
etisserant@240: 00219                      };
etisserant@240: 00220                     subindex TestSlave_Index1801[] = 
etisserant@240: 00221                      {
etisserant@240: 00222                        { RO, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1801 },
etisserant@240: 00223                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1801_COB_ID_used_by_PDO },
etisserant@240: 00224                        { RW, uint8, sizeof (UNS8), (void*)&TestSlave_obj1801_Transmission_Type },
etisserant@240: 00225                        { RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1801_Inhibit_Time },
etisserant@240: 00226                        { RW, uint8, sizeof (UNS8), (void*)&TestSlave_obj1801_Compatibility_Entry },
etisserant@240: 00227                        { RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1801_Event_Timer }
etisserant@240: 00228                      };
etisserant@240: 00229 
etisserant@240: 00230 /* index 0x1802 :   Transmit PDO 3 Parameter. */
etisserant@240: 00231                     UNS8 TestSlave_highestSubIndex_obj1802 = 5; /* number of subindex - 1*/
etisserant@240: 00232                     UNS32 TestSlave_obj1802_COB_ID_used_by_PDO = 0x382; /* 898 */
etisserant@240: 00233                     UNS8 TestSlave_obj1802_Transmission_Type = 0xFF;    /* 255 */
etisserant@240: 00234                     UNS16 TestSlave_obj1802_Inhibit_Time = 0x1388;      /* 5000 */
etisserant@240: 00235                     UNS8 TestSlave_obj1802_Compatibility_Entry = 0x0;   /* 0 */
etisserant@240: 00236                     UNS16 TestSlave_obj1802_Event_Timer = 0x3E8;        /* 1000 */
etisserant@240: 00237                     ODCallback_t TestSlave_Index1802_callbacks[] = 
etisserant@240: 00238                      {
etisserant@240: 00239                        NULL,
etisserant@240: 00240                        NULL,
etisserant@240: 00241                        NULL,
etisserant@240: 00242                        NULL,
etisserant@240: 00243                        NULL,
etisserant@240: 00244                        NULL,
etisserant@240: 00245                      };
etisserant@240: 00246                     subindex TestSlave_Index1802[] = 
nico@215: 00247                      {
etisserant@240: 00248                        { RO, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1802 },
etisserant@240: 00249                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1802_COB_ID_used_by_PDO },
etisserant@240: 00250                        { RW, uint8, sizeof (UNS8), (void*)&TestSlave_obj1802_Transmission_Type },
etisserant@240: 00251                        { RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1802_Inhibit_Time },
etisserant@240: 00252                        { RW, uint8, sizeof (UNS8), (void*)&TestSlave_obj1802_Compatibility_Entry },
etisserant@240: 00253                        { RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1802_Event_Timer }
etisserant@240: 00254                      };
etisserant@240: 00255 
etisserant@240: 00256 /* index 0x1803 :   Transmit PDO 4 Parameter. */
etisserant@240: 00257                     UNS8 TestSlave_highestSubIndex_obj1803 = 5; /* number of subindex - 1*/
etisserant@240: 00258                     UNS32 TestSlave_obj1803_COB_ID_used_by_PDO = 0x482; /* 1154 */
etisserant@240: 00259                     UNS8 TestSlave_obj1803_Transmission_Type = 0xFC;    /* 252 */
etisserant@240: 00260                     UNS16 TestSlave_obj1803_Inhibit_Time = 0x0; /* 0 */
etisserant@240: 00261                     UNS8 TestSlave_obj1803_Compatibility_Entry = 0x0;   /* 0 */
etisserant@240: 00262                     UNS16 TestSlave_obj1803_Event_Timer = 0x0;  /* 0 */
etisserant@240: 00263                     ODCallback_t TestSlave_Index1803_callbacks[] = 
etisserant@240: 00264                      {
etisserant@240: 00265                        NULL,
etisserant@240: 00266                        NULL,
etisserant@240: 00267                        NULL,
etisserant@240: 00268                        NULL,
etisserant@240: 00269                        NULL,
etisserant@240: 00270                        NULL,
etisserant@240: 00271                      };
etisserant@240: 00272                     subindex TestSlave_Index1803[] = 
etisserant@240: 00273                      {
etisserant@240: 00274                        { RO, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1803 },
etisserant@240: 00275                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1803_COB_ID_used_by_PDO },
etisserant@240: 00276                        { RW, uint8, sizeof (UNS8), (void*)&TestSlave_obj1803_Transmission_Type },
etisserant@240: 00277                        { RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1803_Inhibit_Time },
etisserant@240: 00278                        { RW, uint8, sizeof (UNS8), (void*)&TestSlave_obj1803_Compatibility_Entry },
etisserant@240: 00279                        { RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1803_Event_Timer }
nico@215: 00280                      };
nico@215: 00281 
etisserant@240: 00282 /* index 0x1804 :   Transmit PDO 5 Parameter. */
etisserant@240: 00283                     UNS8 TestSlave_highestSubIndex_obj1804 = 5; /* number of subindex - 1*/
etisserant@240: 00284                     UNS32 TestSlave_obj1804_COB_ID_used_by_PDO = 0x401; /* 1025 */
etisserant@240: 00285                     UNS8 TestSlave_obj1804_Transmission_Type = 0xFD;    /* 253 */
etisserant@240: 00286                     UNS16 TestSlave_obj1804_Inhibit_Time = 0x0; /* 0 */
etisserant@240: 00287                     UNS8 TestSlave_obj1804_Compatibility_Entry = 0x0;   /* 0 */
etisserant@240: 00288                     UNS16 TestSlave_obj1804_Event_Timer = 0x0;  /* 0 */
etisserant@240: 00289                     ODCallback_t TestSlave_Index1804_callbacks[] = 
nico@215: 00290                      {
etisserant@240: 00291                        NULL,
etisserant@240: 00292                        NULL,
etisserant@240: 00293                        NULL,
etisserant@240: 00294                        NULL,
etisserant@240: 00295                        NULL,
etisserant@240: 00296                        NULL,
etisserant@240: 00297                      };
etisserant@240: 00298                     subindex TestSlave_Index1804[] = 
etisserant@240: 00299                      {
etisserant@240: 00300                        { RO, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1804 },
etisserant@240: 00301                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1804_COB_ID_used_by_PDO },
etisserant@240: 00302                        { RW, uint8, sizeof (UNS8), (void*)&TestSlave_obj1804_Transmission_Type },
etisserant@240: 00303                        { RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1804_Inhibit_Time },
etisserant@240: 00304                        { RW, uint8, sizeof (UNS8), (void*)&TestSlave_obj1804_Compatibility_Entry },
etisserant@240: 00305                        { RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1804_Event_Timer }
etisserant@240: 00306                      };
etisserant@240: 00307 
etisserant@240: 00308 /* index 0x1A00 :   Transmit PDO 1 Mapping. */
etisserant@240: 00309                     UNS8 TestSlave_highestSubIndex_obj1A00 = 10; /* number of subindex - 1*/
etisserant@240: 00310                     UNS32 TestSlave_obj1A00[] = 
etisserant@240: 00311                     {
etisserant@240: 00312                       0x20000001,       /* 536870913 */
etisserant@240: 00313                       0x20010001,       /* 536936449 */
etisserant@240: 00314                       0x20020001,       /* 537001985 */
etisserant@240: 00315                       0x20030001,       /* 537067521 */
etisserant@240: 00316                       0x20040001,       /* 537133057 */
etisserant@240: 00317                       0x20050001,       /* 537198593 */
etisserant@240: 00318                       0x20060001,       /* 537264129 */
etisserant@240: 00319                       0x20070001,       /* 537329665 */
etisserant@240: 00320                       0x20080008,       /* 537395208 */
etisserant@240: 00321                       0x20090020        /* 537460768 */
etisserant@240: 00322                     };
etisserant@240: 00323                     subindex TestSlave_Index1A00[] = 
etisserant@240: 00324                      {
etisserant@240: 00325                        { RW, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1A00 },
etisserant@240: 00326                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[0] },
etisserant@240: 00327                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[1] },
etisserant@240: 00328                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[2] },
etisserant@240: 00329                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[3] },
etisserant@240: 00330                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[4] },
etisserant@240: 00331                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[5] },
etisserant@240: 00332                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[6] },
etisserant@240: 00333                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[7] },
etisserant@240: 00334                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[8] },
etisserant@240: 00335                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[9] }
etisserant@240: 00336                      };
etisserant@240: 00337 
etisserant@240: 00338 /* index 0x1A01 :   Transmit PDO 2 Mapping. */
etisserant@240: 00339                     UNS8 TestSlave_highestSubIndex_obj1A01 = 1; /* number of subindex - 1*/
etisserant@240: 00340                     UNS32 TestSlave_obj1A01[] = 
etisserant@240: 00341                     {
etisserant@240: 00342                       0x200A0010        /* 537526288 */
etisserant@240: 00343                     };
etisserant@240: 00344                     subindex TestSlave_Index1A01[] = 
etisserant@240: 00345                      {
etisserant@240: 00346                        { RW, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1A01 },
etisserant@240: 00347                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A01[0] }
etisserant@240: 00348                      };
etisserant@240: 00349 
etisserant@240: 00350 /* index 0x1A02 :   Transmit PDO 3 Mapping. */
etisserant@240: 00351                     UNS8 TestSlave_highestSubIndex_obj1A02 = 1; /* number of subindex - 1*/
etisserant@240: 00352                     UNS32 TestSlave_obj1A02[] = 
etisserant@240: 00353                     {
etisserant@240: 00354                       0x200B0010        /* 537591824 */
etisserant@240: 00355                     };
etisserant@240: 00356                     subindex TestSlave_Index1A02[] = 
etisserant@240: 00357                      {
etisserant@240: 00358                        { RW, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1A02 },
etisserant@240: 00359                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A02[0] }
etisserant@240: 00360                      };
etisserant@240: 00361 
etisserant@240: 00362 /* index 0x1A03 :   Transmit PDO 4 Mapping. */
etisserant@240: 00363                     UNS8 TestSlave_highestSubIndex_obj1A03 = 1; /* number of subindex - 1*/
etisserant@240: 00364                     UNS32 TestSlave_obj1A03[] = 
etisserant@240: 00365                     {
etisserant@240: 00366                       0x200C0010        /* 537657360 */
etisserant@240: 00367                     };
etisserant@240: 00368                     subindex TestSlave_Index1A03[] = 
etisserant@240: 00369                      {
etisserant@240: 00370                        { RW, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1A03 },
etisserant@240: 00371                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A03[0] }
etisserant@240: 00372                      };
etisserant@240: 00373 
etisserant@240: 00374 /* index 0x1A04 :   Transmit PDO 5 Mapping. */
etisserant@240: 00375                     UNS8 TestSlave_highestSubIndex_obj1A04 = 1; /* number of subindex - 1*/
etisserant@240: 00376                     UNS32 TestSlave_obj1A04[] = 
etisserant@240: 00377                     {
etisserant@240: 00378                       0x200C0010        /* 537657360 */
etisserant@240: 00379                     };
etisserant@240: 00380                     subindex TestSlave_Index1A04[] = 
etisserant@240: 00381                      {
etisserant@240: 00382                        { RW, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1A04 },
etisserant@240: 00383                        { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A04[0] }
etisserant@240: 00384                      };
etisserant@240: 00385 
etisserant@240: 00386 /* index 0x2000 :   Mapped variable SlaveMap1 */
etisserant@240: 00387                     subindex TestSlave_Index2000[] = 
etisserant@240: 00388                      {
etisserant@240: 00389                        { RW, boolean, sizeof (UNS8), (void*)&SlaveMap1 }
etisserant@240: 00390                      };
etisserant@240: 00391 
etisserant@240: 00392 /* index 0x2001 :   Mapped variable SlaveMap2 */
etisserant@240: 00393                     subindex TestSlave_Index2001[] = 
etisserant@240: 00394                      {
etisserant@240: 00395                        { RW, boolean, sizeof (UNS8), (void*)&SlaveMap2 }
etisserant@240: 00396                      };
nico@215: 00397 
etisserant@240: 00398 /* index 0x2002 :   Mapped variable SlaveMap3 */
etisserant@240: 00399                     subindex TestSlave_Index2002[] = 
etisserant@240: 00400                      {
etisserant@240: 00401                        { RW, boolean, sizeof (UNS8), (void*)&SlaveMap3 }
etisserant@240: 00402                      };
etisserant@240: 00403 
etisserant@240: 00404 /* index 0x2003 :   Mapped variable SlaveMap4 */
etisserant@240: 00405                     subindex TestSlave_Index2003[] = 
etisserant@240: 00406                      {
etisserant@240: 00407                        { RW, boolean, sizeof (UNS8), (void*)&SlaveMap4 }
etisserant@240: 00408                      };
etisserant@240: 00409 
etisserant@240: 00410 /* index 0x2004 :   Mapped variable SlaveMap5 */
etisserant@240: 00411                     subindex TestSlave_Index2004[] = 
etisserant@240: 00412                      {
etisserant@240: 00413                        { RW, boolean, sizeof (UNS8), (void*)&SlaveMap5 }
etisserant@240: 00414                      };
etisserant@240: 00415 
etisserant@240: 00416 /* index 0x2005 :   Mapped variable SlaveMap6 */
etisserant@240: 00417                     subindex TestSlave_Index2005[] = 
etisserant@240: 00418                      {
etisserant@240: 00419                        { RW, boolean, sizeof (UNS8), (void*)&SlaveMap6 }
etisserant@240: 00420                      };
etisserant@240: 00421 
etisserant@240: 00422 /* index 0x2006 :   Mapped variable SlaveMap7 */
etisserant@240: 00423                     subindex TestSlave_Index2006[] = 
etisserant@240: 00424                      {
etisserant@240: 00425                        { RW, boolean, sizeof (UNS8), (void*)&SlaveMap7 }
etisserant@240: 00426                      };
etisserant@240: 00427 
etisserant@240: 00428 /* index 0x2007 :   Mapped variable SlaveMap8 */
etisserant@240: 00429                     subindex TestSlave_Index2007[] = 
etisserant@240: 00430                      {
etisserant@240: 00431                        { RW, boolean, sizeof (UNS8), (void*)&SlaveMap8 }
etisserant@240: 00432                      };
etisserant@240: 00433 
etisserant@240: 00434 /* index 0x2008 :   Mapped variable SlaveMap9 */
etisserant@240: 00435                     subindex TestSlave_Index2008[] = 
etisserant@240: 00436                      {
etisserant@240: 00437                        { RW, uint8, sizeof (UNS8), (void*)&SlaveMap9 }
etisserant@240: 00438                      };
etisserant@240: 00439 
etisserant@240: 00440 /* index 0x2009 :   Mapped variable SlaveMap10 */
etisserant@240: 00441                     subindex TestSlave_Index2009[] = 
etisserant@240: 00442                      {
etisserant@240: 00443                        { RW, uint32, sizeof (UNS32), (void*)&SlaveMap10 }
etisserant@240: 00444                      };
etisserant@240: 00445 
etisserant@240: 00446 /* index 0x200A :   Mapped variable SlaveMap11 */
etisserant@240: 00447                     subindex TestSlave_Index200A[] = 
etisserant@240: 00448                      {
etisserant@240: 00449                        { RW, uint16, sizeof (UNS16), (void*)&SlaveMap11 }
etisserant@240: 00450                      };
etisserant@240: 00451 
etisserant@240: 00452 /* index 0x200B :   Mapped variable SlaveMap12 */
etisserant@240: 00453                     subindex TestSlave_Index200B[] = 
etisserant@240: 00454                      {
etisserant@240: 00455                        { RW, int16, sizeof (INTEGER16), (void*)&SlaveMap12 }
etisserant@240: 00456                      };
etisserant@240: 00457 
etisserant@240: 00458 /* index 0x200C :   Mapped variable SlaveMap13 */
etisserant@240: 00459                     subindex TestSlave_Index200C[] = 
etisserant@240: 00460                      {
etisserant@240: 00461                        { RW, int16, sizeof (INTEGER16), (void*)&SlaveMap13 }
etisserant@240: 00462                      };
etisserant@240: 00463 
etisserant@240: 00464 const indextable TestSlave_objdict[] = 
etisserant@240: 00465 {
etisserant@240: 00466   { (subindex*)TestSlave_Index1000,sizeof(TestSlave_Index1000)/sizeof(TestSlave_Index1000[0]), 0x1000},
etisserant@240: 00467   { (subindex*)TestSlave_Index1001,sizeof(TestSlave_Index1001)/sizeof(TestSlave_Index1001[0]), 0x1001},
etisserant@240: 00468   { (subindex*)TestSlave_Index1005,sizeof(TestSlave_Index1005)/sizeof(TestSlave_Index1005[0]), 0x1005},
etisserant@240: 00469   { (subindex*)TestSlave_Index1006,sizeof(TestSlave_Index1006)/sizeof(TestSlave_Index1006[0]), 0x1006},
etisserant@240: 00470   { (subindex*)TestSlave_Index1010,sizeof(TestSlave_Index1010)/sizeof(TestSlave_Index1010[0]), 0x1010},
etisserant@240: 00471   { (subindex*)TestSlave_Index1011,sizeof(TestSlave_Index1011)/sizeof(TestSlave_Index1011[0]), 0x1011},
etisserant@240: 00472   { (subindex*)TestSlave_Index1017,sizeof(TestSlave_Index1017)/sizeof(TestSlave_Index1017[0]), 0x1017},
etisserant@240: 00473   { (subindex*)TestSlave_Index1018,sizeof(TestSlave_Index1018)/sizeof(TestSlave_Index1018[0]), 0x1018},
etisserant@240: 00474   { (subindex*)TestSlave_Index1200,sizeof(TestSlave_Index1200)/sizeof(TestSlave_Index1200[0]), 0x1200},
etisserant@240: 00475   { (subindex*)TestSlave_Index1800,sizeof(TestSlave_Index1800)/sizeof(TestSlave_Index1800[0]), 0x1800},
etisserant@240: 00476   { (subindex*)TestSlave_Index1801,sizeof(TestSlave_Index1801)/sizeof(TestSlave_Index1801[0]), 0x1801},
etisserant@240: 00477   { (subindex*)TestSlave_Index1802,sizeof(TestSlave_Index1802)/sizeof(TestSlave_Index1802[0]), 0x1802},
etisserant@240: 00478   { (subindex*)TestSlave_Index1803,sizeof(TestSlave_Index1803)/sizeof(TestSlave_Index1803[0]), 0x1803},
etisserant@240: 00479   { (subindex*)TestSlave_Index1804,sizeof(TestSlave_Index1804)/sizeof(TestSlave_Index1804[0]), 0x1804},
etisserant@240: 00480   { (subindex*)TestSlave_Index1A00,sizeof(TestSlave_Index1A00)/sizeof(TestSlave_Index1A00[0]), 0x1A00},
etisserant@240: 00481   { (subindex*)TestSlave_Index1A01,sizeof(TestSlave_Index1A01)/sizeof(TestSlave_Index1A01[0]), 0x1A01},
etisserant@240: 00482   { (subindex*)TestSlave_Index1A02,sizeof(TestSlave_Index1A02)/sizeof(TestSlave_Index1A02[0]), 0x1A02},
etisserant@240: 00483   { (subindex*)TestSlave_Index1A03,sizeof(TestSlave_Index1A03)/sizeof(TestSlave_Index1A03[0]), 0x1A03},
etisserant@240: 00484   { (subindex*)TestSlave_Index1A04,sizeof(TestSlave_Index1A04)/sizeof(TestSlave_Index1A04[0]), 0x1A04},
etisserant@240: 00485   { (subindex*)TestSlave_Index2000,sizeof(TestSlave_Index2000)/sizeof(TestSlave_Index2000[0]), 0x2000},
etisserant@240: 00486   { (subindex*)TestSlave_Index2001,sizeof(TestSlave_Index2001)/sizeof(TestSlave_Index2001[0]), 0x2001},
etisserant@240: 00487   { (subindex*)TestSlave_Index2002,sizeof(TestSlave_Index2002)/sizeof(TestSlave_Index2002[0]), 0x2002},
etisserant@240: 00488   { (subindex*)TestSlave_Index2003,sizeof(TestSlave_Index2003)/sizeof(TestSlave_Index2003[0]), 0x2003},
etisserant@240: 00489   { (subindex*)TestSlave_Index2004,sizeof(TestSlave_Index2004)/sizeof(TestSlave_Index2004[0]), 0x2004},
etisserant@240: 00490   { (subindex*)TestSlave_Index2005,sizeof(TestSlave_Index2005)/sizeof(TestSlave_Index2005[0]), 0x2005},
etisserant@240: 00491   { (subindex*)TestSlave_Index2006,sizeof(TestSlave_Index2006)/sizeof(TestSlave_Index2006[0]), 0x2006},
etisserant@240: 00492   { (subindex*)TestSlave_Index2007,sizeof(TestSlave_Index2007)/sizeof(TestSlave_Index2007[0]), 0x2007},
etisserant@240: 00493   { (subindex*)TestSlave_Index2008,sizeof(TestSlave_Index2008)/sizeof(TestSlave_Index2008[0]), 0x2008},
etisserant@240: 00494   { (subindex*)TestSlave_Index2009,sizeof(TestSlave_Index2009)/sizeof(TestSlave_Index2009[0]), 0x2009},
etisserant@240: 00495   { (subindex*)TestSlave_Index200A,sizeof(TestSlave_Index200A)/sizeof(TestSlave_Index200A[0]), 0x200A},
etisserant@240: 00496   { (subindex*)TestSlave_Index200B,sizeof(TestSlave_Index200B)/sizeof(TestSlave_Index200B[0]), 0x200B},
etisserant@240: 00497   { (subindex*)TestSlave_Index200C,sizeof(TestSlave_Index200C)/sizeof(TestSlave_Index200C[0]), 0x200C},
etisserant@240: 00498 };
etisserant@240: 00499 
etisserant@240: 00500 const indextable * TestSlave_scanIndexOD (UNS16 wIndex, UNS32 * errorCode, ODCallback_t **callbacks)
etisserant@240: 00501 {
etisserant@240: 00502         int i;
etisserant@240: 00503         *callbacks = NULL;
etisserant@240: 00504         switch(wIndex){
etisserant@240: 00505                 case 0x1000: i = 0;break;
etisserant@240: 00506                 case 0x1001: i = 1;break;
etisserant@240: 00507                 case 0x1005: i = 2;*callbacks = TestSlave_Index1005_callbacks; break;
etisserant@240: 00508                 case 0x1006: i = 3;*callbacks = TestSlave_Index1006_callbacks; break;
etisserant@240: 00509                 case 0x1010: i = 4;*callbacks = TestSlave_Index1010_callbacks; break;
etisserant@240: 00510                 case 0x1011: i = 5;*callbacks = TestSlave_Index1011_callbacks; break;
etisserant@240: 00511                 case 0x1017: i = 6;*callbacks = TestSlave_Index1017_callbacks; break;
etisserant@240: 00512                 case 0x1018: i = 7;break;
etisserant@240: 00513                 case 0x1200: i = 8;break;
etisserant@240: 00514                 case 0x1800: i = 9;*callbacks = TestSlave_Index1800_callbacks; break;
etisserant@240: 00515                 case 0x1801: i = 10;*callbacks = TestSlave_Index1801_callbacks; break;
etisserant@240: 00516                 case 0x1802: i = 11;*callbacks = TestSlave_Index1802_callbacks; break;
etisserant@240: 00517                 case 0x1803: i = 12;*callbacks = TestSlave_Index1803_callbacks; break;
etisserant@240: 00518                 case 0x1804: i = 13;*callbacks = TestSlave_Index1804_callbacks; break;
etisserant@240: 00519                 case 0x1A00: i = 14;break;
etisserant@240: 00520                 case 0x1A01: i = 15;break;
etisserant@240: 00521                 case 0x1A02: i = 16;break;
etisserant@240: 00522                 case 0x1A03: i = 17;break;
etisserant@240: 00523                 case 0x1A04: i = 18;break;
etisserant@240: 00524                 case 0x2000: i = 19;break;
etisserant@240: 00525                 case 0x2001: i = 20;break;
etisserant@240: 00526                 case 0x2002: i = 21;break;
etisserant@240: 00527                 case 0x2003: i = 22;break;
etisserant@240: 00528                 case 0x2004: i = 23;break;
etisserant@240: 00529                 case 0x2005: i = 24;break;
etisserant@240: 00530                 case 0x2006: i = 25;break;
etisserant@240: 00531                 case 0x2007: i = 26;break;
etisserant@240: 00532                 case 0x2008: i = 27;break;
etisserant@240: 00533                 case 0x2009: i = 28;break;
etisserant@240: 00534                 case 0x200A: i = 29;break;
etisserant@240: 00535                 case 0x200B: i = 30;break;
etisserant@240: 00536                 case 0x200C: i = 31;break;
etisserant@240: 00537                 default:
etisserant@240: 00538                         *errorCode = OD_NO_SUCH_OBJECT;
etisserant@240: 00539                         return NULL;
etisserant@240: 00540         }
etisserant@240: 00541         *errorCode = OD_SUCCESSFUL;
etisserant@240: 00542         return &TestSlave_objdict[i];
etisserant@240: 00543 }
etisserant@240: 00544 
etisserant@240: 00545 /* 
etisserant@240: 00546  * To count at which received SYNC a PDO must be sent.
etisserant@240: 00547  * Even if no pdoTransmit are defined, at least one entry is computed
etisserant@240: 00548  * for compilations issues.
etisserant@240: 00549  */
etisserant@240: 00550 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};
etisserant@240: 00551 
etisserant@240: 00552 quick_index TestSlave_firstIndex = {
etisserant@240: 00553   8, /* SDO_SVR */
etisserant@240: 00554   0, /* SDO_CLT */
etisserant@240: 00555   0, /* PDO_RCV */
etisserant@240: 00556   0, /* PDO_RCV_MAP */
etisserant@240: 00557   9, /* PDO_TRS */
etisserant@240: 00558   14 /* PDO_TRS_MAP */
etisserant@240: 00559 };
etisserant@240: 00560 
etisserant@240: 00561 quick_index TestSlave_lastIndex = {
etisserant@240: 00562   8, /* SDO_SVR */
etisserant@240: 00563   0, /* SDO_CLT */
etisserant@240: 00564   0, /* PDO_RCV */
etisserant@240: 00565   0, /* PDO_RCV_MAP */
etisserant@240: 00566   13, /* PDO_TRS */
etisserant@240: 00567   18 /* PDO_TRS_MAP */
etisserant@240: 00568 };
etisserant@240: 00569 
etisserant@240: 00570 UNS16 TestSlave_ObjdictSize = sizeof(TestSlave_objdict)/sizeof(TestSlave_objdict[0]); 
etisserant@240: 00571 
etisserant@240: 00572 CO_Data TestSlave_Data = CANOPEN_NODE_DATA_INITIALIZER(TestSlave);
etisserant@240: 00573 
etisserant@240: 

Generated on Mon Jul 2 19:10:16 2007 for CanFestival by  nico@215: nico@215: doxygen 1.5.1
nico@215: nico@215: