Sorry I have not been following as much right now...
But the interrupt pin:
My guess is that they have not properly setup in this case in the SPI case the do set the pin to input pullup...Code:boolean BNO080::begin(uint8_t deviceAddress, TwoWire &wirePort, uint8_t intPin) { _deviceAddress = deviceAddress; //If provided, store the I2C address from user _i2cPort = &wirePort; //Grab which port the user wants us to use _int = intPin; //Get the pin that the user wants to use for interrupts. By default, it's NULL and we'll not use it in dataAvailable() function.
pinMode(_int, INPUT_PULLUP);
My guess is that is what should be in this case as well.
However it should also test that pin is not 255:
My guess is it might be used in either SPI or I2C mode as a way for the device to signal to tell you it has data ready...Code:boolean begin(uint8_t deviceAddress = BNO080_DEFAULT_ADDRESS, TwoWire &wirePort = Wire, uint8_t intPin = 255); //By default use the default I2C addres, and use Wire port, and don't declare an INT pin
But again I have not really read through their code enough to know if you can say please start to get me this data and let me know when it is ready and then api to get it now...
Sorry not much help here.
Hi. thanks!
Do you meant that the int wire is needed and it has been removed in the reworked code and that that might be creating the freezing?
I am getting it right ?