Can't write DMP firmware code

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.

I also try to coment out from line 2929 to 2932 and to run, the program throw error hundle when "ii" is 786.

How can i fix this problem?
I'm using CC2650 producted by TI.

I'm sorry that i'm not goot at English.

ogensyts

8 years 1 month ago

Hi, have you fixed your problem? I too cannot write firmware to the DMP.

Thank you

phpbb Post ID
36733

mojito

8 years ago

Hi, I'm facing the exact same problem. Does anybody solved the problem yet?

This problem also occurres in version 5.1.3.

phpbb Post ID
36807

qasim

7 years 11 months ago

Hi everyone,
Use SPI protocol. Send only two bytes at a time i.e one byte is address and one byte of data. Implement same logic during verifying the memory.

phpbb Post ID
36818

mojito

7 years 11 months ago

@qasim: but e.g. the MPU-6050 does not support the SPI protocol... I've tried the same code with my RaspberryPi (+ i2cdevlib) and it works - using the Adafruit FT232H it won't.

phpbb Post ID
36837

josepholuwaseun0

7 years 11 months ago

	<li><ol>
<ul>
</ul>

</ol>

</li>

phpbb Post ID
36843

michdupond356

7 years 10 months ago

I had the same problem.
Fixed it by setting LOAD_CHUNK to 2 in inv_mpu.c and using 16bits (instead of 8bits) read/write functions in the I2C interface.

phpbb Post ID
36874

mojito

7 years 9 months ago

@michdupond356 could you please share your source code or upload it to github/gitlab?

phpbb Post ID
36963
phpbb Topic ID
29828