Bosch Sensortec Community

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

    BME688 no new Data

    BME688 no new Data

    doppio-R
    Member

    Hello,

    I'm working with a Nucleo-G070RB microcontroller and uses the example code out ouf the library 2.0. I could read the read the ID and the initializaition, configuration and the update of the Subscription works fine. I don't forget the bsec_init.

    In the function run(), the function bme68c_get_data is called and only in the first Call I get Data. But this data are absolutly wrong. In each of the next Calls, there is no change. N_filds is 0, so the following loop to proceed the data will not work.

    Do you have any idea?

    5 REPLIES 5

    BSTRobin
    Community Moderator
    Community Moderator

    Hello doppio-R,

    Could we know the link of the example program you refer?

    Thank you for the support.

    I forgot to attach the porject. I'm working with a STM32G070 and there with the HAL functions (HAL_I2C_Mem_Write and HAL_I2C_Mem_Read). You will find them in the BME688_driver.c file.

    BSTRobin
    Community Moderator
    Community Moderator

    Hello Hello doppio-R,,

    Attachment is example code based github driver code on STM32 platform, you could refer the write, read, delay function implement.
    https://github.com/BoschSensortec/BME68x-Sensor-API

    Timestamp should be correctly got when you got system time from STM32. You could refer the following code on STM32.

    int64_t system_current_time = 0;
    uint32_t tick;
    tick = HAL_GetTick();
    system_current_time = 1000000*(int64_t)tick;
    return system_current_time;

    Hello BSTRobin,

    thanks for your support. In my Init function was the setBme68xConfigParallel missing.

    But now I have an other problem. The heater_profil always stays the same, altough I have already change it and restart the whole system. The sensor get the old information from the function bsec_sensor_control.

    I took the heater profile from github, but in my case the measured temperature is to high. There is a 5 Celcius degree difference between the raw data from parallel mode to the raw data from the forced mode. The forced mode is much nearer to my comparison sensor. Even the compensated temperature has a difference about 2-3 degree to the forced mode.

    Additionaly the VOC and CO2 values do not change. I already check the library. I'm using the library  gcc/M0+ for stm.

    Do you have any ideas?

     

    Best regards

     

    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