I also tested just reading the AK8963 WIA register containing the device id in the while loop (using the MPU9250::AK8963_whoami() function), thus performing the initialisation just once. After some time (minutes) garbage was reported instead of the device id (0x48).
I still have “AK8963: bad DEVICE ID” quite often when running the latest version from the navio branch of the emlid/ardupilot repository. I also notice that I need to turn off the device for at least 10 minutes to let the MPU9250 recover from this state (which I still find hard to believe, but it seems reel as I’ve seen it happen quite often now that after a short (10 seconds up to 10 minutes) power-off it still does not respond with the correct number on a call to MPU9250::whoami(). After powering off for 10 minutes or more it always does respond correctly on a call to MPU9250::whoami(). Any ideas what causes this to require so long to remain powered off before functioning normally again?
When I use a clean copy of emlid-raspberrypi2-raspbian-rt-20150401.img and power on my Raspberry Pi 2 (after being off for at least 10 minutes) and I execute the following code after 15 minutes of being powered on, then it reports a device id of 0x00. When I do not wait for 15 minutes after power on and execute shortly after boot, then it correctly reports 0x71. After that, when I wait for 15 minutes and execute it again, it reports 0x00.
pi@navio-rpi ~ $ sudo ./ArduCopter.elf -A /dev/ttyAMA0
Raspberry Pi 2 with BCM2709!
Raspberry Pi 2 with BCM2709!
No INS backends available
pi@navio-rpi ~ $
After powering off for 10 minutes and immediately after boot executing ArduCopter seems to work fine. But when I terminate the application (CTRL+C) and execute it again afterwards, it results in “No INS backends available”. This message can be caused by an unsuccessful initialisation of the MPU9250 (judging from looking at the source code).
I think one of my Navio+ boards is broken, because none of this happens on my other Navio+ board. I’ve swapped the boards on the same Raspberry Pi 2 several times now and it is one of them giving weird values for any of the MPU registers after some time, including the WHOAMI register. Also on another Raspberry Pi 2 the MPU on this Navio+ board is misbehaving.
Hi, I have the same problem with the card and when I check the devices connected i2c no devices, try performing any of the examples and always get the same error when I start the example gyroscope always get zero. can you help me please?
Good morning, today when I turn the card is different, i2c settings shown me even GPS devices but does not send me details of position, the gyro works.
For GPS to work there has to be a good sky view, it will work poorly in a building-dense area.
Also, mind that antenna has to be as far as possible from other electronics due to RF noise from it, even from the RPi itself.