iNavFlight / inav

INAV: Navigation-enabled flight control software
https://inavflight.github.io
GNU General Public License v3.0
3.22k stars 1.5k forks source link

Change sensor address in configurator ? #1919

Closed GTorreil closed 7 years ago

GTorreil commented 7 years ago

Hello,

I need iNav to use the MPU9250 at its 'high' address.

-> Maybe address selection for the sensors could be implemented in the configurator ?

Setup :

(SPF3) <--- I2C ---> (MPU9250 Module)

There are 4,7K pull up resistors on both i2C lines.

I had to change the MPU9250 address to get the FC to boot, probably because the (onboard) MPU6050 uses that same address. I used the address selection pin as it is stated in the datasheet :

img_7619

In the meantime I need iNav to find the MPU at that address (b1101001) and not the default one (b1101000). How should I proceed ? — If I want to use only the magnetometer of the MPU9250 is there a better way of doing things ?

DzikuVx commented 7 years ago

This will not happen before F1 targets are dropped. Then, maybe...

digitalentity commented 7 years ago

@GTorreil MPU9150 is a combination of MPU6500 and AK8963 on the same I2C bus, but you can't access the compass chip unless you initialize the gyro and enable passthrough. In current state of development you either have to use the whole MPU9150 or not use it at all.

Implementing a "hacky" solution that will initialize the gyro on another i2c address and then initialize the compass is a very unique case, which I don't think we should be supporting officially. I might be wrong though.

GTorreil commented 7 years ago

Ok, thank you Dropping F1 is something I am absolutely for :) but .. anyway. So if I understand well, removing the onboard MPU seems to be the only “clean” solution to use that external mpu-mag combo currently. Am I right ?

GTorreil commented 7 years ago

SOLVED. This issue can be closed :)