Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BSEC stop after more than one month

    BSEC stop after more than one month

    hamady
    Established Member

    Hello,

     

    I'm using the BME680 with a STM32WLE and everthing was working well.

    https://community.bosch-sensortec.com/t5/MEMS-sensors-forum/How-to-use-BSEC-IOT-exemple-for-the-BME6...

     

    Between the 03/06 to 21/07 everything was ok but after the bsec IAQ values are competly wrong.

     

    I'm wondering if that is not related to the timestamp hat can fail after reaching max value.

     

    Thanks

    6 REPLIES 6

    hamady
    Established Member

    Hello 

    I think i found the issue

    The issue is that after 49 days we have the rollover of HAL_GetTick();

    So it restart from 0 and the BSEC algo stop working 

    Here a fix 

     

    int64_t get_timestamp_us()
    {
        static uint32_t previous_tick = 0;               // La dernière valeur de tick lue
        static int64_t overflow_count = 0;               // Compte les débordements
        uint32_t tick = HAL_GetTick();
    
        if(tick < previous_tick) {
            overflow_count += (int64_t)0xFFFFFFFF + 1;   // Incrémente par 2^32
        }
    
        previous_tick = tick;
        int64_t system_current_time = 1000 * (overflow_count + tick);
        return system_current_time;
    }

    Minhwan
    Community Moderator
    Community Moderator

    Hi Hamady, 

     

    For timestamp in BSEC2, you have to use micro second unit of 64 bit timestamp.

    Otherwise, you will get error like you faced. 

    Thanks for letting us know. 

    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