Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BMI088 initialization

    Myzhar
    Established Member

    BMI088 initialization

    Hi,

    I'm using a BMI088 on the I2C bus of an embedded board. I'm using the BOSCH's driver from Github and everything works correctly, except the call to the function `bmi08a_load_config_file` that invalidates the status of the IMU, and I must reset it.

    If I remove the code relative to the function `bmi08a_load_config_file`from the examples (e.g. https://github.com/BoschSensortec/BMI08x-Sensor-API/blob/master/examples/read_sensor_data/read_senso...), I can get the data from the IMU with no problems.

    I used other BOSCH's IMUs in the past and the load of the config file was a procedure explicitly documented in the datasheet, while the datasheet of the BMI088 does not speak about it.

    Can someone provide me with more information?

    Thank you
    Walter

    8 REPLIES 8
    BSTRobin
    Community Moderator

    Re: BMI088 initialization

    Hi Myzhar,

    Could we know more detailed information about "the call to the function `bmi08a_load_config_file` that invalidates the status of the IMU"?

    Myzhar
    Established Member

    Re: BMI088 initialization

    It depends on the value used for the parameter `read_write_len`. Using the default value `46` in `common.c` the IMU enters in not valid status and does not reply to the following commands.

    Instead, if I set a lower value (max 16) the `bmi08a_load_config_file` function fails with error code -6, but the IMU stays in valid status and continues to reply to the following commands.

    sebmadgwick
    Established Member

    Re: BMI088 initialization

    I can confirm that bmi08a_load_config_file is successful (returns 0) when using the SPI interface and a read_write_len of 32.  However, I have found that use of bmi08a_load_config_file results in extremely poor accelerometer performance (as described in this post),  I don't know if these issue are related - the commonality is that things go wrong when we load the config file and work fine when we don't.

    Myzhar
    Established Member

    Re: BMI088 initialization

    I'm using the I2C interface and I cannot use a `read_write_len` value higher than 16 otherwise I get the following list of I2C errors and the IMU stops working:

    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    I2C write error:: Remote I/O error
    bmi08a_load_config_file	Error [-2] : Communication failure
    IMU initilization failed

     

    What I cannot understand is why this behavior is not documented on the datasheet and only firmware code exists for it...

     

    Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist