diff options
| author | 2023-07-21 21:33:06 +0000 | |
|---|---|---|
| committer | 2023-07-21 21:33:06 +0000 | |
| commit | 5dae10e59e24bb1de01cc61e30e7a7dd3003cb6f (patch) | |
| tree | 870a52abb18412e35a774be8e213d9880dddb2b4 | |
| parent | f320f1d9127102d83e88d0591f7c54a588ecdb5a (diff) | |
| parent | dc176d9931b37be327c1091744e4cb6b51b50245 (diff) | |
Merge "Make maximum sensor fusion rate tunable." into main am: dc176d9931
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2668025
Change-Id: Ia26151b0c9ce45c759b0c927956d17e887f11461
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | services/sensorservice/SensorFusion.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/services/sensorservice/SensorFusion.cpp b/services/sensorservice/SensorFusion.cpp index e27b52b23e..5c00260008 100644 --- a/services/sensorservice/SensorFusion.cpp +++ b/services/sensorservice/SensorFusion.cpp @@ -19,6 +19,7 @@ #include "SensorService.h" #include <android/util/ProtoOutputStream.h> +#include <cutils/properties.h> #include <frameworks/base/core/proto/android/service/sensor_service.proto.h> namespace android { @@ -60,10 +61,12 @@ SensorFusion::SensorFusion() mGyro = uncalibratedGyro; } - // 200 Hz for gyro events is a good compromise between precision - // and power/cpu usage. - mEstimatedGyroRate = 200; - mTargetDelayNs = 1000000000LL/mEstimatedGyroRate; + // Wearable devices will want to tune this parameter + // to 100 (Hz) in device.mk to save some power. + int32_t value = property_get_int32( + "sensors.aosp_low_power_sensor_fusion.maximum_rate", 200); + mEstimatedGyroRate = static_cast<float>(value); + mTargetDelayNs = 1000000000LL / mEstimatedGyroRate; for (int i = 0; i<NUM_FUSION_MODE; ++i) { mFusions[i].init(i); |