Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 
    SOLVED

    BMI088 and BMM150 Example Programs for ARM Ubuntu 18

    Highlighted
    New Poster

    BMI088 and BMM150 Example Programs for ARM Ubuntu 18

    Hi, does anyone have an example program integrating either of the below github repos that would work for ARM Ubuntu 18 (I’m using a NVIDIA Jetson TX2)? We’re currently trying to evaluate the BMI088 and BMM150 chips for a project, and I have a couple test programs that are currently able to somewhat communicate with the chips on their shuttle boards via I2C but I’m having issues using the functions i2c_smbus_read_block_data (Segmentation fault) and i2c_smbus_write_block_data (Error writing: Remote I/O error) in my user defined read / write functions. I’m happy to provide more info like pinout, source code, etc. but any working example program would most likely help me out tremendously. Thanks in advance!

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

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

    Tags (4)
    2 REPLIES 2
    Community Moderator

    Re: BMI088 and BMM150 Example Programs for ARM Ubuntu 18

    From the issue description of  "i2c_smbus_read_block_data (Segmentation fault) and i2c_smbus_write_block_data (Error writing: Remote I/O error) in my user defined read / write functions".

    It is not an issue related to the sensor type.  we recommend you  take more careful about the usage of" i2c_smbus_read_block_data and i2c_smbus_write_block_data"

    We have one example sensor driver to  use "i2c_smbus_read_block_data (Segmentation fault) and i2c_smbus_write_block_data" below. You can see the example for this two functions.

    https://github.com/torvalds/linux/blob/master/drivers/input/misc/bma150.c

    New Poster

    Re: BMI088 and BMM150 Example Programs for ARM Ubuntu 18

    Thank you so much for this example - it was extremely helpful! I ended up switching from "i2c_smbus_read_block_data" to "i2c_smbus_read_i2c_block_data" and now I am able to read what appears to be live data from both chips.

    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