Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BMI270 invalid header control frame when using with BMM150

    BMI270 invalid header control frame when using with BMM150

    Bouth
    Occasional Visitor

    Hi,

    I'm currently trying to use the BMI270 coupled with the BMM150.

    So far I was using the BMI270 alone with the FIFO in header mode (both accel and gyroscope enabled) and everything seemed to work properly.

    Then, I wanted to also use the BMM150 with the Auxiliary Interface of the BMI270. I managed to read the Chip ID of the BMM150 and I believe that I set everything properly for the BMM150 (enabled PWR_CONF.aux_en, IF_CONF.aux_en, specified the proper I2C address for the Auxiliary interface in AUX_DEV_ID, set AUX_IF_CONF.aux_rd_burst to 8 bytes, disabled advance power save and IF_CONF.aux_man_en and specified the approriate read address in AUX_RD_ADDR) and for the FIFO_CONFIG (enabled all sensors).

    My problem is : when I read the FIFO Header, sometimes the control frame contains the "correct" value indicating that all three sensors are enabled (i.e. the field "fh_parm" is set to 0b0111) and sometimes the control frame indicates that only Accelerometer and Aux sensors are enabled (fh_parm set to 0b0101) and I don't understand why.

    I must have missed something but I can't figure out what, so if anyone can point me towards the usual suspects for that kind of strange behaviour, it will be strongly appreciated ! 🙂

    Cheers,

    Ps: I'm aware of the examples in the Bosch github repo and I tried to use those as much as I could but my implementation is on a SoC with a lot of legacy code and hence, I can't just copy/paste an example and adapt it to my needs..

     

     

    1 REPLY 1

    Minhwan
    Community Moderator
    Community Moderator

    Hello Bouth, 

     

    Easist idea for your issue is to use our github example.  I know you failed using our example due to lots of legacy example

    But, that means your API also probably is old version, so I'd like to recommend using latest BMI270 API as well for example code. 

    BMI270 API - https://github.com/BoschSensortec/BMI270-Sensor-API

    BMI270 FIFO + Aux - https://github.com/BoschSensortec/BMI270-Sensor-API/tree/master/bmi270_examples/aux_fifo_full_header...

    Clean your test code, and apply our BMI270 + BMM150. 

    Please let me know if you have any questions in terms of our example code. 

    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