Hello
I have a bunch of I2C range finders that I want to use on the cube as a forward facing and downward facing rangefinders. But I also want to feed that range finder output to a logging board so I can separately log the data.
Currently we have a separate board for logging because we have many specialized sensors that we use and we have a specialized logging system that stores all of our data. So the range finder needs to be logged in this system. We also need that data to go to the cube for the auto pilot.
The way I have it configured is that the Cube and the logger (which is an RP2040) are both I2C masters that make requests to the rangefinders to acquire their data. However when I set this up it would work for a couple of seconds before the whole bus would crash. What I think is happening is that the RP2040 and the Cube are making I2C requests at the same time causing a message collision and causing the whole system to crash. In the I2C communication paradigm there is a concept known as multi-master arbitration, basically it allows for multiple masters to talk on the same bus, the RP2040 library I’m using for I2C communication uses this I believe by default from what I’ve read but I don’t think the Cube supports it (I may be wrong). I wanted to know if there was any way to configure ardupilot to operate in an i2c multimaster system?