examples/gene_SYNC_HCS12/objdict.c
changeset 54 a2ca09ac1523
parent 0 4472ee7c6c3e
child 80 37354e408645
equal deleted inserted replaced
53:73bc47a0db55 54:a2ca09ac1523
    18 You should have received a copy of the GNU Lesser General Public
    18 You should have received a copy of the GNU Lesser General Public
    19 License along with this library; if not, write to the Free Software
    19 License along with this library; if not, write to the Free Software
    20 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    20 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    21 */
    21 */
    22 
    22 
       
    23 /* File generated by gen_cfile.py. Should not be modified. */
       
    24 
    23 #include "objdict.h"
    25 #include "objdict.h"
    24 
    26 
    25 /**************************************************************************/
    27 /**************************************************************************/
    26 /* Declaration of the mapped variables                                    */
    28 /* Declaration of the mapped variables                                    */
    27 /**************************************************************************/
    29 /**************************************************************************/
       
    30 UNS16 acceptanceFilter1 = 0x0;		// Mapped at index 0x2015, subindex 0x00
       
    31 UNS16 acceptanceFilter2 = 0x0;		// Mapped at index 0x2016, subindex 0x00
       
    32 UNS16 acceptanceFilter3 = 0x0;		// Mapped at index 0x2017, subindex 0x00
       
    33 UNS16 acceptanceFilter4 = 0x0;		// Mapped at index 0x2018, subindex 0x00
       
    34 UNS16 mask1 = 0x0;		// Mapped at index 0x2019, subindex 0x00
       
    35 UNS16 mask2 = 0x0;		// Mapped at index 0x2020, subindex 0x00
       
    36 UNS16 mask3 = 0x0;		// Mapped at index 0x2021, subindex 0x00
       
    37 UNS16 mask4 = 0x0;		// Mapped at index 0x2022, subindex 0x00
       
    38 UNS8 applyDownloadedFilters = 0x0;		// Mapped at index 0x2023, subindex 0x00
    28 
    39 
    29 /**************************************************************************/
    40 /**************************************************************************/
    30 /* Declaration of the value range types                                   */
    41 /* Declaration of the value range types                                   */
    31 /**************************************************************************/
    42 /**************************************************************************/
    32 
    43 
    33 
    44 UNS32 gene_SYNC_valueRangeTest (UNS8 typeValue, void * value)
    34 
       
    35 UNS32 gene_SYNC_valueRangeTest (UNS8 typeValue, UNS32 unsValue, REAL32 realValue)
       
    36 {
    45 {
    37   switch (typeValue) {
    46   switch (typeValue) {
    38   }
    47   }
    39   return 0;
    48   return 0;
    40 }
    49 }
    41 
    50 
    42 
       
    43 /**************************************************************************/
    51 /**************************************************************************/
    44 /* The node id                                                            */
    52 /* The node id                                                            */
    45 /**************************************************************************/
    53 /**************************************************************************/
    46 /* node_id default value. 
    54 /* node_id default value.*/
    47    This default value is deprecated.
    55 UNS8 gene_SYNC_bDeviceNodeId = 0x03;
    48    You should always overwrite this by using the function setNodeId(UNS8 nodeId) in your C code.
       
    49 */
       
    50 #define NODE_ID 0x03
       
    51 UNS8 gene_SYNC_bDeviceNodeId = NODE_ID;
       
    52 
       
    53 
    56 
    54 //*****************************************************************************/
    57 //*****************************************************************************/
    55 /* Array of message processing information */
    58 /* Array of message processing information */
    56 /* Should not be modified */
       
    57 
    59 
    58 const UNS8 gene_SYNC_iam_a_slave = 1;
    60 const UNS8 gene_SYNC_iam_a_slave = 1;
    59 
    61 
    60   // Macros definition
    62 TIMER_HANDLE gene_SYNC_heartBeatTimers[0];
    61 
       
    62 /* Beware : 
       
    63 index                 *must* be writen 4 numbers in hexa
       
    64 sub_index             *must* be writen 2 numbers in hexa
       
    65 size_variable_in_UNS8 *must* be writen 2 numbers in hexa
       
    66 */
       
    67 #define PDO_MAP(index, sub_index, size_variable_in_bits)\
       
    68 0x ## index ## sub_index ## size_variable_in_bits
       
    69 
       
    70 /** This macro helps creating the object dictionary entries.
       
    71  *  by calling this macro
       
    72  *  it creates an entry in form of: 7 of entries, pointer to the entry. 
       
    73  */
       
    74 #define DeclareIndexTableEntry(entryname, index)    { (subindex*)entryname,sizeof(entryname)/sizeof(entryname[0]), index}
       
    75 
    63 
    76 //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    64 //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    77 //
    65 //
    78 //                       OBJECT DICTIONARY
    66 //                       OBJECT DICTIONARY
    79 //                   
    67 //                   
    80 //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    68 //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    81 // Make your change, depending of your application
    69 
    82  
    70 /* index 0x1000 :   Device Type. */
    83 
    71                     UNS32 gene_SYNC_obj1000 = 0x0;	// 0
    84 /* index 0x1000 :   Device type. 
    72                     subindex gene_SYNC_Index1000[] = 
    85                     You have to change the value below, so
    73                      {
    86                     it fits your canopen-slave-module */
    74                        { RO, uint32, sizeof (UNS32), (void*)&gene_SYNC_obj1000 }
    87  
    75                      };
    88                     /* Not used, so, should not be modified */
    76 
    89                     
    77 /* index 0x1001 :   Error Register. */
    90                     UNS32 gene_SYNC_obj1000 = 0;
    78                     UNS8 gene_SYNC_obj1001 = 0x0;	// 0
    91                     subindex gene_SYNC_Index1000[] =
    79                     subindex gene_SYNC_Index1001[] = 
    92                     {
    80                      {
    93                       { RO, uint32, sizeof(UNS32), (void*)&gene_SYNC_obj1000 }
    81                        { RO, uint8, sizeof (UNS8), (void*)&gene_SYNC_obj1001 }
    94                     };
    82                      };
    95 
    83 
    96 /* index 0x1001 :   Error register. 
    84 /* index 0x1005 :   SYNC COB ID. */
    97                     Change the entries to fit your application 
    85                     UNS32 gene_SYNC_obj1005 = 0x40000080;	// 1073741952
    98                     Not used, so, should not be modified */
    86                     ODCallback_t gene_SYNC_Index1005_callbacks[] = 
    99                     UNS8 gene_SYNC_obj1001 = 0x00000000;
    87                      {
   100                     subindex gene_SYNC_Index1001[] =
    88                        NULL,
   101                     {
    89                      };
   102                       { RO, uint8, sizeof(UNS8), (void*)&gene_SYNC_obj1001 }
    90                     subindex gene_SYNC_Index1005[] = 
   103                     };
    91                      {
   104 
    92                        { RW, uint32, sizeof (UNS32), (void*)&gene_SYNC_obj1005 }
   105 /* index 0x1005 :   COB_ID SYNC */
    93                      };
   106                     /* Should not be modified */
    94 
   107                     UNS32 gene_SYNC_obj1005 = 0x40000080; // bit 30 = 1 : device can generate a SYNC message
    95 /* index 0x1006 :   Communication / Cycle Period. */
   108                                                 // Beware, it is over written when the node 
    96                     UNS32 gene_SYNC_obj1006 = 0x2710;	// 10000
   109                                                 // enters in reset mode
    97                     ODCallback_t gene_SYNC_Index1006_callbacks[] = 
   110                                                 // See initResetMode() in init.c
    98                      {
   111                     subindex gene_SYNC_Index1005[] =
    99                        NULL,
   112                     {
   100                      };
   113                       { RW, uint32, sizeof(UNS32), (void*)&gene_SYNC_obj1005 }
   101                     subindex gene_SYNC_Index1006[] = 
   114                     };
   102                      {
   115 
   103                        { RW, uint32, sizeof (UNS32), (void*)&gene_SYNC_obj1006 }
   116 /* index 0x1006 :   SYNC period */
   104                      };
   117                     // For producing the SYNC signal every n micro-seconds.
   105 
   118                     // Put 0 to not producing SYNC
   106 /* index 0x1008 :   Manufacturer Device Name. */
   119                     UNS32 gene_SYNC_obj1006 = 0x000186A0; 
   107                     UNS8 gene_SYNC_obj1008[10] = "GENE_SYNC";
   120                                          // Default 0 to not produce SYNC //
   108                     subindex gene_SYNC_Index1008[] = 
   121                                          // Beware, it is over written when the 
   109                      {
   122                                          // node enters in reset mode.
   110                        { RO, visible_string, sizeof (gene_SYNC_obj1008), (void*)&gene_SYNC_obj1008 }
   123                                          // See initResetMode() in init.c
   111                      };
   124                     subindex gene_SYNC_Index1006[] =
   112 
   125                     {
   113 /* index 0x1016 :   Consumer Heartbeat Time */
   126                       { RW, uint32, sizeof(UNS32), (void*)&gene_SYNC_obj1006 }
   114                     UNS8 gene_SYNC_highestSubIndex_obj1016 = 0;
   127                     };
   115                     UNS32 gene_SYNC_obj1016[0];
   128 
       
   129 
       
   130                     TIMER_HANDLE gene_SYNC_heartBeatTimers[0];
       
   131                     UNS32 gene_SYNC_obj1016[0]; 
       
   132                     UNS8 gene_SYNC_obj1016_cnt = 0;
       
   133                     subindex gene_SYNC_Index1016[0];
   116                     subindex gene_SYNC_Index1016[0];
   134 
   117 
   135                     UNS16 gene_SYNC_obj1017 = 0x0000;
   118 /* index 0x1017 :   Producer Heartbeat Time */ 
   136 /* index 0x1018 :   Identity object */
   119                     UNS16 gene_SYNC_obj1017 = 0x0;   // 0
   137                     /** index 1018: identify object. Adjust the entries for your node/company
   120 
   138                     */
   121 /* index 0x1018 :   Identity. */
   139                     /* Values can be modified */
   122                     UNS8 gene_SYNC_highestSubIndex_obj1018 = 4; // number of subindex - 1
   140 
   123                     UNS32 gene_SYNC_obj1018_Vendor_ID = 0x0;	// 0
   141                     s_identity gene_SYNC_obj1018 =
   124                     UNS32 gene_SYNC_obj1018_Product_Code = 0x0;	// 0
   142                     {
   125                     UNS32 gene_SYNC_obj1018_Revision_Number = 0x0;	// 0
   143                       4,       // number of supported entries
   126                     UNS32 gene_SYNC_obj1018_Serial_Number = 0x0;	// 0
   144                       0,  // Vendor-ID (given by the can-cia)
   127                     subindex gene_SYNC_Index1018[] = 
   145                       0,  // Product Code
   128                      {
   146                       0,  // Revision number
   129                        { RO, uint8, sizeof (UNS8), (void*)&gene_SYNC_highestSubIndex_obj1018 },
   147                       0  // serial number
   130                        { RO, uint32, sizeof (UNS32), (void*)&gene_SYNC_obj1018_Vendor_ID },
   148                     };
   131                        { RO, uint32, sizeof (UNS32), (void*)&gene_SYNC_obj1018_Product_Code },
   149 
   132                        { RO, uint32, sizeof (UNS32), (void*)&gene_SYNC_obj1018_Revision_Number },
   150                     subindex gene_SYNC_Index1018[] =
   133                        { RO, uint32, sizeof (UNS32), (void*)&gene_SYNC_obj1018_Serial_Number }
   151                     {
   134                      };
   152                       { RO, uint8,  sizeof(UNS8),  (void*)&gene_SYNC_obj1018.count },
   135 
   153                       { RO, uint32, sizeof(UNS32), (void*)&gene_SYNC_obj1018.vendor_id},
   136 /* index 0x1200 :   Server SDO Parameter. */
   154                       { RO, uint32, sizeof(UNS32), (void*)&gene_SYNC_obj1018.product_code},
   137                     UNS8 gene_SYNC_highestSubIndex_obj1200 = 2; // number of subindex - 1
   155                       { RO, uint32, sizeof(UNS32), (void*)&gene_SYNC_obj1018.revision_number},
   138                     UNS32 gene_SYNC_obj1200_COB_ID_Client_to_Server_Receive_SDO = 0x0;	// 0
   156                       { RO, uint32, sizeof(UNS32), (void*)&gene_SYNC_obj1018.serial_number}
   139                     UNS32 gene_SYNC_obj1200_COB_ID_Server_to_Client_Transmit_SDO = 0x0;	// 0
   157                     };
   140                     subindex gene_SYNC_Index1200[] = 
   158 
   141                      {
   159 /* index 0x1200 :   The SDO Server parameters */
   142                        { RO, uint8, sizeof (UNS8), (void*)&gene_SYNC_highestSubIndex_obj1200 },
   160                     /* BEWARE You cannot define more than one SDO server */
   143                        { RO, uint32, sizeof (UNS32), (void*)&gene_SYNC_obj1200_COB_ID_Client_to_Server_Receive_SDO },
   161                     /* The values should not be modified here, 
   144                        { RO, uint32, sizeof (UNS32), (void*)&gene_SYNC_obj1200_COB_ID_Server_to_Client_Transmit_SDO }
   162                     but can be changed at runtime */
   145                      };
   163                     // Beware that the default values that you could put here
   146 
   164                     // will be over written at the initialisation of the node. 
   147 /* index 0x2015 :   Mapped variable acceptanceFilter1 */
   165                     // See setNodeId() in init.c
   148                     subindex gene_SYNC_Index2015[] = 
   166                     s_sdo_parameter gene_SYNC_obj1200  = 
   149                      {
   167                       { 3,                   // Number of entries. Always 3 for the SDO           
   150                        { RW, uint16, sizeof (UNS16), (void*)&acceptanceFilter1 }
   168                         0x000,     // The cob_id transmited in CAN msg to the server     
   151                      };
   169                         0x000,     // The cob_id received in CAN msg from the server  
   152 
   170                         0x03      // The node id of the client. Should not be modified
   153 /* index 0x2016 :   Mapped variable acceptanceFilter2 */
   171                       };
   154                     subindex gene_SYNC_Index2016[] = 
   172                     subindex gene_SYNC_Index1200[] =
   155                      {
   173                     {
   156                        { RW, uint16, sizeof (UNS16), (void*)&acceptanceFilter2 }
   174                       { RO, uint8,  sizeof( UNS8 ), (void*)&gene_SYNC_obj1200.count },
   157                      };
   175                       { RO, uint32, sizeof( UNS32), (void*)&gene_SYNC_obj1200.cob_id_client },
   158 
   176                       { RO, uint32, sizeof( UNS32), (void*)&gene_SYNC_obj1200.cob_id_server },
   159 /* index 0x2017 :   Mapped variable acceptanceFilter3 */
   177                       { RW, uint8,  sizeof( UNS8),  (void*)&gene_SYNC_obj1200.node_id }
   160                     subindex gene_SYNC_Index2017[] = 
   178                     };
   161                      {
   179 
   162                        { RW, uint16, sizeof (UNS16), (void*)&acceptanceFilter3 }
   180 /* index 0x1280 :   SDO client parameter */
   163                      };
   181                     s_sdo_parameter gene_SYNC_obj1280 = 
   164 
   182                       { 3,     // Nb of entries 
   165 /* index 0x2018 :   Mapped variable acceptanceFilter4 */
   183                         0x000, // cobid transmited to the server. The good value should be 0x600 + server nodeId
   166                     subindex gene_SYNC_Index2018[] = 
   184                         0x000, // cobid received from the server. The good value should be 0x580 + server nodeId
   167                      {
   185                         0x00  // server NodeId
   168                        { RW, uint16, sizeof (UNS16), (void*)&acceptanceFilter4 }
   186                       };
   169                      };
   187                     subindex gene_SYNC_Index1280[] = 
   170 
   188                       { 
   171 /* index 0x2019 :   Mapped variable mask1 */
   189                         { RO, uint8, sizeof( UNS8  ), (void*)&gene_SYNC_obj1280.count },
   172                     subindex gene_SYNC_Index2019[] = 
   190                         { RW, uint8, sizeof( UNS32 ), (void*)&gene_SYNC_obj1280.cob_id_client },
   173                      {
   191                         { RW, uint8, sizeof( UNS32 ), (void*)&gene_SYNC_obj1280.cob_id_server },
   174                        { RW, uint16, sizeof (UNS16), (void*)&mask1 }
   192                         { RW, uint8, sizeof( UNS8  ), (void*)&gene_SYNC_obj1280.node_id }
   175                      };
   193                       }; 
   176 
   194 
   177 /* index 0x2020 :   Mapped variable mask2 */
       
   178                     subindex gene_SYNC_Index2020[] = 
       
   179                      {
       
   180                        { RW, uint16, sizeof (UNS16), (void*)&mask2 }
       
   181                      };
       
   182 
       
   183 /* index 0x2021 :   Mapped variable mask3 */
       
   184                     subindex gene_SYNC_Index2021[] = 
       
   185                      {
       
   186                        { RW, uint16, sizeof (UNS16), (void*)&mask3 }
       
   187                      };
       
   188 
       
   189 /* index 0x2022 :   Mapped variable mask4 */
       
   190                     subindex gene_SYNC_Index2022[] = 
       
   191                      {
       
   192                        { RW, uint16, sizeof (UNS16), (void*)&mask4 }
       
   193                      };
       
   194 
       
   195 /* index 0x2023 :   Mapped variable applyDownloadedFilters */
       
   196                     subindex gene_SYNC_Index2023[] = 
       
   197                      {
       
   198                        { RW, uint8, sizeof (UNS8), (void*)&applyDownloadedFilters }
       
   199                      };
   195 
   200 
   196 const indextable gene_SYNC_objdict[] = 
   201 const indextable gene_SYNC_objdict[] = 
   197 {
   202 {
   198   DeclareIndexTableEntry(gene_SYNC_Index1000, 0x1000),
   203   { (subindex*)gene_SYNC_Index1000,sizeof(gene_SYNC_Index1000)/sizeof(gene_SYNC_Index1000[0]), 0x1000},
   199   DeclareIndexTableEntry(gene_SYNC_Index1001, 0x1001),
   204   { (subindex*)gene_SYNC_Index1001,sizeof(gene_SYNC_Index1001)/sizeof(gene_SYNC_Index1001[0]), 0x1001},
   200   DeclareIndexTableEntry(gene_SYNC_Index1005, 0x1005),
   205   { (subindex*)gene_SYNC_Index1005,sizeof(gene_SYNC_Index1005)/sizeof(gene_SYNC_Index1005[0]), 0x1005},
   201   DeclareIndexTableEntry(gene_SYNC_Index1006, 0x1006),
   206   { (subindex*)gene_SYNC_Index1006,sizeof(gene_SYNC_Index1006)/sizeof(gene_SYNC_Index1006[0]), 0x1006},
   202   DeclareIndexTableEntry(gene_SYNC_Index1018, 0x1018),
   207   { (subindex*)gene_SYNC_Index1008,sizeof(gene_SYNC_Index1008)/sizeof(gene_SYNC_Index1008[0]), 0x1008},
   203   DeclareIndexTableEntry(gene_SYNC_Index1200, 0x1200),
   208   { (subindex*)gene_SYNC_Index1018,sizeof(gene_SYNC_Index1018)/sizeof(gene_SYNC_Index1018[0]), 0x1018},
   204   DeclareIndexTableEntry(gene_SYNC_Index1280, 0x1280),
   209   { (subindex*)gene_SYNC_Index1200,sizeof(gene_SYNC_Index1200)/sizeof(gene_SYNC_Index1200[0]), 0x1200},
       
   210   { (subindex*)gene_SYNC_Index2015,sizeof(gene_SYNC_Index2015)/sizeof(gene_SYNC_Index2015[0]), 0x2015},
       
   211   { (subindex*)gene_SYNC_Index2016,sizeof(gene_SYNC_Index2016)/sizeof(gene_SYNC_Index2016[0]), 0x2016},
       
   212   { (subindex*)gene_SYNC_Index2017,sizeof(gene_SYNC_Index2017)/sizeof(gene_SYNC_Index2017[0]), 0x2017},
       
   213   { (subindex*)gene_SYNC_Index2018,sizeof(gene_SYNC_Index2018)/sizeof(gene_SYNC_Index2018[0]), 0x2018},
       
   214   { (subindex*)gene_SYNC_Index2019,sizeof(gene_SYNC_Index2019)/sizeof(gene_SYNC_Index2019[0]), 0x2019},
       
   215   { (subindex*)gene_SYNC_Index2020,sizeof(gene_SYNC_Index2020)/sizeof(gene_SYNC_Index2020[0]), 0x2020},
       
   216   { (subindex*)gene_SYNC_Index2021,sizeof(gene_SYNC_Index2021)/sizeof(gene_SYNC_Index2021[0]), 0x2021},
       
   217   { (subindex*)gene_SYNC_Index2022,sizeof(gene_SYNC_Index2022)/sizeof(gene_SYNC_Index2022[0]), 0x2022},
       
   218   { (subindex*)gene_SYNC_Index2023,sizeof(gene_SYNC_Index2023)/sizeof(gene_SYNC_Index2023[0]), 0x2023},
   205 };
   219 };
       
   220 
       
   221 const indextable * gene_SYNC_scanIndexOD (UNS16 wIndex, UNS32 * errorCode, ODCallback_t **callbacks)
       
   222 {
       
   223 	int i;
       
   224 	*callbacks = NULL;
       
   225 	switch(wIndex){
       
   226 		case 0x1000: i = 0;break;
       
   227 		case 0x1001: i = 1;break;
       
   228 		case 0x1005: i = 2;*callbacks = gene_SYNC_Index1005_callbacks; break;
       
   229 		case 0x1006: i = 3;*callbacks = gene_SYNC_Index1006_callbacks; break;
       
   230 		case 0x1008: i = 4;break;
       
   231 		case 0x1018: i = 5;break;
       
   232 		case 0x1200: i = 6;break;
       
   233 		case 0x2015: i = 7;break;
       
   234 		case 0x2016: i = 8;break;
       
   235 		case 0x2017: i = 9;break;
       
   236 		case 0x2018: i = 10;break;
       
   237 		case 0x2019: i = 11;break;
       
   238 		case 0x2020: i = 12;break;
       
   239 		case 0x2021: i = 13;break;
       
   240 		case 0x2022: i = 14;break;
       
   241 		case 0x2023: i = 15;break;
       
   242 		default:
       
   243 			*errorCode = OD_NO_SUCH_OBJECT;
       
   244 			return NULL;
       
   245 	}
       
   246 	*errorCode = OD_SUCCESSFUL;
       
   247 	return &gene_SYNC_objdict[i];
       
   248 }
   206 
   249 
   207 // To count at which received SYNC a PDO must be sent.
   250 // To count at which received SYNC a PDO must be sent.
   208 // Even if no pdoTransmit are defined, at least one entry is computed
   251 // Even if no pdoTransmit are defined, at least one entry is computed
   209 // for compilations issues.
   252 // for compilations issues.
   210 UNS8 gene_SYNC_count_sync[1] = {0, };
   253 UNS8 gene_SYNC_count_sync[1] = {0,};
   211 
   254 
   212 quick_index gene_SYNC_firstIndex = {
   255 quick_index gene_SYNC_firstIndex = {
   213     SDO_SVR : 5,
   256   SDO_SVR : 6,
   214     SDO_CLT : 6,
   257   SDO_CLT : 0,
   215     PDO_RCV : 0,
   258   PDO_RCV : 0,
   216     PDO_RCV_MAP : 0,
   259   PDO_RCV_MAP : 0,
   217     PDO_TRS : 0,
   260   PDO_TRS : 0,
   218     PDO_TRS_MAP : 0
   261   PDO_TRS_MAP : 0
   219 };
   262 };
   220 
   263 
   221 quick_index gene_SYNC_lastIndex = {
   264 quick_index gene_SYNC_lastIndex = {
   222     SDO_SVR : 5,
   265   SDO_SVR : 6,
   223     SDO_CLT : 6,
   266   SDO_CLT : 0,
   224     PDO_RCV : 0,
   267   PDO_RCV : 0,
   225     PDO_RCV_MAP : 0,
   268   PDO_RCV_MAP : 0,
   226     PDO_TRS : 0,
   269   PDO_TRS : 0,
   227     PDO_TRS_MAP : 0
   270   PDO_TRS_MAP : 0
   228 };
   271 };
   229 
   272 
   230 UNS16 gene_SYNC_ObjdictSize = sizeof(gene_SYNC_objdict)/sizeof(gene_SYNC_objdict[0]); 
   273 UNS16 gene_SYNC_ObjdictSize = sizeof(gene_SYNC_objdict)/sizeof(gene_SYNC_objdict[0]); 
   231 
   274 
   232 CO_Data gene_SYNC_Data = CANOPEN_NODE_DATA_INITIALIZER(gene_SYNC);
   275 CO_Data gene_SYNC_Data = CANOPEN_NODE_DATA_INITIALIZER(gene_SYNC);