Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BNO055 Calibration with bno055.c driver

    BNO055 Calibration with bno055.c driver

    Pegaz
    New Poster

    To whom it may concern,

    I use the bno055 sensor and i would like to calibrate it.

    To do this, I use a STM32 as brain, as well as the provided bno055.c driver and I communicate in I2C between them.

    And I don't know how to do to calibrate the sensor.I read the documentation of the sensor on the calibration, I watch the video on the calibration of the sensor that bosch has done. But in the video you use a software

    At this time, I made this code :

    u8 sys_stat = 0, accel_stat = 0, gyro_stat = 0, mag_stat = 0;
    
    bno055_reset_sensor(); //function which applies a low signal to the nReset pin for more than 20ns
    bno055_init(&bno055);
    bno055_set_power_mode(BNO055_POWER_MODE_NORMAL);
    bno055_set_operation_mode(BNO055_OPERATION_MODE_NDOF);
    BNO055_delay_msek(7);  //switching time
    
    do{
    
    	if(bno055_get_all_calib_stat(&sys_stat,
    			             &accel_stat,
    			             &gyro_stat,
    				     &mag_stat) != BNO055_SUCCESS) break;
    	BNO055_delay_msek(5000);
    
    }while(sys_stat      != 3 || 
           accel_stat    != 3 ||
           gyro_stat     != 3 ||
           mag_stat      != 3);

    But nothing happens when the sensor does not move (for gyro) or even if it make 8 (for mag)

    Thank you in advance

    Regards

    2 REPLIES 2

    Pegaz
    New Poster

    After several test, I realized that the NDOF mode remains valid less than one second. I therfore moved it in the while loop.

    So now, I get results but it seems absurd to me.

    I'm not touching the sensor (it remaining motionless). I get so 3 concerning the gyroscope which is quite logical.

    But I get 3 for accelerometer and magnetometer no matter what I did.

    And for the last, I get always zero for the systeme..

    Thank you in advance for the help

    Hi Pegaz,

    sorry to answer so late, but the bno055_get_all_calib_stat function does not even exist in our driver.

     

    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