Once you’ve downloaded the RawData in CSV format, you’ll need to do a little scaling:
# Time in (1/4) msec
Motion.Time <<- as.numeric(CSV_MotionData[,5]) / 4.0
Motion.Accel.X <<- as.numeric(CSV_MotionData[,8]) / (256*8.0) ;
Motion.Accel.Y <<- as.numeric(CSV_MotionData[,11]) / (256*8.0) ;
Motion.Accel.Z <<- as.numeric(CSV_MotionData[,14]) / (256*8.0) ;
Motion.Gyro.X <<- as.numeric(CSV_MotionData[,17]) / 16.384;
Motion.Gyro.Y <<- as.numeric(CSV_MotionData[,20]) / 16.384;
Motion.Gyro.Z <<- as.numeric(CSV_MotionData[,23]) / 16.384;
Motion.Mag.X <<- as.numeric(CSV_MotionData[,26]) / 32;
Motion.Mag.Y <<- as.numeric(CSV_MotionData[,29]) / 32;
Motion.Mag.Z <<- as.numeric(CSV_MotionData[,32]) / 32;
Motion.Quat.Q0 <<- as.numeric(CSV_MotionData[,35]) / 16384.0 ;
Motion.Quat.Q1 <<- as.numeric(CSV_MotionData[,38]) / 16384.0 ;
Motion.Quat.Q2 <<- as.numeric(CSV_MotionData[,41]) / 16384.0 ;
Motion.Quat.Q3 <<- as.numeric(CSV_MotionData[,44]) / 16384.0 ;