Bosch Sensortec Community

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

    BSEC BME680 measures 10 times then stops.

    BSEC BME680 measures 10 times then stops.

    acanthe
    Member

    I am attempting to get the BME680 up and running on the nrf52840dk board and I am using the iot example provided code.

    My problem is that after a certain amount of time (its the same timestamp), output_ready is no longer called and only bme680_get_sensor_mode is called every ~33 seconds despite being on LP mode.

    I'm hoping for some guidance in how to start troubleshooting this because I am a little lost as to what I can do without modifying the bsec library. The numbers at the end of the status values are tags I added for identification (so I knew which one was called).

    I have attached the .c file for the iot_example I am using and the main function is below (its just the stock code included):

    /*---------------------------------------------------------------------------*/
    PROCESS_THREAD(env_test_process, ev, data)
    {

    PROCESS_BEGIN();

    return_values_init ret;
    i2c_init();
    ret = bsec_iot_init(BSEC_SAMPLE_RATE_LP, 0.0f, bus_write, bus_read, sleep, state_load, config_load);
    if (ret.bme680_status)
    {
    LOG_INFO_("Could not initialise BME680\n");
    }
    else if (ret.bsec_status)
    {
    LOG_INFO_("Could Not Initialise BSEC Library\n");
    }

    bsec_iot_loop(sleep, get_timestamp_us, output_ready,state_save, 10000);
    PROCESS_END();
    }

    /*---------------------------------------------------------------------------*/

    LOG OUTPUT:

    __________________________

    ------------MEASUREMENTS----------x100--------
    bsec_status: 0
    timestamp: 24101562000
    IAQ index: 2500, Accuracy: 0
    Temperature: 2900
    Humidity: 4600
    Pressure: 10020800
    Gas: 2773500
    CO2 Equivalent: 0
    VOC Equivalent: 0
    bme680_status = 0 4
    bme680_status = 0 3
    bme680_status = 0 1
    bme680_status = 0 6
    bsec_status = 0 5

    ------------MEASUREMENTS----------x100--------
    bsec_status: 0
    timestamp: 27101562000
    IAQ index: 2500, Accuracy: 0
    Temperature: 2900
    Humidity: 4600
    Pressure: 10020400
    Gas: 2983900
    CO2 Equivalent: 0
    VOC Equivalent: 0
    bme680_status = 0 4
    bme680_status = 0 3
    bme680_status = 0 1
    bme680_status = 0 6
    bsec_status = 0 5

    ------------MEASUREMENTS----------x100--------
    bsec_status: 0
    timestamp: 30101562000
    IAQ index: 2500, Accuracy: 0
    Temperature: 2900
    Humidity: 4600
    Pressure: 10020800
    Gas: 3168200
    CO2 Equivalent: 0
    VOC Equivalent: 0
    bme680_status = 0 4
    bme680_status = 0 3
    bme680_status = 0 1
    bme680_status = 0 6
    bsec_status = 0 5

    ------------MEASUREMENTS----------x100--------
    bsec_status: 0
    timestamp: 33109375000
    IAQ index: 2500, Accuracy: 0
    Temperature: 2900
    Humidity: 4600
    Pressure: 10020800
    Gas: 3320700
    CO2 Equivalent: 0
    VOC Equivalent: 0
    bme680_status = 0 1
    bme680_status = 0 1
    bme680_status = 0 1
    bme680_status = 0 1
    bme680_status = 0 1
    bme680_status = 0 1
    bme680_status = 0 1
    bme680_status = 0 1
    bme680_status = 0 1

    12 REPLIES 12

    EmiQS
    Member

    Hello acanthe, I'm experiencing similar issues. In my case the regular cycle takes 10.6seconds, but some times BSEC takes as long as 120seconds to give me a IAQ value.

    I see in your logs IAQ is always 25. Are you having problems with IAQ not moving from 25 (acc = 0) too?

    I'll follow your topic!

    Regards.

    At the moment I am just trying to get it to continually get measurements (I assumed its not having time to calibrate/settle) but I can imagine once this is solved I may have that problem.

    Nice to know I am not the only one with this issue!

    NOTE: the device isn't hanging, from what I have gathered so far it looks like sensor_settings->trigger_measurement and sensor_settings->process_data are both 0 after a minute or so and do not change.

    Minhwan
    Community Moderator
    Community Moderator

    Hello Acanthe, 

     

    Are you using BSEC 1 or 2? 

    If you are using BME680, you have to use BSEC 1. If you pursue to use BSEC 2, please use BME688. 

    And if you are using BME680 and BSEC 1 and facing this issue, please let me know which example you are using. 

    Thank you. 

    Hi Minhwan,

    I have checked version and I am using BSEC 1.4.8.0.

    As for which example, its the bsec_iot_example.c file. I have filled in the functions except for config_load (arduino example doesnt seem to need this to run)

     

    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