Issue getting BNO080 Rotation Vector

I’m writing a driver for a SAME70 to communicate with the BNO080 and have the BNO00 IMU Quiic board wired up to it. It responds to commands. If I send FE 05 I get back the FC Rotation vector data. And if I send F9 I get back the product info. But I never get a response to FD messages to enable any of the data output. There is no FC response like I expect. If I send the FE to read the Feature settings they have not changed. No data from the Feature is returned i.e. no rotation vector. I’ve compared what I’m sending to plenty of examples and it looks fine. Here is the part of the Logic analyzer Trace where I ask for the Rotation Vector every 100ms.

5.985899000000000,17,0x4B,0xFD,Write,ACK

5.985925000000000,17,0x4B,0x05,Write,ACK

5.985950500000000,17,0x4B,0x00,Write,ACK

5.985976000000000,17,0x4B,0x00,Write,ACK

5.986002000000000,17,0x4B,0x00,Write,ACK

5.986027500000000,17,0x4B,0xA0,Write,ACK

5.986053500000000,17,0x4B,0x86,Write,ACK

5.986079000000000,17,0x4B,0x01,Write,ACK

5.986105000000000,17,0x4B,0x00,Write,ACK

5.986130500000000,17,0x4B,0x00,Write,ACK

5.986156500000000,17,0x4B,0x00,Write,ACK

5.986182000000000,17,0x4B,0x00,Write,ACK

5.986208000000000,17,0x4B,0x00,Write,ACK

5.986233500000000,17,0x4B,0x00,Write,ACK

5.986259000000000,17,0x4B,0x00,Write,ACK

5.986285000000000,17,0x4B,0x00,Write,ACK

5.986310500000000,17,0x4B,0x00,Write,ACK

6.185807500000000,18,0x4B,0x00,Read,ACK

6.185833500000000,18,0x4B,0x00,Read,ACK

6.185859500000000,18,0x4B,0x00,Read,ACK

6.185885000000000,18,0x4B,0x00,Read,NAK

In the second section you can see there is no response. Is there something I am missing? I have attached the full I2C decode from the Logic Analyzer.

BNO080.txt (15.4 KB)

So this is pretty weird, but I attached the board to an mega2560 and used the spark fun driver. It worked fine to get rotation vectors. Then I plugged it back into my board the next morning and without any changes to my code it works. Not sure what could have happened since as far as I know the Spark Fun code doesn’t make any persistent changes to the device.

I will continue to investigate.