Hi, I have a doubt. The APM2 have a MPU6050 and this sensor have a DMP for fusion accelerometer gyro and external magnetometer.
My question is, Why in the source code not use the DMP of MPU6050 ? but use the traditional software DCM ? ... maybe is DMP is inaccurate? or is too slow for update?
It's also a legal issue. We need to distribute the code and we're working on getting Invensense to allow that. Until their lawyers OK it, we can't.
But have you already tested DMP among developers? It's obvious, that 3DR can't share the code, however does this code exist?
I've tested MPU 6050's DMP, for me it seems to be working much better than ordinary DCM.
Are you tried 9axis DMP? It seems like 9axis DMP will never works on 6050.
Also if you enable 6axis DMP, you cant communicate with i2c slave compass.
Yes, this has been covered about a million times, the code exists and is awaiting legal release. Basically, it's more or less fully tested (at least that's everything I have read).
I know it's for the ArduiIMU V3 but basiclaly the same library
Look at it this way, everyone wants this released, it will make the front page blog the day it does get released and every thread in the forum will be talking about it so it's not like you are going to miss the release party.
I understand, I thought about a problem of technical origin, I didn't think that was the origin bureaucratic
Anyone know if there is some reason why the DMP code can't be released as a closed-source library?
That's the problem, it is a closed source library from Invensense. The DEV team took that source and had to convert it from its "native" form to work on Arduino, thus the library you want to use is that derivative, not the original closed source which is pretty much worthless. The original source is for a different platform of microcontroller, and further, a VERY specific magnetometer, thus not ideal in any way for our usage, thus my terminology of "useless".
Because Invensense said so.
That's the long and the short of it. Some muppet in Invensense decided that they couldn't let anyone have use of the DMP, and now everyone else (including people in Invensense) are living with the consequences.
It's a shame to see a great product castrated by bureaucrats and lawyers, but unless Invensense sort this out the MPU 91xx range has pretty much been killed before it's even sampling.
maybe this will shed some light
A lot of stuff about this DMP doesn't make sense.
If the MPU6000 actually has a processor there's no reason not to release the binary for it.
If 3DR rewrote the "library" (whatever that is supposed to mean) then it is 3DR's intellectual property, so why not release it?
I think this topic is going to keep coming up until someone gives a straight answer.
They don't have any commercial reason to release the DMP code (besides the crap with the copyright). Imagine ArduIMU v3 running ardupilot with DMP, who do you think will buy APM 2.0?
DMP is great for using less powerful processors with the same results which will make 2650 unnecessary...
The DMP code is available, it's just a matter of implementation.