me and my team are going to contest in mexicos robocup nacional league, so the issue is that we are using a bno080 in our robot but it just stop working at random moments, we are using a raspberry pi pico as our main controller, theres three i2cs devices in our robot bno080, HTirseeker and MRir360, we try lots of thinks, the code that we are using now is this
Serial.begin(9600);
Serial1.begin(115200);
delay(100);
Wire.begin();
delay(100);
myIMU.begin();
Wire.setClock(100000);
myIMU.enableMagnetometer(50); //Send data update every 50ms
myIMU.enableRotationVector(50);
while(millis()<600){
Set=getRawRotation();
}
we are using the wire clock at 100k because is the others 2 i2c devices max speed, the only way to solve it was using 2 i2c busses and have Wire1 only for bno080 with the pull up resistor jumper active, we have this problem with all of our BNO080s, we have 5 and its the same in all of them, we can try with the 2 busses but it would need to remake our pcb and we only have 8 days to solve it.