SOES implementation i.c.w. ET1100 (Beckhoff ASIC)

Dependencies:   KL25Z_ClockControl MODSERIAL mbed

Fork of EtherCAT-XbusMaster by First Last

Revision:
35:32659533e0ef
Parent:
32:1f6a705cd794
Child:
37:d00717883d98
diff -r e0db42d338c1 -r 32659533e0ef EtherCAT/objectlist.h
--- a/EtherCAT/objectlist.h	Tue Mar 10 14:20:41 2015 +0000
+++ b/EtherCAT/objectlist.h	Fri Sep 11 11:33:53 2015 +0000
@@ -197,42 +197,27 @@
   {0x01,DTYPE_UNSIGNED32,32,ATYPE_R,&acNameMO[0],0x70000108}       //First Object, pointing to object 7001:01
 };
 const _objd SDO1A00[]=                                              //TxPDO mapping (objects from slave to master)
-{{0x00,DTYPE_UNSIGNED8,8,ATYPE_R,&acNameNOE[0],0x09},               //Number of TxPDOs
+{{0x00,DTYPE_UNSIGNED8,8,ATYPE_R,&acNameNOE[0],0x04},               //Number of TxPDOs
   {0x01,DTYPE_UNSIGNED32,32,ATYPE_R,&acNameMO[0],0x60000120},       //First Object, pointing to object  6000:01
   {0x02,DTYPE_UNSIGNED32,32,ATYPE_R,&acNameMO[0],0x60000220},       //Second Object, pointing to object 6000:02      //..
   {0x03,DTYPE_UNSIGNED32,32,ATYPE_R,&acNameMO[0],0x60000320},
-  {0x04,DTYPE_UNSIGNED32,32,ATYPE_R,&acNameMO[0],0x60000420},
-  {0x05,DTYPE_UNSIGNED32,32,ATYPE_R,&acNameMO[0],0x60000520},
-  {0x06,DTYPE_UNSIGNED32,32,ATYPE_R,&acNameMO[0],0x60000620},
-  {0x07,DTYPE_UNSIGNED32,32,ATYPE_R,&acNameMO[0],0x60000720},
-  {0x08,DTYPE_UNSIGNED32,32,ATYPE_R,&acNameMO[0],0x60000820},
-  {0x09,DTYPE_UNSIGNED32,32,ATYPE_R,&acNameMO[0],0x60000920}
+  {0x04,DTYPE_UNSIGNED32,32,ATYPE_R,&acNameMO[0],0x60000420}
 };
 
 const _objd SDO1A01[]=                                              //TxPDO mapping (objects from slave to master)
-{{0x00,DTYPE_UNSIGNED8,8,ATYPE_R,&acNameNOE[0],0x09},               //Number of TxPDOs
+{{0x00,DTYPE_UNSIGNED8,8,ATYPE_R,&acNameNOE[0],0x04},               //Number of TxPDOs
   {0x01,DTYPE_UNSIGNED32,32,ATYPE_R,&acNameMO[0],0x60010120},       //First Object, pointing to object  6001:01
   {0x02,DTYPE_UNSIGNED32,32,ATYPE_R,&acNameMO[0],0x60010220},       //Second Object, pointing to object 6001:02      //..
   {0x03,DTYPE_UNSIGNED32,32,ATYPE_R,&acNameMO[0],0x60010320},
-  {0x04,DTYPE_UNSIGNED32,32,ATYPE_R,&acNameMO[0],0x60010420},
-  {0x05,DTYPE_UNSIGNED32,32,ATYPE_R,&acNameMO[0],0x60010520},
-  {0x06,DTYPE_UNSIGNED32,32,ATYPE_R,&acNameMO[0],0x60010620},
-  {0x07,DTYPE_UNSIGNED32,32,ATYPE_R,&acNameMO[0],0x60010720},
-  {0x08,DTYPE_UNSIGNED32,32,ATYPE_R,&acNameMO[0],0x60010820},
-  {0x09,DTYPE_UNSIGNED32,32,ATYPE_R,&acNameMO[0],0x60010920}
+  {0x04,DTYPE_UNSIGNED32,32,ATYPE_R,&acNameMO[0],0x60010420}
 };
 
 const _objd SDO1A02[]=                                              //TxPDO mapping (objects from slave to master)
-{{0x00,DTYPE_UNSIGNED8,8,ATYPE_R,&acNameNOE[0],0x09},               //Number of TxPDOs
+{{0x00,DTYPE_UNSIGNED8,8,ATYPE_R,&acNameNOE[0],0x04},               //Number of TxPDOs
   {0x01,DTYPE_UNSIGNED32,32,ATYPE_R,&acNameMO[0],0x60020120},       //First Object, pointing to object  6002:01
   {0x02,DTYPE_UNSIGNED32,32,ATYPE_R,&acNameMO[0],0x60020220},       //Second Object, pointing to object 6002:02      //..
   {0x03,DTYPE_UNSIGNED32,32,ATYPE_R,&acNameMO[0],0x60020320},
-  {0x04,DTYPE_UNSIGNED32,32,ATYPE_R,&acNameMO[0],0x60020420},
-  {0x05,DTYPE_UNSIGNED32,32,ATYPE_R,&acNameMO[0],0x60020520},
-  {0x06,DTYPE_UNSIGNED32,32,ATYPE_R,&acNameMO[0],0x60020620},
-  {0x07,DTYPE_UNSIGNED32,32,ATYPE_R,&acNameMO[0],0x60020720},
-  {0x08,DTYPE_UNSIGNED32,32,ATYPE_R,&acNameMO[0],0x60020820},
-  {0x09,DTYPE_UNSIGNED32,32,ATYPE_R,&acNameMO[0],0x60020920}
+  {0x04,DTYPE_UNSIGNED32,32,ATYPE_R,&acNameMO[0],0x60020420}
 };
 
 const _objd SDO1A03[]=                                              //TxPDO mapping (objects from slave to master)
@@ -264,42 +249,28 @@
 };
 
 const _objd SDO6000[]=                                                      //TxPDO module
-{{0x00,DTYPE_UNSIGNED8  ,8,ATYPE_R,&acNameNOE[0],0x09},                     //Number of elements
-  {0x01,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_01[0],0,&(Rb.first.acc[0])},//6000:01 is acc X
-  {0x02,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_02[0],0,&(Rb.first.acc[1])},//6000:02 is acc Y
-  {0x03,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_03[0],0,&(Rb.first.acc[2])},//6000:03 is acc Z
-  {0x04,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_04[0],0,&(Rb.first.gyr[0])},//6000:04 is gyr X
-  {0x05,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_05[0],0,&(Rb.first.gyr[1])},//6000:05 is gyr Y
-  {0x06,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_06[0],0,&(Rb.first.gyr[2])},//6000:06 is gyr Z
-  {0x07,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_07[0],0,&(Rb.first.mag[0])},//6000:07 is mag X
-  {0x08,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_08[0],0,&(Rb.first.mag[1])},//6000:08 is mag Y
-  {0x09,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_09[0],0,&(Rb.first.mag[2])}//6000:09 is mag Z
+{{0x00,DTYPE_UNSIGNED8  ,8,ATYPE_R,&acNameNOE[0],0x04},                     //Number of elements
+  {0x01,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_01[0],0,&(Rb.first.q0)},//6000:01 is q0
+  {0x02,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_02[0],0,&(Rb.first.q1)},//6000:02 is q1
+  {0x03,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_03[0],0,&(Rb.first.q2)},//6000:03 is q2
+  {0x04,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_04[0],0,&(Rb.first.q3)},//6000:04 is q3
 };
 
 const _objd SDO6001[]=                                                      //TxPDO module
-{{0x00,DTYPE_UNSIGNED8  ,8,ATYPE_R,&acNameNOE[0],0x09},                     //Number of elements
-  {0x01,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_01[0],0,&(Rb.second.acc[0])},//6001:01 is acc X
-  {0x02,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_02[0],0,&(Rb.second.acc[1])},//6001:02 is acc Y
-  {0x03,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_03[0],0,&(Rb.second.acc[2])},//6001:03 is acc Z
-  {0x04,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_04[0],0,&(Rb.second.gyr[0])},//6001:04 is gyr X
-  {0x05,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_05[0],0,&(Rb.second.gyr[1])},//6001:05 is gyr Y
-  {0x06,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_06[0],0,&(Rb.second.gyr[2])},//6001:06 is gyr Z
-  {0x07,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_07[0],0,&(Rb.second.mag[0])},//6001:07 is mag X
-  {0x08,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_08[0],0,&(Rb.second.mag[1])},//6001:08 is mag Y
-  {0x09,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_09[0],0,&(Rb.second.mag[2])}//6001:09 is mag Z
+{{0x00,DTYPE_UNSIGNED8  ,8,ATYPE_R,&acNameNOE[0],0x04},                     //Number of elements
+  {0x01,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_01[0],0,&(Rb.second.q0)},//6001:01 is q0
+  {0x02,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_02[0],0,&(Rb.second.q1)},//6001:02 is q1
+  {0x03,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_03[0],0,&(Rb.second.q2)},//6001:03 is q2
+  {0x04,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_04[0],0,&(Rb.second.q3)},//6001:04 is q3
 };
 
+
 const _objd SDO6002[]=                                                      //TxPDO module
-{{0x00,DTYPE_UNSIGNED8  ,8,ATYPE_R,&acNameNOE[0],0x09},                     //Number of elements
-  {0x01,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_01[0],0,&(Rb.third.acc[0])},//6002:01 is acc X
-  {0x02,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_02[0],0,&(Rb.third.acc[1])},//6002:02 is acc Y
-  {0x03,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_03[0],0,&(Rb.third.acc[2])},//6002:03 is acc Z
-  {0x04,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_04[0],0,&(Rb.third.gyr[0])},//6002:04 is gyr X
-  {0x05,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_05[0],0,&(Rb.third.gyr[1])},//6002:05 is gyr Y
-  {0x06,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_06[0],0,&(Rb.third.gyr[2])},//6002:06 is gyr Z
-  {0x07,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_07[0],0,&(Rb.third.mag[0])},//6002:07 is mag X
-  {0x08,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_08[0],0,&(Rb.third.mag[1])},//6002:08 is mag Y
-  {0x09,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_09[0],0,&(Rb.third.mag[2])}//6002:09 is mag Z
+{{0x00,DTYPE_UNSIGNED8  ,8,ATYPE_R,&acNameNOE[0],0x04},                     //Number of elements
+  {0x01,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_01[0],0,&(Rb.third.q0)},//6002:01 is q0
+  {0x02,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_02[0],0,&(Rb.third.q1)},//6002:02 is q1
+  {0x03,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_03[0],0,&(Rb.third.q2)},//6002:03 is q2
+  {0x04,DTYPE_REAL32  ,32,ATYPE_R,&acName6000_04[0],0,&(Rb.third.q3)},//6002:04 is q3
 };
 
 const _objd SDO6003[]=                                                      //TxPDO module
@@ -324,18 +295,18 @@
   {0x100A,OTYPE_VAR     , 0,0,&acName100A[0],&SDO100A[0]},      //Software Version
   {0x1018,OTYPE_RECORD  , 4,0,&acName1018[0],&SDO1018[0]},      //Identity
   {0x1600,OTYPE_RECORD  , 0x01,0,&acName1600[0],&SDO1600[0]},   //RxPDO mapping
-  {0x1A00,OTYPE_RECORD  , 9,0,&acName1A00[0],&SDO1A00[0]},   //TxPDO mapping
-  {0x1A01,OTYPE_RECORD  , 9,0,&acName1A01[0],&SDO1A01[0]},   //TxPDO mapping
-  {0x1A02,OTYPE_RECORD  , 9,0,&acName1A02[0],&SDO1A02[0]},   //TxPDO mapping
+  {0x1A00,OTYPE_RECORD  , 4,0,&acName1A00[0],&SDO1A00[0]},   //TxPDO mapping
+  {0x1A01,OTYPE_RECORD  , 4,0,&acName1A01[0],&SDO1A01[0]},   //TxPDO mapping
+  {0x1A02,OTYPE_RECORD  , 4,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   , 4,0,&acName1C13[0],&SDO1C13[0]},      //TxPDO objects
-  {0x6000,OTYPE_ARRAY   , 9,0,&acName6000[0],&SDO6000[0]},   //TxPDO module
-  {0x6001,OTYPE_ARRAY   , 9,0,&acName6001[0],&SDO6001[0]},   //TxPDO module
-  {0x6002,OTYPE_ARRAY   , 9,0,&acName6002[0],&SDO6002[0]},   //TxPDO module
+  {0x6000,OTYPE_ARRAY   , 4,0,&acName6000[0],&SDO6000[0]},   //TxPDO module
+  {0x6001,OTYPE_ARRAY   , 4,0,&acName6001[0],&SDO6001[0]},   //TxPDO module
+  {0x6002,OTYPE_ARRAY   , 4,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