Bosch Sensortec Community

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

    Is BMA2x2 driver designed to be used in a synchronous way?

    BSTRobin
    Community Moderator

    Re: Is BMA2x2 driver designed to be used in a synchronous way?

    Hello KamWo,

    API is a general and portable interface. The lower hardware driver performs data reading and writing in polling or interrupt mode.

    KamWo
    New Poster

    Re: Is BMA2x2 driver designed to be used in a synchronous way?

    Hello BSTRobin,

    could you give some example with interrupt mode?

    BSTRobin
    Community Moderator

    Re: Is BMA2x2 driver designed to be used in a synchronous way?

    Hello KamWo,

    MCU hardware read-write implementation, need to refer to MCU manufacturers routine.

    HAL_I2C_Master_Transmit_IT()
    HAL_I2C_Master_Receive_IT()

    KamWo
    New Poster

    Re: Is BMA2x2 driver designed to be used in a synchronous way?

    Hello BSTRobin,

    I was asking about an example of using a BMA2x2 driver in an intrrupt mode. Because current usage of BMA2x2_RD_FUNC_PTR assumes synchronous (busy wait) way of reading.

    Methods HAL_I2C_Master_Transmit and HAL_I2C_Master_Receive can be used with the BMA2x2 driver but the MCU will be pooling I2C registers and wait for whole data to be transmited (it will be blocked and during this time it won't be able to do anything else and I want to avoid that). I'm not asking about reading data from I2C in the interrupt mode. I ask about example of using BMA2x2 driver when I read data from I2C in a non blocking way (i.e. using HAL_I2C_Master_Transmit_IT and HAL_I2C_Master_Receive_IT).

    BSTRobin
    Community Moderator

    Re: Is BMA2x2 driver designed to be used in a synchronous way?

    Hello KamWo,

    Got your point. Sensor API is a reference code that contains the process of accessing the sensor and is easy to use.

    If you want to implement other access methods, you can modify it based on the current code.

    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