Hi, @Minhwan: Thanks for prompt reply! Please allow me to share my findings first. I digged more caerfully into documentation. There is indeed ODR restriction implied by performance mode settings. According to documentation (BST-MAS-AN032-00, Revision_1.0_082019), page 5 Accelerometer operation mode Performance mode (ACC_CONF.acc_perf_mode is 0b1): ODR and Bandwidth values are ignored. Duty-cycling mode (ACC_CONF.acc_perf_mode is 0b0): The user ODR shall be >= 50Hz when single-/double-tap is disabled The user ODR shall be >= 200Hz when single-/double-tap is enabled It describes single-/double-tap requirements, but I've found no clue of no-motion/any-motion requirements. Moreover, there are some ODR related status flags in INTERNAL_STATUS (0x2A). Playing around with various settings I observe the error bits set or cleared. However my outcome is, that generation of no-motion/any-motion interrupts depends on ODR settings only. Whatever mode (performance or duty-cycle), bandwidth I tried, the only ODR makes the difference. Status flags of INTERNAL_STATUS register are irrelevent too. @Minhwan wrote: Hello, One thing I'd like to mention that the ODR range for performance is from 12.5 to 1600, and the ODR range for low power mode is from 0.78 to 400. No motion and any motion should work in low power mode as well, but you should consider how it works. Regarding any motion, the idea is if the data is over the threshold and it keeps over duration, any motion interrupt is generated. No motion is vice versa. If ODR is slow, it takes longer time for duration therefore you have to modify duration value. If you are using github API, you can check in bma456h_feature_enable. BMI270 datasheet has detailed information about anymotion and nomotion. https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bmi270-ds000.pdf Please let me know if you have any quesitons. Thanks, If ODR is slow, it takes longer time for duration therefore you have to modify duration value. I am not so sure about that. Documentation states that duration is expressed in 20 ms (1/50 Hz⁻1) units. Besides that, I waited for minutes for an interrupt. It did not occur. BST-MAS-AN032-00, Revision_1.0_082019, page 54 FEATURES_IN, defintion of any-motion duration field Defines the number of consecutive data points for which the threshold condition must be respected, for interrupt assertion. It is expressed in in 50 Hz samples (20 ms). Range is 0 to 163sec. Default value is 5=100ms. If you are using github API, you can check in bma456h_feature_enable. Yes, I do use the driver v2.12.8. There is bma456_feature_enable API function. But in order to enable any-motion/no-motion feature one must use bma456_set_any_mot_config/bma456_set_no_mot_config rather than using bma456_feature_enable. Since it controls wearible features (e.g. counter, activity and so) only.
... View more