Bosch Sensortec Community

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

    Development Desktop and BNO055 custom hardware communication

    Development Desktop and BNO055 custom hardware communication

    zmolnar
    Member

    Hi,

    I have a custom board in the following setup: PC <--> #USB <--> FT231 <--> #UART <--> uC <--> #I2C <--> BNO055

    Is there a way to make this board work with Development Desktop? I could implement the needed firmware in the uC to forward the messages, but I couldn't find anything about the details. I'm not even sure, if it is proprietary info or not.

    Could you help me where to start?

    Thank you!

    3 REPLIES 3

    Jet
    Occasional Contributor

    Hi Sir:

       I only can suggest you how to connect because I also don't have any experience.

        Maybe you should consider shuttle_id how to connect.  You can get BNO055 shuttle schematic from the following link:

        https://www.bosch-sensortec.com/products/smart-sensors/bno055.html

       And BNO055 shuttle_id is 000011001, corresponds to AX/AY/AZ/AMUX/CODE4-CODE0.

    jabezwinston
    Established Member

    Yes ! The communucation protocol between Application Board 2.0/BNO USB stick and Development Desktop 2.0 software is proprietary.

    But most protocol details are exposed in COINES software source code. You could make use of them ! 😀

    [Hint : Check coinesAPI/pc/coines.c and  coinesAPI/pc/coines_defs.h ]

    Development Desktop  fetches board information at startup like how coines_get_board_info() would do

    Development  Desktop (PC ) sends  AA  06 02 1F 0A 0D
    You reply from microcontroller UART as AA 0F 01 00 42 1F 00 19 00 34 00 11 03 0A 0D

    The 7 bytes (7 to 13) highlighted in red  are the information bytes

    00 19 - Shuttle ID

    00 34 - Software ID (Firmware version - v3.4)

    00 11 - Hardware ID (Hardware revision - v1.1)

    03 - Application Board 2.0

    Source : BST-COINES-SD001.pdf

     

    int16_t coines_get_board_info(struct coines_board_info *data)
    {
        int16_t rslt;
    
        if (data == NULL)
            return COINES_E_NULL_PTR;
    
        comm_intf_init_command_header(COINES_DD_GET, COINES_CMDID_BOARDINFORMATION);
        rslt = comm_intf_send_command(&coines_rsp_buf);
        if (rslt == COINES_SUCCESS)
        {
            data->shuttle_id = (coines_rsp_buf.buffer[6] << ‌‌ | coines_rsp_buf.buffer[7];
            data->hardware_id = (coines_rsp_buf.buffer[8] << ‌‌ | coines_rsp_buf.buffer[9];
            data->software_id = (coines_rsp_buf.buffer[10] << ‌‌ | coines_rsp_buf.buffer[11];
            data->board = coines_rsp_buf.buffer[12];
        }
    
        return rslt;
    }

     

     
    You can do the same for I2C configure/read/write, SPI configure/read/write by checking the following functions

    • coines_config_i2c_bus
    • coines_write_i2c
    • coines_read_i2c
    • coines_config_spi_bus
    • coines_write_spi
    • coines_read_spi

    Excellent answer! Thanks a lot, I really appreciate that!

    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