Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    Multiple BME680 devices with BSEC

    Multiple BME680 devices with BSEC

    Paetze
    Occasional Visitor

    Hello,

    is it possible to process multiple BME680 devices with BSEC library? Our application implements two BME680 devices, each using a dedicated I2C bus. As far as I understood, it's not possible to pass duplicate (physical) sensor IDs to he library. How can I pass different physical sensor instances to the BSEC library?

    Thanks,

    Paul 

    8 REPLIES 8

    handytech
    Community Moderator
    Community Moderator

    The error returned here by bsec_do_steps() is due to the time_stamp value of 0. Using time_stamp=1 instead in the 'dummy' do_steps() call should solve this.

    handytech
    Community Moderator
    Community Moderator

    Are you successfully able to calibrate BSEC (i.e. reach IAQ accuracy of 3) with this pseudo-code? Did you totally skip the 'dummy' do_steps call?

     /Applications/SEGGER Embedded Studio for ARM 4.52b/gcc/arm-none-eabi/bin/ld: Output/ble_iaqm Debug/Obj/main.o: in function `app_bsec_state_load':
    1> /Users/baranibremaaarohi/ble_project/iaqm_project/ble_iaqm/main.c:1526: undefined reference to `bsec_get_state'
    1> /Applications/SEGGER Embedded Studio for ARM 4.52b/gcc/arm-none-eabi/bin/ld: Output/ble_iaqm Debug/Obj/main.o: in function `app_bsec_config_load':
    1> /Users/baranibremaaarohi/ble_project/iaqm_project/ble_iaqm/main.c:1542: undefined reference to `bsec_get_configuration'
    1> /Applications/SEGGER Embedded Studio for ARM 4.52b/gcc/arm-none-eabi/bin/ld: Output/ble_iaqm Debug/Obj/main.o: in function `main':
    1> /Users/baranibremaaarohi/ble_project/iaqm_project/ble_iaqm/main.c:1577: undefined reference to `bsec_get_version'
    1> /Applications/SEGGER Embedded Studio for ARM 4.52b/gcc/arm-none-eabi/bin/ld: Output/ble_iaqm Debug/Obj/bsec_integration.o: in function `bme680_bsec_update_subscription':
    1> /Users/baranibremaaarohi/ble_project/iaqm_project/ble_iaqm/bme680/BSEC/bsec_integration.c:140: undefined reference to `bsec_update_subscription'
    1> /Applications/SEGGER Embedded Studio for ARM 4.52b/gcc/arm-none-eabi/bin/ld: Output/ble_iaqm Debug/Obj/bsec_integration.o: in function `bsec_iot_init':
    1> /Users/baranibremaaarohi/ble_project/iaqm_project/ble_iaqm/bme680/BSEC/bsec_integration.c:186: undefined reference to `bsec_init'
    1> /Applications/SEGGER Embedded Studio for ARM 4.52b/gcc/arm-none-eabi/bin/ld: /Users/baranibremaaarohi/ble_project/iaqm_project/ble_iaqm/bme680/BSEC/bsec_integration.c:196: undefined reference to `bsec_set_configuration'
    1> /Applications/SEGGER Embedded Studio for ARM 4.52b/gcc/arm-none-eabi/bin/ld: /Users/baranibremaaarohi/ble_project/iaqm_project/ble_iaqm/bme680/BSEC/bsec_integration.c:207: undefined reference to `bsec_set_state'
    1> /Applications/SEGGER Embedded Studio for ARM 4.52b/gcc/arm-none-eabi/bin/ld: Output/ble_iaqm Debug/Obj/bsec_integration.o: in function `bme680_bsec_process_data':
    1> /Users/baranibremaaarohi/ble_project/iaqm_project/ble_iaqm/bme680/BSEC/bsec_integration.c:417: undefined reference to `bsec_do_steps'
    1> /Applications/SEGGER Embedded Studio for ARM 4.52b/gcc/arm-none-eabi/bin/ld: Output/ble_iaqm Debug/Obj/bsec_integration.o: in function `bsec_iot_loop':
    1> /Users/baranibremaaarohi/ble_project/iaqm_project/ble_iaqm/bme680/BSEC/bsec_integration.c:521: undefined reference to `bsec_sensor_control'
    1> /Applications/SEGGER Embedded Studio for ARM 4.52b/gcc/arm-none-eabi/bin/ld: /Users/baranibremaaarohi/ble_project/iaqm_project/ble_iaqm/bme680/BSEC/bsec_integration.c:539: undefined reference to `bsec_get_state'
    Build failed

    In my case i had to create a process per sensor (which i don't like, but at that time was the only think that got me to get correct results for several sensors at the same time). I will try your approach as soon as i get some time, thanks!

    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