Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BSEC gives error "insufficient worker buffer" even though the buffer is big enough

    BSEC gives error "insufficient worker buffer" even though the buffer is big enough

    adamrobcarter
    New Poster

    I'm getting `BSEC_E_CONFIG_INSUFFICIENTWORKBUFFER` from `bsec_set_state`. The docs say the worker buffer should have size `BSEC_MAX_PROPERTY_BLOB_SIZE` which expands to 454, even with a buffer length 4096 I get the same error.

    Relevant code:

     

    uint8_t bsec_state[BSEC_MAX_STATE_BLOB_SIZE] = {0};
    uint8_t work_buffer[4096] = {0}; // was [BSEC_MAX_PROPERTY_BLOB_SIZE]
    uint32_t bsec_state_len;
    
    ...
    
    EEPROM.get(/* address in eeprom */, bsec_state_len); // gets bsec_state_len from non-vol storage
    if (bsec_state_len != 0xFF) { 
        EEPROM.get(/* address in eeprom */, bsec_state); // gets bsec_state from non-vol storage
        bsec_status = bsec_set_state(bsec_state, bsec_state_len, work_buffer, sizeof(work_buffer));     
        if (bsec_status != BSEC_OK) {
            Log.error("BSEC load state error: %d", bsec_status);
        } else {
            Log.info("BSEC loaded state, %lu bytes", bsec_state_len);
        }
    }

     

    I'm running  BSEC 1.4.8.0, Cortex M4F, with a BME680

    1 REPLY 1

    BSTRobin
    Community Moderator
    Community Moderator

    Hi adamrobcarter,

    You can try to increase heap size and stack size of your platform.

    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