Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BMI088 initialization failed, SensorAPI, Coines

    BMI088 initialization failed, SensorAPI, Coines

    Greg_
    New Poster

    Hello! I have App board 3.0 with BMI088 shuttle board

    I'm trying to run BMI08x_SensorAPI/examples/bmi08x/read_sensor_data example from GitHub

    App log:

    Shuttle ID is 0x66
    I2C Interface
    Accel chip_id: 0x1e
    bmi08g_init Error [-2] : Communication failure
    init_bmi08 Error [-2] : Communication failure
    bmi08g_set_int_config Error [-2] : Communication failure
    bmi08g_get_regs Error [-2] : Communication failure
    enable_bmi08_interrupt Error [-2] : Communication failure
    bmi08g_set_int_config Error [-2] : Communication failure
    disable_bmi08_interrupt Error [-2] : Communication failure

    I did some digging with gdb and found that the initial error code is -10 and comes from:

    dev->intf_rslt = dev->read(reg_addr, reg_data, len, dev->intf_ptr_gyro);
    from static int8_t get_regs(uint8_t reg_addr, uint8_t *reg_data, uint32_t len, struct bmi08_dev *dev)
    from bmi08g.c

    How to solve this issue?

    Regards, Greg

    3 REPLIES 3

    ashnichloe67
    New Poster

    Hey there,

    If you want to resolve this issue, you first need to make sure you check:

     Ensure all wires are securely connected.
    Verify the I2C address in your code matches the BMI088's.
    Power Supply: Make sure the board is properly powered.
    Check if the I2C lines have the correct pull-up resistors.
     Double-check the sensor initialization sequence in your code.

     

     

    Thank you for your reply. Here's an update on my progress:

    I am using an Application Board 3.0 with a Shuttle Board 3.0 and I believe that the wiring is correct, and all resistors are in the right places.

    The sample code I am using can be found here:

    I have tested both the primary and secondary I2C addresses without success. Only the accelerometer responds, as I mentioned before ("Accel chip_id: 0x1e" in a log).

    I suspect that the issue is not with the hardware or wiring, but with the initialization sequence. I hope someone can provide me with guidance towards a solution.

    Regards, Greg

     

     

    BSTRobin
    Community Moderator
    Community Moderator

    Hi Greg_,

    Thanks for your inquiry.
    You can capture I2C waveform by logic analyzer and see what what happened on the bus?

    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