I am designing a wearable device and want to detect when there is "some" motion. The device is worn by someone laying down face-up. I do not want to detect "breathing" (so "any-motion" (0x50) won't work since that is too sensitive), but if there was a pizza box laying on a person's stomach while lying down and the person moves such that the pizza box would fall off the person, I would want to know. In other words, if the device is no longer "flat". I am working with code from https://github.com/BoschSensortec/BMI160_driver I am confused as to which interrupt to look at. Should I looking at "upside" (0x65-0x66)? or at INT_MOTION (0x5f-0x62)?Or should I just be reading the X/Y/Z accell numbers with bmi160_get_sensor_data(BMI160_ACCEL_SEL, &accel, NULL, &motionSensor); // from the MBI160_driver code. Must I enable 0x50 to get INT_motion? and is INT in 0x62 exclussive to the 0x50? This spec is confusing to me. Just reading accel numbers does not seem like it would do the trick. Ideally, I want to set a threshold in the X/Y/Z orientation (not accel). SOmething like int_slo_no_mot_th but for gyro, not accel. Are there application engineers I can hire to help resolve this in a timely manner? ANY help / pointers would be appreciated. Thanks, -Edouard
... View more