EtherCAT slave that reads 3 Xsens IMU's connected to a Xbus Master
Dependencies: MODSERIAL mbed KL25Z_ClockControl
Fork of EtherCAT by
Diff: EtherCAT/objectlist.h
- Revision:
- 5:6d75f432a41f
- Parent:
- 4:bb72df6dce33
- Child:
- 6:3ccb89a58ff8
- Child:
- 9:33673e05639f
--- a/EtherCAT/objectlist.h Thu Dec 11 22:31:10 2014 +0000 +++ b/EtherCAT/objectlist.h Thu Dec 11 23:12:11 2014 +0000 @@ -119,8 +119,8 @@ /*End of subindexes for Identity Object*/ _ac acNameMO[]="Mapped object"; _ac acName1600[]="Receive PDO mapping"; -_ac acName1A00[]="Transmit PDO mapping - Digital"; -_ac acName1A10[]="Transmit PDO mapping - Analog"; +_ac acName1A00[]="Transmit PDO mapping - CoP"; +_ac acName1A10[]="Transmit PDO mapping - Raw"; _ac acName1C00[]="Sync Manager Communication type"; /*Subindexes for Sync Manager Communication type*/ _ac acName1C00_01[]="Communications type SM0"; @@ -140,21 +140,20 @@ /*End of subindexes for Digital Inputs*/ _ac acName6001[]="Raw Sensor Inputs"; /*Subindexes for Analog inputs*/ -_ac acName6001_01[]="Analog 1"; -_ac acName6001_02[]="Analog 2"; -_ac acName6001_03[]="Analog 3"; -_ac acName6001_04[]="Analog 4"; +_ac acName6001_01[]="Raw FrontLeft"; +_ac acName6001_02[]="Raw FrontRight"; +_ac acName6001_03[]="Raw BackLeft"; +_ac acName6001_04[]="Raw BackRight"; _ac acName6001_05[]="Timestamp"; /*End of subindexes for Analog inputs*/ _ac acName7000[]="Outputs"; /*Subindexes of Outputs*/ -_ac acName7000_01[]="Control"; -_ac acName7000_02[]="digoutput"; +_ac acName7000_01[]="Correct Offset"; /*End of subindexes for Outputs*/ -_ac acName8000[]="Configuration"; +//_ac acName8000[]="Configuration"; /*Subindexes of configuration*/ -_ac acName8000_01[]="Settings 8"; -_ac acName8000_02[]="Settings 16"; +//_ac acName8000_01[]="Settings 8"; +//_ac acName8000_02[]="Settings 16"; /*End of subindexes of configuration*/ ///////////////////////////////////////////////////////////////////////////////////// @@ -186,9 +185,8 @@ ///////////////////////////////////////////////////////////////////////////////////////////// const _objd SDO1600[]= //RxPDO mapping (objects from master to slave) -{{0x00,DTYPE_UNSIGNED8,8,ATYPE_R,&acNameNOE[0],0x02}, //Number of RxPDOs - {0x01,DTYPE_UNSIGNED32,32,ATYPE_R,&acNameMO[0],0x70000108}, //First Object, pointing to object 7001:01 - {0x02,DTYPE_UNSIGNED32,32,ATYPE_R,&acNameMO[0],0x70000208} //Second Object, pointing to object 7001:02 +{{0x00,DTYPE_UNSIGNED8,8,ATYPE_R,&acNameNOE[0],0x01}, //Number of RxPDOs + {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],0x02}, //Number of TxPDOs @@ -238,15 +236,14 @@ {0x05,DTYPE_UNSIGNED32 ,32,ATYPE_R,&acName6001_05[0],0,&(Rb.timestamp)} //6001:9 is timestamp }; const _objd SDO7000[]= //RxPDO module -{{0x00,DTYPE_UNSIGNED8 ,8,ATYPE_R,&acNameNOE[0],0x02}, //Number of elements - {0x01,DTYPE_UNSIGNED8 ,8,ATYPE_RW,&acName7000_01[0],0,&(Wb.control)}, //7001:01 is control - {0x02,DTYPE_UNSIGNED8 ,8,ATYPE_RW,&acName7000_02[0],0,&(Wb.digoutput)} //7001:02 is digoutput +{{0x00,DTYPE_UNSIGNED8 ,8,ATYPE_R,&acNameNOE[0],0x01}, //Number of elements + {0x01,DTYPE_UNSIGNED8 ,8,ATYPE_RW,&acName7000_01[0],0,&(Wb.correct_offset)} //7001:02 is correct_offset }; -const _objd SDO8000[]= //Configuration mailbox -{{0x00,DTYPE_UNSIGNED8 ,8,ATYPE_R,&acNameNOE[0],0x02}, //number of elements - {0x01,DTYPE_UNSIGNED8 ,8,ATYPE_RW,&acName8000_01[0],0,&(Eb.setting8)}, //8000:01 is setting8 - {0x02,DTYPE_UNSIGNED16 ,16,ATYPE_RW,&acName8000_02[0],0,&(Eb.setting16)} //8000:02 is setting16 -}; +//const _objd SDO8000[]= //Configuration mailbox +//{{0x00,DTYPE_UNSIGNED8 ,8,ATYPE_R,&acNameNOE[0],0x02}, //number of elements +// {0x01,DTYPE_UNSIGNED8 ,8,ATYPE_RW,&acName8000_01[0],0,&(Eb.setting8)}, //8000:01 is setting8 +// {0x02,DTYPE_UNSIGNED16 ,16,ATYPE_RW,&acName8000_02[0],0,&(Eb.setting16)} //8000:02 is setting16 +//}; /** Object list; all objects used in EtherCAT slave */ const _objectlist SDOobjects[]= {{0x1000,OTYPE_VAR , 0,0,&acName1000[0],&SDO1000[0]}, //Device Type @@ -254,7 +251,7 @@ {0x1009,OTYPE_VAR , 0,0,&acName1009[0],&SDO1009[0]}, //Hardware Version {0x100A,OTYPE_VAR , 0,0,&acName100A[0],&SDO100A[0]}, //Software Version {0x1018,OTYPE_RECORD , 4,0,&acName1018[0],&SDO1018[0]}, //Identity - {0x1600,OTYPE_RECORD , 0x02,0,&acName1600[0],&SDO1600[0]}, //RxPDO mapping + {0x1600,OTYPE_RECORD , 0x01,0,&acName1600[0],&SDO1600[0]}, //RxPDO mapping {0x1A00,OTYPE_RECORD , 0x02,0,&acName1A00[0],&SDO1A00[0]}, //TxPDO mapping {0x1A10,OTYPE_RECORD , 0x05,0,&acName1A10[0],&SDO1A10[0]}, //TxPDO mapping {0x1C00,OTYPE_ARRAY , 4,0,&acName1C00[0],&SDO1C00[0]}, //Sync Manager configuration @@ -264,8 +261,8 @@ {0x1C13,OTYPE_ARRAY , 2,0,&acName1C13[0],&SDO1C13[0]}, //TxPDO objects {0x6000,OTYPE_ARRAY , 0x02,0,&acName6000[0],&SDO6000[0]}, //TxPDO module {0x6001,OTYPE_ARRAY , 0x05,0,&acName6001[0],&SDO6001[0]}, //TxPDO module - {0x7000,OTYPE_ARRAY , 0x02,0,&acName7000[0],&SDO7000[0]}, //RxPDO module - {0x8000,OTYPE_ARRAY , 0x02,0,&acName8000[0],&SDO8000[0]}, //RxPDO module + {0x7000,OTYPE_ARRAY , 0x01,0,&acName7000[0],&SDO7000[0]}, //RxPDO module + //{0x8000,OTYPE_ARRAY , 0x02,0,&acName8000[0],&SDO8000[0]}, //RxPDO module {0xffff,0xff,0xff,0xff,nil,nil} };