Bosch Sensortec Community

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

    BNO055_Read Accelerometer,Magnetometer,Gyroscope data on UART

    BNO055_Read Accelerometer,Magnetometer,Gyroscope data on UART

    Arunraj
    Member

    Hi,

    I am using BNO055 for reading the yaw,pitch and roll values. How do i read this orientation using UART protocol. I went through the datasheet,seems like we need to send a register read command mentioning the register address and length of data. I am trying the same but not able to read data. Do i need to set the protocol selection to UART first? Is there any precondition to be followed for reading values from register. Am i missing something here.

    Is there any API or LabVIEW drivers available?

    Please guide me through, any quick help would be highly appreciated.

    14 REPLIES 14

    Vincent
    Community Moderator
    Community Moderator

    I think you make some misunderstanding here. 

    Since you are using our BNO USB stick board, this means there is one MCU between host and BNO055.  

    YOUR HOST IS NEVER TALKING TO BNO055 DIRECTLY ON THIS BOARD.

    Unless you broken the board connection and using flying wire to connect BNO pin directly to host.

    And the MCU on this board is talking to BNO055 via I2C interface only. 

    The page 1 is the register map of BNO055.   So you can communicate with BNO055 to write its register to set to page 0 or page 1.

    Just use burst read function provided in dll,  you can get all sensor data desired.  then you can parse them afterwards.

    Thanks Vincent. Now able to do burst read to read the Euler angles,Calibration data and parse them later.

    I am callling a function and checking for error code afterwards for each function called.

    I am facing an issue with error handling when the USB stick is removed/unplugged. I observe that the whole application crashes, the desktop development also reacts kind of same.A pop up is thrown to user asking to restart the application manually and when Ok is pressed,application closes down.

    I wanted to know how this is being handled in the API function level, Since i am integrating this sensor as part of an overall monitoring system i cant let the application close when this USB stick is unplugged.Is there any interuppt being called by the MCU FW? 

    Please guide me on how to tackle this situation and handle this error in such a way that the application can pop an error and wait till the USB is plugged again may be for timeout period specified.

    Vincent
    Community Moderator
    Community Moderator

    Development Desktop SW is an evaluation SW for our sensor,  it is not intend to be used to integrated into any customer product. 

    In our HW and SW setup,  the USB stick is power on via USB,  if you unplug the the sensor,  the board have no power any more,  the development desktop will also close all window related to that sensor.  Until next time sensor is plug in,  the SW will go through all initialize steps and send initialize command to sensor. 

    There is no such interrupt you expected in current system structure.

    I'm sorry for that.

    I am sorry I did not elaborate properly. What i meant by application is our LABVIEW application which communicates to the USB stick via the generic API's available. I am not integrating the DD2.0 in my monitoring environment,its just used as a reference for evaluation purpose.

    I wanted to know how the Development Desktop 2.0 software know when the USB is unplugged.Is the FW in the MCU monitoring the power line of USB continuously?

    And is there any way i can know this via any functions available in Generic API's , and is there any way of configuring the system from my LABVIEW application such that it does not kill my application using the Generic API's or by any other method?

    I want to handle my LABVIEW application in a way may be a error display in the UI without killing the application, i am not sure how my application gets killed. Is the MCU FW handling this ? 

    Vincent
    Community Moderator
    Community Moderator

    According to the feedback from our engineer team:

    The disconnected information is NOT provided to the user in current API setup.  

    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