Hi I'm trying to figure out how to use the MPU-6000, I'm reading your source code and I don't see anything about using the DMP
I've also looked at the ArduPilotMega 2.0 repo, found the code for the MPU-6000, but it also does not do anything with the DMP
I understand there's a supposed to be a bit of code that loads a block of instructions into memory banks inside the MPU-60x0, and then the FIFO outputs quaternion data. I do not see any of these elements in "ArduIMU328_V3" or "AP_InertialSensor_MPU6000.cpp"
Can I please see the code to use the DMP?
True that it has taken time to get information as InvenSense has proved that it will not deviate from their policy on this matter. They do however put their product out their with good intentions and confidence. Like any well intentioned business they invite people to take a look and try their products and then allow the customer to make their own educated decision based on the performance.
That's really the problem though. They DON'T have good intentions. They put out a slick sales pitch promising the world, then fight tooth and nail to prevent you from actually using the advertised features.
They've clearly shown that they don't care one bit about supporting their product by letting users actually use the advertised features. Only when they have no other choice do they finally, grudgingly release the bare minimum of information to let you use the features.
Remember, they only released the details after hackers already cracked the interface!
They released the library just so they wouldn't be a second rate source of information compared to hackers of their product!
I really don't mean to be rude but:
We have all bought the hardware and should really just start using it. How about we stop whining about Invensense and start getting a working library going for the ArduIMU3.
There is partly working source out there (from the dark side of the reposetory) that need a bit of tinkering to work with the ArduIMU V3 hardware.
I have sort of gotten this to work, still without the compass fusion.
Any suggestions on how we proceed?
You can't open source some hacked binaries found on the web. You can use them for private experiments for sure, but not projects released as public open-source. For it to be legally sound, the hack would have to be a documented clean room reverse engineering.
You can't open source binaries period. There is no source, it doesn't exist on the public internet.
If you need a binary blob to make full use of a product they're never going to be able to sue you for including it in your project. They can't see you a product claiming it's suitable for a particular purpose and then use some licensing trick to prevent you from using it for the purpose they claimed it was suitable for.
If they tried to sue you the court would either deny their claim right off the bat, order them to refund your purchase (if you filed the proper counter-claim), or rule that you're allowed to distribute it.
Look at it this way, every time your chip sends this code to the DMP it is making a copy of this copyrighted binary. Clearly you're allowed to do this. Further, the only use for this binary is running the DMP. So the only people that could use it already have the rights to do so.
Their licensing agreement doesn't hold water because it's tied to the full use of their product. You have the right to full use of the product and they cannot force you into a license in order to obtain use of the product you already own. It's similar to manufacturers trying to force you to have your product serviced by them or to use only their own brands of products in connection with their product. Courts have ruled that they cannot void warranties or use other tactics to extort further considerations from the consumer.
Invensense is trying to make the full use of their product conditional on the consideration that you obey their license. Everyone and their brother tries to do this, and they're legally allowed to try and make you think their agreement has legal force AFAIK, but it just doesn't hold water.
I think i have found something:
#define CONFIG_APM_HARDWARE APM_HARDWARE_APM2
Now this line is enabled in code.
I really liked your comments and appreciate here about the DMP feature of Invensense sensor chips. They can't ask the user to not to use the specific feature of any chip about which they have advertised & made money. I also believe that they have more sales because their emphasized advertisement on so called DMP.
I don't understand why sparkfun ( an opensource hardware maker) make MPU6000, MPU6050 breakout boards of these closed source chips which is against to their fundamental inspiration & business.
Hey if You have a DMP code which can run on ArduIMU v3 Hardware please share it..?
I want it very badly cause, DCM is not giving proper output without GPS.
Please share the code..
I uploaded some files. Give it a try and see if it works for you.
The .txt file is just a general description of the board. The .zip files are the code for the ArduimuV3 and for a Processing sketch which draws a Cube.
Here's the YouTube link: