Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    Does BMI270-Sensor-API support READ_WRITE_LEN more than 255 ?

    Does BMI270-Sensor-API support READ_WRITE_LEN more than 255 ?

    YahyaTawil
    Established Member

    Hi

    Is there any restrictions from using a READ_WRITE_LEN with length more than uint8_t if the Hardware support that?

    In the library example code, there is a casting:

    /*! Macro that defines read write length */

    #define READ_WRITE_LEN UINT8_C(46)

    While read_write_len feild in bmi2_dev struct is uint16_t, and bmi2_write_config_file function seems ok to have read_write_len with > 255 byte.

     

    Moreover, I found this:

     

    if (dev->read_write_len > (BMI2_CRT_MAX_BURST_WORD_LENGTH * 2))
    {
    dev->read_write_len = BMI2_CRT_MAX_BURST_WORD_LENGTH * 2;
    }

     

     

    4 REPLIES 4

    YahyaTawil
    Established Member

    I noticed that initialization array have weird behavior when I set  READ_WRITE_LEN to UINT16_C(500). It does send some chunks in 500 length, but then it starts sending small chuncks (2 bytes each). This zoomed out waveform gives a hint about that. 

    YahyaTawil_0-1653405029550.png

    I am in a situation where I need to make sending initalization array faster, that is why I have to make READ_WRITE_LEN more than 255 byts.

     

    I think, this make the device in a wronge state as I always get error -7 after the initalization (althoug the the bmi270_init returns BMI2_OK).

    BSTRobin
    Community Moderator
    Community Moderator

    Hi YahyaTawil,

    The maximum read-write length can be greater than 255. In fact, it depends on the length of the interface supported by the host, especially the SPI interface on the host.

    YahyaTawil
    Established Member

    So does it support more than 255 ?

    Again, my hardware support upto 2KB length. 

    BSTRobin
    Community Moderator
    Community Moderator

    Hi YahyaTawil,

    Yes, it support more than 255 bytes.

    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