Bosch Sensortec Community

    Showing results for 
    Search instead for 
    Did you mean: 

    Problem initializing BMI085 Data Synchronization

    Problem initializing BMI085 Data Synchronization


    I have a problem with the BMI085, using your github drivers I put together a simple test program that prints out synchronized data using interrupts.  This worked fine.

    Then I transferred the driver and setup code over to a larger application (without changes) and now the setup doesn't work.  It appears to be doing everything correctly but I get no interrupts from the BMI085 (verrified with a logic analyzer).  I used the logic analyzer to capture the entire setup transaction from both programs and they are identical except for one exchange early on which seems to reference registers I can't find documentation for.  I think this is happening when it is uploading the synchronization config file.

    In the application that works right, I see this on the SPI

    Packet ID MOSI MISO

    11 0x5E 0x5E
    11 0xC8 0x40
    11 0x2E 0x00
    12 0x5B 0x00
    12 0x01 0x00

    In the one that fails I see this

    Packet ID MOSI MISO

    11 0x5E 0x5E
    11 0xC8 0xC8
    11 0x2E 0x2E
    12 0x5B 0x08
    12 0x01 0x00

    These appear to be writing registers at 5E and 5B and getting back different results.  Everything else sent to/from the chip is identical for both programs.

    Any ideas on what this is?  I'm still digging into it.  The code on both setups are the same but the timing of the SPI transactions is probably slightly different between the two programs.  The larger program (that fails) has some background tasks going like WiFi and such.

    I can send more details if that would help.



    5 REPLIES 5

    Community Moderator
    Community Moderator

    Please also note thebmi08xdev.read_write_len  when download the configuration string.  This will also affect the download timing.