diff options
author | Saadi Maalem <saadi.maalem@intel.com> | 2015-10-16 21:12:30 +0200 |
---|---|---|
committer | Zhengyin Qian <qianzy@google.com> | 2015-10-16 16:37:42 -0700 |
commit | 7a7aa43b0166a2782fe3a4b5ce584e18d8057cbf (patch) | |
tree | bc86bf91805a69d16feb156892423dcfce0f98f1 /libsensors_iio | |
parent | f4cc1330d9a643d9624e2dfd9b4aa9eee31dc95c (diff) | |
download | sensors-7a7aa43b0166a2782fe3a4b5ce584e18d8057cbf.tar.gz |
sensor: scaling gyro data for better accuracy
As a workaround fixing the issue that lsm6ds3 sensor chip measured angle
less than real rotated angle.
Change-Id: I3625511628c7dc1359c7d14dcf619637c8b807b6
Tracked-On: https://jira.ndg.intel.com/browse/MARVIN-925
Signed-off-by: Fei Li <feix.f.li@intel.com>
Diffstat (limited to 'libsensors_iio')
-rw-r--r-- | libsensors_iio/src/Gyroscope.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/libsensors_iio/src/Gyroscope.cpp b/libsensors_iio/src/Gyroscope.cpp index 20ab7b8..55011bc 100644 --- a/libsensors_iio/src/Gyroscope.cpp +++ b/libsensors_iio/src/Gyroscope.cpp @@ -88,6 +88,10 @@ int Gyroscope::SetDelay(int handle, int64_t period_ns, int64_t timeout) void Gyroscope::ProcessData(SensorBaseData *data) { +#define X_SCALING_FACTOR 1 +#define Y_SCALING_FACTOR (360 / 350) +#define Z_SCALING_FACTOR 1 + float tmp_raw_data[num_data_axis]; #ifdef CONFIG_ST_HAL_GYRO_GBIAS_ESTIMATION_ENABLED int64_t time_diff = 0; @@ -131,9 +135,10 @@ void Gyroscope::ProcessData(SensorBaseData *data) data->processed[1] = data->raw[1] - data->offset[1]; data->processed[2] = data->raw[2] - data->offset[2]; - sensor_event.gyro.x = data->processed[0]; - sensor_event.gyro.y = data->processed[1]; - sensor_event.gyro.z = data->processed[2]; + /* FIXME: scaling gyro data for better accuracy */ + sensor_event.gyro.x = data->processed[0] * X_SCALING_FACTOR; + sensor_event.gyro.y = data->processed[1] * Y_SCALING_FACTOR; + sensor_event.gyro.z = data->processed[2] * Z_SCALING_FACTOR; sensor_event.timestamp = data->timestamp; HWSensorBaseWithPollrate::WriteDataToPipe(); |