EtherCAT slave that reads 3 Xsens IMU's connected to a Xbus Master
Dependencies: MODSERIAL mbed KL25Z_ClockControl
Fork of EtherCAT by
Diff: soes.cpp
- Revision:
- 42:ef78d11f2bd7
- Parent:
- 41:e307b3dcab55
--- a/soes.cpp Fri Sep 11 15:27:57 2015 +0000 +++ b/soes.cpp Fri Sep 11 15:33:31 2015 +0000 @@ -273,8 +273,9 @@ for(int sensor = 0; sensor < 3 ; sensor++) { const int num_bytes_quat = 4*4;//sizeof(float);//4 floats * 4 bytes - const int num_bytes_msg = num_bytes_quat + 2; //timestamp - //memcpy_byteswap((uint8_t *)&local_Rb.first.timestamp ,&xbus_master.rx.buffer[4], 2); + const int num_bytes_timestamp = 2; + const int num_bytes_msg = num_bytes_quat + num_bytes_timestamp; //timestamp + memcpy_byteswap((uint8_t *)&local_Rb.xsens_imu[sensor].samplecounter ,&xbus_master.rx.buffer[6]+num_bytes_quat, num_bytes_timestamp); memcpy_floatswap((uint8_t *)&local_Rb.xsens_imu[sensor].q0,&xbus_master.rx.buffer[6+(sensor*num_bytes_msg)], num_bytes_quat); //memcpy_byteswap((uint8_t *)&local_Rb.xsens_imu[sensor].samplecounter,&xbus_master.rx.buffer[6+num_bytes+(sensor*num_bytes)],2); //pc.printf("%x %x\n",Rb.timestamp, *((uint16_t *)(&xbus_master.rx.buffer[4])));