Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BMX160 changing power modes

    BMX160 changing power modes

    Rkreinin
    New Poster

    I am writing drivers for the bmx160 for zephyr OS but haven't been able to successfully change the PMU for the accelerometer,gyroscope or magnetometer from suspended mode. The steps I take for initialization are:

    1. Send REG_CMD(0x7E) with CMD_SOFT_RESET(0xB6)

    2. Read REG_CHIPID(0x00) (successfully reads BMX160 id 0xD8)

    3. Send REG_CMD(0x7E) with CMD_PMU_ACC_NORMAL(0x11)

    4. Delay for 3.8ms as per table 29 from datasheet

    5. Repeat steps 3 and 4 with CMD_PMU_GYRO_NORMAL(0x15) and 80ms

    6. Repeat steps 3 and 4 with CMD_PMU_MAG_NORMAL(0x18) and 0.5ms

    7. Read REG_PMU_STATUS(0x03)

    8. PMU_STATUS remains at 0 and does not update accordingly

    Are there any other steps I should be taking? Also, I am using I2C for communcation with the BMX160 and using a logic analyzer I can see that everything is being written and read correctly, its just that I am reading 0 from the BMX160 register

    2 REPLIES 2

    Rkreinin
    New Poster

    It looks like the problem is that when I write to any register it doesn't actually get updated. I wrote 0x2C to the ACC_CONF register but when i read it back it gave me the default 0x28 value. So reads seem to work properly but writes don't.

    The first step I would recommend would be to validate your i2c communication with external equipment, such as a logic analyzer or oscilloscope.
    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