Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    'bsec_iot_example' code doesn't wait for bme68x_get_meas_dur(). Should it?

    'bsec_iot_example' code doesn't wait for bme68x_get_meas_dur(). Should it?

    alextingle
    Occasional Visitor

    I'm trying to understand how to use BSEC with a BME680 sensor. The only example in the bsec_v2-5-0-2.tar.gz download skips a delay() call between bme68x_set_op_mode() and bme68x_get_data(). Is that correct?

    Details...

    The example code in bsec_iot_example/bsec_integration.c calls bme68x_set_op_mode(), and then immediately calls bme68x_get_data(), with no delay.

    bsec_v2-5-0-2.tar.gz:
    examples/BSEC_Integration_Examples/examples/bsec_iot_example/bsec_integration.c
    [lines 671-697]

    This is at odds with various other sources of information:

    1. The example code in BME68x_SensorAPI always calls bme68x_get_meas_dur(), and delays for the resulting time, before calling bme68x_get_data().

    https://github.com/boschsensortec/BME68x_SensorAPI/blob/master/examples/forced_mode/forced_mode.c [lines 71-72]
    https://github.com/boschsensortec/BME68x_SensorAPI/blob/master/examples/parallel_mode/parallel_mode.... [lines 97-98]

    2. The BME680 datasheet describes the delay between setting ctrl_meas register, and data becoming available.

    "BME680 - Datasheet" rev1.9, BST-BME680-DS001-09

    3. The BSEC-Arduino-library (also owned by boschsensortech) calls bme68x_get_meas_dur(), and delays for the resulting time, before calling bme68x_get_data().

    https://github.com/boschsensortec/BSEC-Arduino-library/blob/master/src/bsec.cpp [lines 388-390]

    1 REPLY 1

    BSTRobin
    Community Moderator
    Community Moderator

    Hi alextingle,

    Thanks for your inquiry.
    bme68x_get_meas_dur() function performs a register read operation, and the delay after this function is not necessary.

    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