to whom it may concern,
I noticed that in inv_mpu_dmp_motion_driver.cpp, operation
int dmp_read_fifo(short *gyro, short *accel, long *quat,
unsigned long *timestamp, short *sensors, unsigned char *more)
under the right conditions, the sensors parameter is modified by a
constant (#define INV_WXYZ_QUAT (0x100)) that is not compatible
with the definition of the parameter, i.e. short or 16bit.
What is the status of this software? When can we expect an update with more functionality?
Thanks
- Log in to post comments
phpbb Topic ID
15153
Re: Re: What is the status of dmp and mpu driver source api?
Why would 0x100 not be compatible with a 16 bit parameter?
Max value of unsigned 16 bit = 0xFFFF, so 0x100 is well within range.
What I did notice is another possible bug:
If you don't define FIFO_CORRUPTION_CHECK, then the sensors mask will NEVER be set with INV_WXYZ_QUAT (indicating quaternion data is available in the FIFO).
The fix:
Move the #endif (FIFO_CORRUPTION_CHECK) to just above
sensors[0] |= INV_WXYZ_QUAT;
instead of just under that line.
Re: Re: What is the status of dmp and mpu driver source api?
Thank you for your comment and we’ll look in to a fix for the datatype issue. MotionDriver is designed as a full source alternative to our more full-featured eMPL software library. The additional functionality (compass integration, calibration routines) will continue, for the time being, to be exclusive to the eMPL product, which is available (no cost) for a variety of platforms. You can inquire with developers@invensense for your specific controller/toolchain required for your application to see if a port is available.
Re: Re: What is the status of dmp and mpu driver source api?
Sectionbest,
Can you explain what datatype issue?
Would you also be able to answer my other questions (top ones in the MotionApps forum at this moment)?
Re: Re: What is the status of dmp and mpu driver source api?
Must have been a late night. My apology.