Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BMA456 Max read-write length

    BMA456 Max read-write length

    Jar444
    Member

    Hello,

    1. I was wondering what would be the max read-write length the BMA456 while burst writing with I2C (or regular). 

    2. If I was to burst read the features in register after a config write 

                           a. What are the steps (I believe the BMA456W API does a burst read to enable step tracker and accelerometer)?

                           b. Should the configuration file match perfectly?

                           c. If the configuration said it was succesful but the read says otherwise what could be the potential reasons?

    Thank you very much for any help in advance!

     

    2 REPLIES 2

    BSTRobin
    Community Moderator
    Community Moderator

    Hi Jar444,

    1.The data is sent out through the I2C controller of the host MCU, and the maximum length usually depends on the maximum length allowed by the host MCU controller.
    2.After writing the config file, it is necessary to wait for a period of time and then read the status of config stream operation to see if the firmware was successfully loaded.
    You can refer BMA456 sensor API and exmaple code on github https://github.com/boschsensortec/BMA456-Sensor-API
    Detailed software code of loading config file, you can refer the implement in function bma4_write_config_file().

    Minhwan
    Community Moderator
    Community Moderator

    Hi @Jar444 , 

     

    We are using DMA for I2C buffer. Therefore, you can write config file at once if your MCU supports. 

    But, you have to change #define BMA4_READ_WRITE_LEN UINT8_C(46) as you want. 

    https://github.com/boschsensortec/BMA456-Sensor-API/blob/master/bma456h_examples/common/common.c 

    Your second question is you want to check whether you download config file properly or not, right? 

    Checking 0x2A register after config download could be enough, but you can read it using same method as you write for config file. 

    Check stream_transfer_write function in BMA4.c. There is address setting for config file, then write. 

    For reading config file, you can read it instead of write. 

    Thank you. 

    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