SmartMotion® MEMS Motion Sensors

phpbb forum ID
13263
By puneetwadhawan , 27 October 2015

With reference to submitted query subject : "Porting Embedded MotionDriver 6.12 to CC2640" I have a few more questions:
1. Some of the I2C writes/reads in the mpi_init code of EMD drivers are being done on the reserved bit. eg following code snippet from mpu_init is writing on reserved bits of accel config register:

By puneetwadhawan , 27 October 2015

Hi,
I am porting Embedded MotionDriver 6.12 example code (meant for MSP430) to CC2640 (ARM M3 based MCU). I am running the code with following settings :

1. Sampling Frequency 20 Hz : using the function mpu_set_sample_rate
2. DMP enabled
3. LPF : 42 Using the function mpu_set_lpf
4. FSR Gyro : 2000
5. FSR Accel: 2G

By epoger , 20 October 2015

http://43zrtwysvxb2gf29r5o0athu.wpengine.netdna-cdn.com/wp-content/uploads/2015/02/MPU-9250-Datasheet.pdf (page 9) tells me that the accelerometer's Low Pass Filter response has a maximum of 260 Hz.

But http://43zrtwysvxb2gf29r5o0athu.wpengine.netdna-cdn.com/wp-content/uploads/2015/02/MPU-9250-Register-Map.pdf (page 15) tells me that I can get up to 460 Hz bandwidth (by setting ACCEL_FCHOICE=1 and A_DLPF_CFG=0)

So what is the maximum acceleration rate I can measure with this device? 260 Hz or 460 Hz?

By shori , 20 October 2015

Hi!

I'm developing the program with your MotionDriver6.12.
I refered example code in "arm" directory. But an error occurs so i cannot get sensor data as quaternion.

The error is not compile error. It occurs when the process writes DMP firmware code.
At the line 2931 in inv_mpu.c, memcmp returns -2.
I checked values of array which is used by memcmp, then i found a different between "firmware" and "cur".
When i was running memcmp first time, cur[5] is 0x01 and firmware[5] is 0x00.
So, mpu_load_firmware() returns -2 and dmp doesn't work.

By jadedanemone , 16 October 2015

I'm attempting to utilize the precompiled mpl libraries on a Beaglebone Black (Arm Cortex-A8). Given that all of the libraries are for M architectures, the best I can get is the following error:

/usr/bin/ld: error:mpu9250/lib/libmpllib.a(accel_auto_cal.o): Conflicting architecture profiles M/A

Could I get please a version of the library compiled for this processor?

By psdeering , 15 October 2015

Hi all,

I'm taking a look at porting the MotionDriver libraries to a project, and have come across a lot of proprietary pre-compiled code which exists in the 6.12 codebase, but not in the 5.1.3 codebase. Presumably, the only difference between the two is the integration of the 9-fusion algorithms into 6.12, which integrates compass-based data. Is this the only major difference between the versions?

By puneetwadhawan , 14 October 2015

Hi,
I have ported the complete DMP library from Invensense to CC2650 (SensorTag). CC2650 is interfacing with MPU9250. I downloaded the code from software downloads on "download link. I enable Accel and Gyro and disabled 9x fusion using the following function:

inv_enable_quaternion() --Enabling this. THe assumption is that it will enabled 6x fusion and generate quaternion.s
//inv_enable_9x_sensor_fusion(); -- Disabling this as Magnetometer is not enabled

By pastaaldente , 6 October 2015

Hello,

From what I have heard, the magnetometer can be affected by local magnetic (makes sense) and electrical fields. Is this true? If so, what are the design guidelines to avoid interfering with the magnetometer? (i.e. How close can it be to ferrous metals that affect magnetic fields? What is the strongest locally generated magnetic field can it be in without impairing accurate performance? Any guidelines for interference from local electrical fields caused by traces, other local components?).

Thanks!