betaflight / betaflight

Open Source Flight Controller Firmware
GNU General Public License v3.0
7.95k stars 2.84k forks source link

Conflict on internal and external I2C devices using same I2C address #13577

Open haslinghuis opened 1 week ago

haslinghuis commented 1 week ago

Describe the bug

As per title. Internal baro is a BMP280. Magnetometer is detected.

Using GEP-M1025-MI barometer MS5611 and magnetometer IST8310 are detected.

To Reproduce

Flash master and include magnetometers define.

Expected behavior

Detect baro on external module

Support ID

2dd928b4-b734-4a6a-bcf8-b48c5687b56b

Flight controller

SPEEDYBEEF7V3

Other components

Only SpeedyBee F7 V3 BL32 50A 30x30 Stack on lab power with mentioned module.

How are the different components wired up (including port information)

Using connectors - as magnetometer is working there is no wiring issue.

Add any other context about the problem that you think might be relevant here

ledvinap commented 1 week ago

there is one USE_DSP310 typo in configs, maybe this one?

haslinghuis commented 1 week ago

But MAMBAF405_2022A needs to be fixed :)

ot0tot commented 6 days ago

Maybe an I2C address conflict between the on-board and external baro? A quick search suggests both use 0x77, and the internal and external I2C connections are both I2C1. Not sure if this can be resolved without changing one of the device IDs or physically disconnecting the on-board baro.

Perhaps part of the design guidelines should include using separate I2C devices for on-board and external connections?

ledvinap commented 6 days ago

@haslinghuis : as @ot0tot said ... and don't expect either baro to work when both are connected

haslinghuis commented 6 days ago

Perhaps part of the design guidelines should include using separate I2C devices for on-board and external connections?

Agree introducing external I2C settings would address this issue.