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?
Tags:
Permalink Reply by Aydin ESER on December 6, 2011 at 4:53am I am also waiting this code
We are finishing the conversion of this code into an arduino library with all the functions needed for Ardupilot/arducopter.
We will share this code soon.
and you are right, we are loading the DMP memory with a default code, configuring registres and work with quaterion output from FIFO.
Jose.
...also would like to see the code. thx for the update Jose
The code should probably be done in early Jan.
Permalink Reply by Andras Schaffer on January 11, 2012 at 4:55am There was a library in the svn, but it was removed for some reason. However you can still get it via versioning http://code.google.com/p/ardupilot-mega/source/browse/libraries/MPU...
Are we waiting for something more advanced or this is all what can be done at the moment ? This code is based on the reverse engineering of the Invensense dev kit communications. As I followed Invensense devcorner discussions, Invensense does not have the intention to give away their dmp code in any form. It can be used only through their precompilled dev libraries (which are not Atmega compatible). Too bad....
Permalink Reply by dzlonline on January 12, 2012 at 7:17am Found this:
http://code.google.com/p/ardupilot-mega/source/browse/libraries/?r=...
Will test if it runs on the ArduIMU V3 hardware. Hope the orientation of the sensors are the same...
Permalink Reply by dzlonline on January 12, 2012 at 8:35am Hmm.. uploaded the test example and it runs but get no data. i will look into how the hardware differs on the APM2 and ArduIMU3
Permalink Reply by Andrew Brygin on January 12, 2012 at 8:58am Did you change the interrupt from 6 (in the demo) to 0 as it was in the original ImuV3 example?
If not, you likely never get new data notification....
Thanks,
Andrew
Permalink Reply by dzlonline on January 12, 2012 at 9:19am Yes. Changed interrupt to 0 and chip select pin to 4 (in the header file) and now it works.
Change line 8 in MPU6000.h to:
#define MPU6000_CHIP_SELECT_PIN 4 // MPU6000 CHIP SELECT ON ArduIMU V3
And line 63 in MPU6000.cpp to:
attachInterrupt(0,MPU6000_newdata_int,RISING);
This seem to work.
Permalink Reply by Andras Schaffer on January 12, 2012 at 9:59am Yepp, only question... why was it removed from the repository ?
We are working with Invensense on a licence to legally distribute the DMP code. We removed it from the repository until we have that completed.
The ArduIMU V3 code is close to finished and should be out by the end of the month. We hope to offer a choice between DMP and DCM as a compile time option. If anybody on this list would like to join the dev team working on this, please PM me and I'll add you to the devlist.
Season Two of the Trust Time Trial (T3) Contest has now begun. The third round was a reliablilty/aerial photography round for both planes and copters, which is now closed. Stay tuned for the next round, beginning soon.18 members
58 members
26 members
41 members
1 member
© 2012 Created by Chris Anderson.
