Bosch Sensortec Community

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

    BHI160, BME280 and BMM150 selftest

    Highlighted
    Member

    BHI160, BME280 and BMM150 selftest

    Hi,

    I am working on manufacturing and selftest firmware for our product and want to force BHI160 to run selftests on itself and the attached sensors.

    I have followed the example at ...

    https://github.com/BoschSensortec/BHy1_driver_and_MCU_solution/blob/master/examples/selftest_example...

    but the only meta event I am seeing is BHY_META_EVENT_TYPE_INITIALIZED = 16; I do not see any BHY_META_EVENT_TYPE_SELF_TEST_RESULTS = 15.

    Do I have to use special sensortech firmware?
    Do I have to do something to enable the selftest events?

    Kind Regards,

    Owain

    1 REPLY 1
    Community Moderator
    Community Moderator

    Re: BHI160, BME280 and BMM150 selftest

    At every boot, BHI160 will initialized each part and will only succesfully boot if each slave answers, so it is guaranteed that communication work. But that is not a true self-test.  Luckily the self-test code for each slave is pre-programmed in the Sensor Hub.

     

    The init function typically boots up the hub directly, which is why you don't get self-test results. to trigger it, this piece of code is the important bit:

    	bhy_set_chip_control(0);
    	bhy_set_host_interface_control(BHY_HOST_SELFTEST, ENABLE);
    	delay_ms(100);
    	
    	bhy_set_chip_control(1);

    At boot it checks the value of the self_test_enable bit, and if true will perform the self-test, this is why you need to stop the CPU and restart 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