HC Voort / Mbed 2 deprecated EtherCAT-XbusMaster

Dependencies:   KL25Z_ClockControl MODSERIAL mbed

Fork of EtherCAT-XbusMaster by First Last

Revision:
23:2b2cdba08259
Parent:
20:ad13d4f5fd98
Child:
29:95ef6b54ec8e
Child:
31:d0532aa7f631
--- a/EtherCAT/objectlist.h	Fri Mar 06 09:19:38 2015 +0000
+++ b/EtherCAT/objectlist.h	Fri Mar 06 11:07:58 2015 +0000
@@ -122,6 +122,7 @@
 _ac acName1A00[]="Transmit PDO mapping - First IMU";
 _ac acName1A01[]="Transmit PDO mapping - Second IMU";
 _ac acName1A02[]="Transmit PDO mapping - Third IMU";
+_ac acName1A03[]="Transmit PDO mapping - Timestamp";
 _ac acName1C00[]="Sync Manager Communication type";
 /*Subindexes for Sync Manager Communication type*/
 _ac acName1C00_01[]="Communications type SM0";
@@ -149,6 +150,8 @@
 /*End of subindexes for Digital Inputs*/
 _ac acName6001[]="Second IMU";
 _ac acName6002[]="Third IMU";
+_ac acName6003[]="Timestamp";
+_ac acName6003_01[]="Timestamp";
 /*End of subindexes for Analog inputs*/
 _ac acName7000[]="Outputs";
 /*Subindexes of Outputs*/
@@ -235,6 +238,11 @@
   {0x0A,DTYPE_UNSIGNED32,32,ATYPE_R,&acNameMO[0],0x60020A10}
 };
 
+const _objd SDO1A03[]=                                              //TxPDO mapping (objects from slave to master)
+{{0x00,DTYPE_UNSIGNED8,8,ATYPE_R,&acNameNOE[0],0x01},               //Number of TxPDOs
+  {0x01,DTYPE_UNSIGNED32,32,ATYPE_R,&acNameMO[0],0x60030110}        //First Object, pointing to object  6003:01
+};
+
 const _objd SDO1C00[]=                                              //Sync Manager
 {{0x00,DTYPE_UNSIGNED8,8,ATYPE_R,&acNameNOE[0],0x04},               //Number of used Sync Manager channels
   {0x01,DTYPE_UNSIGNED8,8,ATYPE_R,&acName1C00_01[0],0x01},          //Sync Manager 0: Mailbox Receive (master->slave)
@@ -251,10 +259,11 @@
   {0x01,DTYPE_UNSIGNED16,16,ATYPE_R,&acNameMO[0],0x1600}           //Send objects in index 0x1600
 };
 const _objd SDO1C13[]=                                              //TxPDO Assign objects ; CHANGEABLE, thus 'RWpre' mode
-{{0x00,DTYPE_UNSIGNED8,8,ATYPE_R,&acNameNOE[0],0x03},               //Number of Entries
+{{0x00,DTYPE_UNSIGNED8,8,ATYPE_R,&acNameNOE[0],0x04},               //Number of Entries
   {0x01,DTYPE_UNSIGNED16,16,ATYPE_R,&acNameMO[0],0x1A00},            //Send objects in index 0x1A00
   {0x02,DTYPE_UNSIGNED16,16,ATYPE_R,&acNameMO[0],0x1A01},             //Send objects in index 0x1A10
   {0x03,DTYPE_UNSIGNED16,16,ATYPE_R,&acNameMO[0],0x1A02}, 
+  {0x04,DTYPE_UNSIGNED16,16,ATYPE_R,&acNameMO[0],0x1A03} 
 };
 
 const _objd SDO6000[]=                                                      //TxPDO module
@@ -299,6 +308,10 @@
   {0x0A,DTYPE_UNSIGNED16  ,16,ATYPE_R,&acName6000_0A[0],0,&(Rb.third.temp)}   //6002:0A is imu temperature
 };
 
+const _objd SDO6003[]=                                                      //TxPDO module
+{{0x00,DTYPE_UNSIGNED8  ,8,ATYPE_R,&acNameNOE[0],0x01},                     //Number of elements
+  {0x01,DTYPE_UNSIGNED16  ,16,ATYPE_R,&acName6003_01[0],0,&(Rb.timestamp)},//6003:01 is timestamp
+};
 
 const _objd SDO7000[]=                                                      //RxPDO module
 {{0x00,DTYPE_UNSIGNED8  ,8,ATYPE_R,&acNameNOE[0],0x01},                     //Number of elements
@@ -320,14 +333,16 @@
   {0x1A00,OTYPE_RECORD  , 10,0,&acName1A00[0],&SDO1A00[0]},   //TxPDO mapping
   {0x1A01,OTYPE_RECORD  , 10,0,&acName1A01[0],&SDO1A01[0]},   //TxPDO mapping
   {0x1A02,OTYPE_RECORD  , 10,0,&acName1A02[0],&SDO1A02[0]},   //TxPDO mapping
+  {0x1A03,OTYPE_RECORD  ,  1,0,&acName1A03[0],&SDO1A03[0]},   //TxPDO mapping
   {0x1C00,OTYPE_ARRAY   , 4,0,&acName1C00[0],&SDO1C00[0]},      //Sync Manager configuration
   {0x1C10,OTYPE_ARRAY   , 0,0,&acName1C10[0],&SDO1C10[0]},      //Sync Manager 0 PDO assignment
   {0x1C11,OTYPE_ARRAY   , 0,0,&acName1C11[0],&SDO1C11[0]},      //Sync Manager 1 PDO assignment
   {0x1C12,OTYPE_ARRAY   , 1,0,&acName1C12[0],&SDO1C12[0]},      //RxPDO objects
-  {0x1C13,OTYPE_ARRAY   , 3,0,&acName1C13[0],&SDO1C13[0]},      //TxPDO objects
+  {0x1C13,OTYPE_ARRAY   , 4,0,&acName1C13[0],&SDO1C13[0]},      //TxPDO objects
   {0x6000,OTYPE_ARRAY   , 10,0,&acName6000[0],&SDO6000[0]},   //TxPDO module
   {0x6001,OTYPE_ARRAY   , 10,0,&acName6001[0],&SDO6001[0]},   //TxPDO module
   {0x6002,OTYPE_ARRAY   , 10,0,&acName6002[0],&SDO6002[0]},   //TxPDO module
+  {0x6003,OTYPE_ARRAY   ,  1,0,&acName6003[0],&SDO6003[0]},   //TxPDO module
   {0x7000,OTYPE_ARRAY   , 0x01,0,&acName7000[0],&SDO7000[0]},   //RxPDO module
   {0x8000,OTYPE_ARRAY   , 0x01,0,&acName8000[0],&SDO8000[0]},   //RxPDO module
   {0xffff,0xff,0xff,0xff,nil,nil}