01/15/2014 The Problem: In "no motion" mode (i.e. motion interrupt not asserted) the orientation of the BED is showing drift in the Z (psi) axis. See image WAT_103113.tiff. The firmware is set up with a call to set_bias_update that passes the value "INV_BIAS_FROM_NO_MOTION" which should only apply gyro readings (along with the calculated offset) once motion is detected. Note that the specification implies that the motion interrupt is asserted from the accelerometers only. << 8.3 Motion Interrupt The MPU-60X0 provides Motion detection capability with similar functionality to Free Fall detection. Accelerometer measurements are passed through a configurable digital high pass filter (DHPF) in order to eliminate bias due to gravity. A qualifying motion sample is one where the high passed sample from any axis has an absolute value exceeding a user-programmable threshold. A counter increments for each qualifying sample, and decrements for each non-qualifying sample. Once the counter reaches a user-programmable counter threshold, a motion interrupt is triggered. The axis and polarity which caused the interrupt to be triggered is flagged in the MOT_DETECT_STATUS register. << The Test - reproducing the problem: The BED (unit #2) will sit on the bench in watch mode. Occasionally, an event of minimal duration will be triggered via a slap along the Y axis. We expect to see a similar drift about Z in earth frame over the course of a couple hours (assuming a ~20 deg/hour drift). Assuming the problem is easily duplicated on the bench, the test will proceed with some firmware updates that attempt to stop the addition of gyro data into the sensor fusion algorithm when the motion interrupt is not asserted. Log: - The first event was triggered at 13:10 local (event #2) and hardwire serial comms were initiated to verify the event was recorded. The event was a short slap along the positive Y axis. - Second event (event #3) ~13:40 - Third event (event #4) ~14:26 - Fourth event (event #5) ~14:48 Test ended: ~14:49 Results: See .tiff plots in this directory. Problem reproduced.