Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    Wakeup BNO055 from suspend mode

    Vincent
    Community Moderator

    Re: Wakeup BNO055 from suspend mode

    I will suggest to check the proper delay inside the code for each steps since you are able to achive correct output with step by step running.

    Re: Wakeup BNO055 from suspend mode

    Hello again

    the procedure to wake up the bno: Suspend Mode --> Config Mode --> NDOF Mode doesnt work in my case. I always have to do Suspend --> Config --> Normal Power Mode --> NDOF. Is this normal? It seems like the error comes from the wake up function but im struggling to find the reason.

    this is my function:

    void wakeup_bno(void){

    /* _First set Config Mode! */
    uint8_t reg[2] = {BNO055_OPR_MODE_ADDR, BNO055_OPERATION_MODE_CONFIG};
    m_xfer_done = false;
    twi_reg_write(BNO055_I2C_ADDR1, reg, 2);
    nrf_delay_ms(650);

    /* Enter Normal Mode to wake up*/
    reg[0] = BNO055_PWR_MODE_ADDR; reg[1] = BNO055_POWER_MODE_NORMAL;
    m_xfer_done = false;
    twi_reg_write(BNO055_I2C_ADDR1, reg, 2);
    nrf_delay_ms(650);

    /* Operation Mode */
    reg[0] = BNO055_OPR_MODE_ADDR; reg[1] = BNO055_OPERATION_MODE_NDOF;
    m_xfer_done = false;
    twi_reg_write(BNO055_I2C_ADDR1, reg, 2);
    nrf_delay_ms(650);
    }

    Vincent
    Community Moderator

    Re: Wakeup BNO055 from suspend mode

    I will suggest you to have only two write of register in the wake up function:

    /* Enter Normal Mode to wake up*/
    reg[0] = BNO055_PWR_MODE_ADDR; reg[1] = BNO055_POWER_MODE_NORMAL;
    m_xfer_done = false;
    twi_reg_write(BNO055_I2C_ADDR1, reg, 2);
    nrf_delay_ms(650);

    /* Operation Mode */
    reg[0] = BNO055_OPR_MODE_ADDR; reg[1] = BNO055_OPERATION_MODE_NDOF;
    m_xfer_done = false;
    twi_reg_write(BNO055_I2C_ADDR1, reg, 2);
    nrf_delay_ms(650);

    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