Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BME680 bme680_status = -3 error

    Crackl1ng
    Member

    BME680 bme680_status = -3 error

    Edit: I accidentely changed some I2C pins, which were refering to BME680. This most likely solves my issue. Sorry for the inconvenience, maybe someone can use this, since i didn't find something on the issue either.

     

    Hello Bosch-Community,

    I've been using the code given to me by BSTRobin for a quite a while (link to the forum post: Solved: BME860 does not return humidity or gas-resistance and it used to work flawlessly.

    I haven't checked the sensor for quite a while, since I had other sensors to work on. When testing my LoRa + BME680 sensor on my stm32 machine again (I'm also using STM32IDE), it does not enter the bsec_iot_loop, because ret.bme680_status returns -3. Here is a snippet of the main code: 

     

     

    while(1)
    {
    	return_values_init ret;
    
    		//PDEBUG("StartBME680Task\r\n");
    		/* Call to the function which initializes the BSEC library
    		* Switch on low-power mode and provide no temperature offset */
    	    ret = bsec_iot_init(BSEC_SAMPLE_RATE_HP, 4.85f, bus_write2, bus_read2, sleep, state_load, config_load);
    		if (ret.bme680_status)
    		{
    			/* Could not intialize BME680 */
    			//PDEBUG("Could not intialize BSEC library, bme680_status=%d\r\n", ret.bme680_status);
    			//return (int)ret.bme680_status;
    		}
    		else if (ret.bsec_status)
    		{
    			/* Could not intialize BSEC library */
    			//PDEBUG("Could not intialize BSEC library, bsec_status=%d\r\n", ret.bsec_status);
    			//return (int)ret.bsec_status;
    		}
    
    		if((ret.bme680_status == 0) && (ret.bsec_status == 0))
    
    		{
    		//	PDEBUG("intialize BSEC library successful\r\n");
    			/* Call to endless loop function which reads and processes data based on sensor settings */
    			/* State is saved every 10.000 samples, which means every 10.000 * 3 secs = 500 minutes  */
    			while(1){
    		}

     

     

    Neither google, nor the datasheet told me something about the error code. I'm thankful for every help.

     

     

    Kind regards

     

     

     

    1 REPLY 1
    BSTRobin
    Community Moderator

    Re: BME680 bme680_status = -3 error

    Hello Crackl1ng,

    You could debug step by step to see where the error is reported in the following functions.
    ret = bsec_iot_init(BSEC_SAMPLE_RATE_LP, 0.0f, bus_write, bus_read, sleep, state_load, config_load);

    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