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:
- 16:bfc7ea6bd1af
- Parent:
- 15:b8d72679e644
- Child:
- 20:ad13d4f5fd98
--- a/EtherCAT/objectlist.h Tue Mar 03 14:51:37 2015 +0000 +++ b/EtherCAT/objectlist.h Tue Mar 03 15:01:29 2015 +0000 @@ -139,13 +139,13 @@ _ac acName6000_01[]="Accelerometer X"; _ac acName6000_02[]="Accelerometer Y"; _ac acName6000_03[]="Accelerometer Z"; -_ac acName6000_01[]="Gyroscope X"; -_ac acName6000_02[]="Gyroscope Y"; -_ac acName6000_03[]="Gyroscope Z"; -_ac acName6000_01[]="Magnetometer X"; -_ac acName6000_02[]="Magnetometer Y"; -_ac acName6000_03[]="Magnetometer Z"; -_ac acName6000_01[]="Temperature"; +_ac acName6000_04[]="Gyroscope X"; +_ac acName6000_05[]="Gyroscope Y"; +_ac acName6000_06[]="Gyroscope Z"; +_ac acName6000_07[]="Magnetometer X"; +_ac acName6000_08[]="Magnetometer Y"; +_ac acName6000_09[]="Magnetometer Z"; +_ac acName6000_0A[]="Temperature"; /*End of subindexes for Digital Inputs*/ _ac acName6001[]="Second IMU"; _ac acName6002[]="Third IMU"; @@ -259,55 +259,47 @@ const _objd SDO6000[]= //TxPDO module {{0x00,DTYPE_UNSIGNED8 ,8,ATYPE_R,&acNameNOE[0],0x0A}, //Number of elements - {0x01,DTYPE_SIGNED16 ,16,ATYPE_R,&acName6000_01[0],0,&(Rb.first.acc[0])},//6000:01 is acc X - {0x02,DTYPE_SIGNED16 ,16,ATYPE_R,&acName6000_02[0],0,&(Rb.first.acc[1])},//6000:02 is acc Y - {0x03,DTYPE_SIGNED16 ,16,ATYPE_R,&acName6000_03[0],0,&(Rb.first.acc[2])},//6000:03 is acc Z - {0x04,DTYPE_SIGNED16 ,16,ATYPE_R,&acName6000_04[0],0,&(Rb.first.gyr[0])},//6000:04 is gyr X - {0x05,DTYPE_SIGNED16 ,16,ATYPE_R,&acName6000_05[0],0,&(Rb.first.gyr[1])},//6000:05 is gyr Y - {0x06,DTYPE_SIGNED16 ,16,ATYPE_R,&acName6000_06[0],0,&(Rb.first.gyr[2])},//6000:06 is gyr Z - {0x07,DTYPE_SIGNED16 ,16,ATYPE_R,&acName6000_07[0],0,&(Rb.first.mag[0])},//6000:07 is mag X - {0x08,DTYPE_SIGNED16 ,16,ATYPE_R,&acName6000_08[0],0,&(Rb.first.mag[1])},//6000:08 is mag Y - {0x09,DTYPE_SIGNED16 ,16,ATYPE_R,&acName6000_09[0],0,&(Rb.first.mag[2])},//6000:09 is mag Z - {0x0A,DTYPE_SIGNED16 ,16,ATYPE_R,&acName6000_0A[0],0,&(Rb.first.temp)} //6000:0A is imu temperature + {0x01,DTYPE_INTEGER16 ,16,ATYPE_R,&acName6000_01[0],0,&(Rb.first.acc[0])},//6000:01 is acc X + {0x02,DTYPE_INTEGER16 ,16,ATYPE_R,&acName6000_02[0],0,&(Rb.first.acc[1])},//6000:02 is acc Y + {0x03,DTYPE_INTEGER16 ,16,ATYPE_R,&acName6000_03[0],0,&(Rb.first.acc[2])},//6000:03 is acc Z + {0x04,DTYPE_INTEGER16 ,16,ATYPE_R,&acName6000_04[0],0,&(Rb.first.gyr[0])},//6000:04 is gyr X + {0x05,DTYPE_INTEGER16 ,16,ATYPE_R,&acName6000_05[0],0,&(Rb.first.gyr[1])},//6000:05 is gyr Y + {0x06,DTYPE_INTEGER16 ,16,ATYPE_R,&acName6000_06[0],0,&(Rb.first.gyr[2])},//6000:06 is gyr Z + {0x07,DTYPE_INTEGER16 ,16,ATYPE_R,&acName6000_07[0],0,&(Rb.first.mag[0])},//6000:07 is mag X + {0x08,DTYPE_INTEGER16 ,16,ATYPE_R,&acName6000_08[0],0,&(Rb.first.mag[1])},//6000:08 is mag Y + {0x09,DTYPE_INTEGER16 ,16,ATYPE_R,&acName6000_09[0],0,&(Rb.first.mag[2])},//6000:09 is mag Z + {0x0A,DTYPE_INTEGER16 ,16,ATYPE_R,&acName6000_0A[0],0,&(Rb.first.temp)} //6000:0A is imu temperature }; const _objd SDO6001[]= //TxPDO module {{0x00,DTYPE_UNSIGNED8 ,8,ATYPE_R,&acNameNOE[0],0x0A}, //Number of elements - {0x01,DTYPE_SIGNED16 ,16,ATYPE_R,&acName6000_01[0],0,&(Rb.second.acc[0])},//6001:01 is acc X - {0x02,DTYPE_SIGNED16 ,16,ATYPE_R,&acName6000_02[0],0,&(Rb.second.acc[1])},//6001:02 is acc Y - {0x03,DTYPE_SIGNED16 ,16,ATYPE_R,&acName6000_03[0],0,&(Rb.second.acc[2])},//6001:03 is acc Z - {0x04,DTYPE_SIGNED16 ,16,ATYPE_R,&acName6000_04[0],0,&(Rb.second.gyr[0])},//6001:04 is gyr X - {0x05,DTYPE_SIGNED16 ,16,ATYPE_R,&acName6000_05[0],0,&(Rb.second.gyr[1])},//6001:05 is gyr Y - {0x06,DTYPE_SIGNED16 ,16,ATYPE_R,&acName6000_06[0],0,&(Rb.second.gyr[2])},//6001:06 is gyr Z - {0x07,DTYPE_SIGNED16 ,16,ATYPE_R,&acName6000_07[0],0,&(Rb.second.mag[0])},//6001:07 is mag X - {0x08,DTYPE_SIGNED16 ,16,ATYPE_R,&acName6000_08[0],0,&(Rb.second.mag[1])},//6001:08 is mag Y - {0x09,DTYPE_SIGNED16 ,16,ATYPE_R,&acName6000_09[0],0,&(Rb.second.mag[2])},//6001:09 is mag Z - {0x0A,DTYPE_SIGNED16 ,16,ATYPE_R,&acName6000_0A[0],0,&(Rb.second.temp)} //6001:0A is imu temperature + {0x01,DTYPE_INTEGER16 ,16,ATYPE_R,&acName6000_01[0],0,&(Rb.second.acc[0])},//6001:01 is acc X + {0x02,DTYPE_INTEGER16 ,16,ATYPE_R,&acName6000_02[0],0,&(Rb.second.acc[1])},//6001:02 is acc Y + {0x03,DTYPE_INTEGER16 ,16,ATYPE_R,&acName6000_03[0],0,&(Rb.second.acc[2])},//6001:03 is acc Z + {0x04,DTYPE_INTEGER16 ,16,ATYPE_R,&acName6000_04[0],0,&(Rb.second.gyr[0])},//6001:04 is gyr X + {0x05,DTYPE_INTEGER16 ,16,ATYPE_R,&acName6000_05[0],0,&(Rb.second.gyr[1])},//6001:05 is gyr Y + {0x06,DTYPE_INTEGER16 ,16,ATYPE_R,&acName6000_06[0],0,&(Rb.second.gyr[2])},//6001:06 is gyr Z + {0x07,DTYPE_INTEGER16 ,16,ATYPE_R,&acName6000_07[0],0,&(Rb.second.mag[0])},//6001:07 is mag X + {0x08,DTYPE_INTEGER16 ,16,ATYPE_R,&acName6000_08[0],0,&(Rb.second.mag[1])},//6001:08 is mag Y + {0x09,DTYPE_INTEGER16 ,16,ATYPE_R,&acName6000_09[0],0,&(Rb.second.mag[2])},//6001:09 is mag Z + {0x0A,DTYPE_INTEGER16 ,16,ATYPE_R,&acName6000_0A[0],0,&(Rb.second.temp)} //6001:0A is imu temperature }; const _objd SDO6002[]= //TxPDO module {{0x00,DTYPE_UNSIGNED8 ,8,ATYPE_R,&acNameNOE[0],0x0A}, //Number of elements - {0x01,DTYPE_SIGNED16 ,16,ATYPE_R,&acName6000_01[0],0,&(Rb.third.acc[0])},//6002:01 is acc X - {0x02,DTYPE_SIGNED16 ,16,ATYPE_R,&acName6000_02[0],0,&(Rb.third.acc[1])},//6002:02 is acc Y - {0x03,DTYPE_SIGNED16 ,16,ATYPE_R,&acName6000_03[0],0,&(Rb.third.acc[2])},//6002:03 is acc Z - {0x04,DTYPE_SIGNED16 ,16,ATYPE_R,&acName6000_04[0],0,&(Rb.third.gyr[0])},//6002:04 is gyr X - {0x05,DTYPE_SIGNED16 ,16,ATYPE_R,&acName6000_05[0],0,&(Rb.third.gyr[1])},//6002:05 is gyr Y - {0x06,DTYPE_SIGNED16 ,16,ATYPE_R,&acName6000_06[0],0,&(Rb.third.gyr[2])},//6002:06 is gyr Z - {0x07,DTYPE_SIGNED16 ,16,ATYPE_R,&acName6000_07[0],0,&(Rb.third.mag[0])},//6002:07 is mag X - {0x08,DTYPE_SIGNED16 ,16,ATYPE_R,&acName6000_08[0],0,&(Rb.third.mag[1])},//6002:08 is mag Y - {0x09,DTYPE_SIGNED16 ,16,ATYPE_R,&acName6000_09[0],0,&(Rb.third.mag[2])},//6002:09 is mag Z - {0x0A,DTYPE_SIGNED16 ,16,ATYPE_R,&acName6000_0A[0],0,&(Rb.third.temp)} //6002:0A is imu temperature + {0x01,DTYPE_INTEGER16 ,16,ATYPE_R,&acName6000_01[0],0,&(Rb.third.acc[0])},//6002:01 is acc X + {0x02,DTYPE_INTEGER16 ,16,ATYPE_R,&acName6000_02[0],0,&(Rb.third.acc[1])},//6002:02 is acc Y + {0x03,DTYPE_INTEGER16 ,16,ATYPE_R,&acName6000_03[0],0,&(Rb.third.acc[2])},//6002:03 is acc Z + {0x04,DTYPE_INTEGER16 ,16,ATYPE_R,&acName6000_04[0],0,&(Rb.third.gyr[0])},//6002:04 is gyr X + {0x05,DTYPE_INTEGER16 ,16,ATYPE_R,&acName6000_05[0],0,&(Rb.third.gyr[1])},//6002:05 is gyr Y + {0x06,DTYPE_INTEGER16 ,16,ATYPE_R,&acName6000_06[0],0,&(Rb.third.gyr[2])},//6002:06 is gyr Z + {0x07,DTYPE_INTEGER16 ,16,ATYPE_R,&acName6000_07[0],0,&(Rb.third.mag[0])},//6002:07 is mag X + {0x08,DTYPE_INTEGER16 ,16,ATYPE_R,&acName6000_08[0],0,&(Rb.third.mag[1])},//6002:08 is mag Y + {0x09,DTYPE_INTEGER16 ,16,ATYPE_R,&acName6000_09[0],0,&(Rb.third.mag[2])},//6002:09 is mag Z + {0x0A,DTYPE_INTEGER16 ,16,ATYPE_R,&acName6000_0A[0],0,&(Rb.third.temp)} //6002:0A is imu temperature }; -//TODO: Comments -const _objd SDO6001[]= //TxPDO module -{{0x00,DTYPE_UNSIGNED8 ,8,ATYPE_R,&acNameNOE[0],0x05}, //Number of elements - {0x01,DTYPE_REAL32 ,32,ATYPE_R,&acName6001_01[0],0,&(Rb.FrontLeft)}, //6001:1 is analog 0 - {0x02,DTYPE_REAL32 ,32,ATYPE_R,&acName6001_02[0],0,&(Rb.FrontRight)}, //6001:2 is analog 1 - {0x03,DTYPE_REAL32 ,32,ATYPE_R,&acName6001_03[0],0,&(Rb.BackLeft)}, //6001:3 is analog 2 - {0x04,DTYPE_REAL32 ,32,ATYPE_R,&acName6001_04[0],0,&(Rb.BackRight)}, //6001:4 is analog - {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],0x01}, //Number of elements {0x01,DTYPE_UNSIGNED8 ,8,ATYPE_RW,&acName7000_01[0],0,&(Wb.correct_offset)} //7001:02 is correct_offset