I'm designing a quadcopter at school and we are using an Arduino Mega, it has 6 INT pins, 2 share the I2C pins, and the other 4 are being used for RPM detection, we are implementing a PI controller for each motor as well as a roll/pitch PID controller for correction estimations.
I'm currently reading raw values for gyro and accel when I want to (polling) and fusing them together using the complimentary filter to describe the YPR attitude. Unfortunately, my fusion is not as accurate as I had hoped it to be.
Is there a quick and easy way to poll the DMP? I'm thinking that it is possible to poll without an interrupt with data available/ready in the FIFO.
I have looked at the dmpGetQuaterian and dmpGetYPR methods but not sure if its as simple as that.
I would poll the MPU every loop (its okay if it still has the last value as long as there is a value) and I will be executing a PID loop on an interval of about 100 Hz.
Thanks in advance for any help provided!