Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BSEC 2.5.0.2 Example Code Bug in bsecInstance Allocation

    BSEC 2.5.0.2 Example Code Bug in bsecInstance Allocation

    WilliamElder
    Occasional Visitor

    Hello. Apologies for using this forum for bug reports, but I couldn't seem to find a relevant GitHub page for the non-Arduino BSEC's issues. The version of BSEC 2.5.0.2 I downloaded on 6/19/2024 is from https://www.bosch-sensortec.com/software-tools/software/bme680-software-bsec/.

    I used the reference code in BSEC 2.5.0.2's bsec_integration.c/.h files and started having memory write access errors when calling bsec_iot_init(). I found that bsecInstance's pointers weren't being set in bsec_iot_example.c/.h or bsec_integration.c/.h's code, and since neither allocateMemory() nor bsec_mem_block were being used, I fixed the bug and a few other compiler warnings by changing:

    in bsec_integration.h:

     

    uint8_t					bsec_mem_block[NUM_OF_SENS][BSEC_INSTANCE_SIZE];
    uint8_t *bsecInstance[NUM_OF_SENS];

     

    to:

     

    extern uint8_t bsecInstance[NUM_OF_SENS][BSEC_INSTANCE_SIZE];

     

    and in bsec_integration.c, I:
    added #import <string.h> to fix a missing import with memset() under the "header files" section,
    removed the allocateMemory() function since it was unused,
    and added:

     

    uint8_t bsecInstance[NUM_OF_SENS][BSEC_INSTANCE_SIZE];

     

    to the "global variable declarations" section.

    My project compiles and runs fine after making the changes.

    Thanks,
    Will

    1 REPLY 1

    BSTRobin
    Community Moderator
    Community Moderator

    Hi WilliamElder,

    Thanks for your inquiry.
    Thank you for your feedback. Yes, currently only the BSEC software package contains non-Arduino BSEC code. You can refer to the example code and make modifications in the code.

    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