Bosch Sensortec Community

    Showing results for 
    Search instead for 
    Did you mean: 

    BSEC config file names for iaq solution

    BSEC config file names for iaq solution



    I'd like to ask a question about the names, especially the suffixes, of config files contained in the BSEC Generic Release ZIP file.

    The integration guide that is part of the ZIP file mentions two different solutions, IAQ and SELECTIVITY.
    The older BSEC 1 provides only the IAQ solution; config files there are named  bsec_serialized_configurations_iaq.c /.h

    In BSEC2, which supports IAQ and SELECTIVITY, I would expect config files with the suffix _iaq, and files with suffix _selectivity.
    To my surprise, within ./config  I can only find files with the latter suffix, for instance:


    Shouldn't this file, and the contained array, be named

    ./config/generic_18v_3s_4d/bsec_serialized_configurations_iaq.c  instead?

    This assumption seems to be supported by the fact that the BSEC2 ZIP file also contains these files:

    • ./examples/bsec2/src/bsec_serialized_configurations_selectivity.c   <-   (equals config/bsec_sel_iaq_18v_4d)
    • ./examples/bsec2/src/bsec_serialized_configurations_iaq.c                 <-   (equals mostly config/generic_18v_3s_4d/*_selectivity.c)

    The first matches exactly config/bsec_sel_iaq_18v_4d/bsec_serialized_configurations_selectivity.c,
    while the second contains exactly the same array  as ./config/generic_18v_3s_4d/bsec_serialized_configurations_selectivity.c,
    just named _selectivity, not _iaq.

    So I suppose generic_ config files in BSEC are just named *_selectivity.c/.h by mistake?

    5 REPLIES 5

    Community Moderator
    Community Moderator

    Hello knieriem,

    For gas output, BSEC1 directly outputs IAQ, and BSEC2 not only outputs IAQ, but also has gas recognition function. The name of the config file is different.

    Hello BSTRobin,

    thanks for the quick reply. I'm aware of the differences of BSEC1 and 2 regarding library solutions (pages 6 and 7 of integration guide).
    But gas recognition ("selectivity") in BSEC2 appears to be only one of two use-cases, IAQ vs. SELECTIVITY.
    From my understanding the generic configs are intended for the IAQ solution using FORCED operation mode. In contrast, the bsec_sel* configs besides IAQ also support the SELECTIVITY solution, but they rely on heater profiles, requiring PARALLEL op mode.

    I think that's the reason why in examples/bsec2/src there are two bsec_serialized_configurations_*.c files, one with suffix "iaq" (for the IAQ solution), one with suffix "selectivity", for IAQ+SELECTIVITY solution. Given, there is a differentiation in one place (examples/bsec2/src), it would, from my view, be good to differentiate in the config/* subtree too, i.e. using the _iaq suffix for IAQ-only configs.

    Community Moderator
    Community Moderator

    Hello knieriem,

    BSEC2 supports more functions than BSEC1.

    Hello BSTRobin,
    I have been fully aware of the fact that BSEC2 supports more functions than BSEC1, and indeed have stated it myself in my initial post. What I wanted to point out was something else -- a possibly inconsistent naming.
    Sorry for the confusion