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>
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 @@
 
 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 @@
 	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();