Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 
    SOLVED

    BHI260AB - Accuracy change events not received

    BHI260AB - Accuracy change events not received

    btruden_henway
    Long-established Member

    Hello,

    I'm using a BHI260AB hosted by an STM32 micro over SPI. The BHI260AB is mounted in a custom board together with a BMM150. 

    I'm downloading the following firmware to the chip and booting from RAM successfully :

    https://github.com/BoschSensortec/BHY2-Sensor-API/blob/master/firmware/bhi260ab/Bosch_SHUTTLE_BHI260...

    I then enable the Gravity virtual sensor and the Rotation Vector virtual sensor successfully. I start receiving samples on the Non-wakeup FIFO for both virtual sensors.

    As soon as I enable the Gravity virtual sensor I get a Meta Event of Sensor Status changed, which indicates that the Gravity virtual sensor has changed to accuracy = 3 (the maximum).

    But for the Rotation Vector virtual sensor, I never get any Meta Event indicating that the Sensor Status has changed.

    I'm following the procedure indicated in the Youtube video: https://www.youtube.com/watch?v=Bw0WuAyGsnY

    I note that in the video, the BNO055 chip reports the accuracy for the physical sensors (accelerometer, gyro, magnetometer). But in my case, where I use the BHI260AB Gravity virtual sensor and the Rotation Vector virtual sensor, I only get the Gravity virtual sensor Sensor Status meta event, not the Rotation Vector Sensor Status event or any physical sensor status change event.

    How can I know if my chip is in the maximum accuracy and ready for use?

    Thanks!

    6 REPLIES 6

    BSTRobin
    Community Moderator
    Community Moderator

    Hi btruden_henway,

    As you enable rotation vector virtual sensor and do accel, gyro calibration, rotation vector virtual sensor accuracy will change from 0 to 3. Normally, when the accuracy is 3, the sensor data is ready for use.
    If you also would like to know accel and gyro sensor accuracy, you could enable them in your code, see the accuracy from callback and meta event function.

    btruden_henway
    Long-established Member

    Hello BSTRobin,

    Question 1

    So to sum up. If I enable the Rotation Vector virtual sensor, and if I do the calibration movements, I should expect to receive at some moment a Sensor Status meta event indicating that the accuracy of the Rotation Vector changed to 3. In my case, I'm not getting any Sensor Status meta event for the Rotation Vector. What could be the issue?

    Question 2

    Regarding Bosch's Desktop Development application. If I connect the BHI shuttle board to the PC and I only enable the Rotation Vector virtual sensor (I don't enable the Accelerometer, Gyro, or Magnetometer virtual sensor), I still see in the main window that the application shows the accuracy status of the accel, gyro, and magnetometer.

    btruden_henway_0-1656503646730.png

    How's this possible? Does the Desktop Development application (or more correctly the mainboard MCU that speaks with the shuttle board) enable the accel, gyro, and magnetometer virtual sensors behind the scenes and wait for the Sensor Status meta events of those three? Or does the application get that information in another way? I need to achieve that in my custom board.

    BR

     

    As an update for Question 1

    I've also enabled the accel, gyro, and magnetometer virtual sensors. So now in my chip, I have the following sensors enabled:

    • Accelerometer corrected
    • Gyroscope corrected
    • Magnetometer corrected
    • Gravity
    • Rotation Vector

    From all those virtual sensors, I only receive the Sensor Status meta events for the ones that are marked in green. So now I'm not getting the Sensor Status meta events for the Accelerometer corrected nor for the Rotation Vector.

    What could be the issue?

    Hello BSTRobin, do you have any feedback on this?

    Thanks

    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