summaryrefslogtreecommitdiffstats
path: root/libsensors
diff options
context:
space:
mode:
Diffstat (limited to 'libsensors')
-rw-r--r--libsensors/MPLSensor.cpp75
1 files changed, 22 insertions, 53 deletions
diff --git a/libsensors/MPLSensor.cpp b/libsensors/MPLSensor.cpp
index 23c67c7..bbdcf3a 100644
--- a/libsensors/MPLSensor.cpp
+++ b/libsensors/MPLSensor.cpp
@@ -73,26 +73,33 @@ extern "C" {
static struct sensor_t sSensorList[] =
{
{"MPL Gyroscope", "Invensense", 1, SENSORS_GYROSCOPE_HANDLE,
- SENSOR_TYPE_GYROSCOPE, 2000.0f, 1.0f, 0.5f, 10000, 0, 0,
- SENSOR_STRING_TYPE_GYROSCOPE, "", 0, SENSOR_FLAG_CONTINUOUS_MODE, {}},
+ SENSOR_TYPE_GYROSCOPE, GYRO_MPU3050_RANGE, GYRO_MPU3050_RESOLUTION,
+ GYRO_MPU3050_POWER, 10000, 0, 0, SENSOR_STRING_TYPE_GYROSCOPE, "",
+ 0, SENSOR_FLAG_CONTINUOUS_MODE, {}},
{"MPL Accelerometer", "Invensense", 1, SENSORS_ACCELERATION_HANDLE,
- SENSOR_TYPE_ACCELEROMETER, 10240.0f, 1.0f, 0.5f, 10000, 0, 0,
- SENSOR_STRING_TYPE_ACCELEROMETER, "", 0, SENSOR_FLAG_CONTINUOUS_MODE, {}},
+ SENSOR_TYPE_ACCELEROMETER, ACCEL_BMA250_RANGE, ACCEL_BMA250_RESOLUTION,
+ ACCEL_BMA250_POWER, 10000, 0, 0, SENSOR_STRING_TYPE_ACCELEROMETER, "",
+ 0, SENSOR_FLAG_CONTINUOUS_MODE, {}},
{"MPL Magnetic Field", "Invensense", 1, SENSORS_MAGNETIC_FIELD_HANDLE,
- SENSOR_TYPE_MAGNETIC_FIELD, 10240.0f, 1.0f, 0.5f, 10000, 0, 0,
- SENSOR_STRING_TYPE_MAGNETIC_FIELD, "", 0, SENSOR_FLAG_CONTINUOUS_MODE, {}},
+ SENSOR_TYPE_MAGNETIC_FIELD, COMPASS_YAS530_RANGE, COMPASS_YAS530_RESOLUTION,
+ COMPASS_YAS530_POWER, 10000, 0, 0, SENSOR_STRING_TYPE_MAGNETIC_FIELD, "",
+ 0, SENSOR_FLAG_CONTINUOUS_MODE, {}},
{"MPL Orientation", "Invensense", 1, SENSORS_ORIENTATION_HANDLE,
- SENSOR_TYPE_ORIENTATION, 360.0f, 1.0f, 9.7f, 10000, 0, 0,
- SENSOR_STRING_TYPE_ORIENTATION, "", 0, SENSOR_FLAG_CONTINUOUS_MODE, {}},
+ SENSOR_TYPE_ORIENTATION, NINEAXIS_ORIENTATION_RANGE, NINEAXIS_ORIENTATION_RESOLUTION,
+ NINEAXIS_ORIENTATION_POWER, 10000, 0, 0, SENSOR_STRING_TYPE_ORIENTATION, "",
+ 0, SENSOR_FLAG_CONTINUOUS_MODE, {}},
{"MPL Rotation Vector", "Invensense", 1, SENSORS_ROTATION_VECTOR_HANDLE,
- SENSOR_TYPE_ROTATION_VECTOR, 10240.0f, 1.0f, 0.5f, 10000, 0, 0,
- SENSOR_STRING_TYPE_ORIENTATION, "", 0, SENSOR_FLAG_CONTINUOUS_MODE, {}},
+ SENSOR_TYPE_ROTATION_VECTOR, NINEAXIS_ROTATION_VECTOR_RANGE, NINEAXIS_ROTATION_VECTOR_RESOLUTION,
+ NINEAXIS_ROTATION_VECTOR_POWER, 10000, 0, 0, SENSOR_STRING_TYPE_ORIENTATION, "",
+ 0, SENSOR_FLAG_CONTINUOUS_MODE, {}},
{"MPL Linear Acceleration", "Invensense", 1, SENSORS_LINEAR_ACCEL_HANDLE,
- SENSOR_TYPE_LINEAR_ACCELERATION, 10240.0f, 1.0f, 0.5f, 10000, 0, 0,
- SENSOR_STRING_TYPE_LINEAR_ACCELERATION, "", 0, SENSOR_FLAG_CONTINUOUS_MODE, {}},
+ SENSOR_TYPE_LINEAR_ACCELERATION, NINEAXIS_LINEAR_ACCEL_RANGE, NINEAXIS_LINEAR_ACCEL_RESOLUTION,
+ NINEAXIS_LINEAR_ACCEL_POWER, 10000, 0, 0, SENSOR_STRING_TYPE_LINEAR_ACCELERATION, "",
+ 0, SENSOR_FLAG_CONTINUOUS_MODE, {}},
{"MPL Gravity", "Invensense", 1, SENSORS_GRAVITY_HANDLE,
- SENSOR_TYPE_GRAVITY, 10240.0f, 1.0f, 0.5f, 10000, 0, 0,
- SENSOR_STRING_TYPE_GRAVITY, "", 0, SENSOR_FLAG_CONTINUOUS_MODE, {}},
+ SENSOR_TYPE_GRAVITY, NINEAXIS_GRAVITY_RANGE, NINEAXIS_GRAVITY_RESOLUTION,
+ NINEAXIS_GRAVITY_POWER, 10000, 0, 0, SENSOR_STRING_TYPE_GRAVITY, "",
+ 0, SENSOR_FLAG_CONTINUOUS_MODE, {}},
};
static unsigned long long irq_timestamp = 0;
@@ -1048,46 +1055,8 @@ int MPLSensor::populateSensorList(struct sensor_t *list, size_t len)
/* fill in the base values */
memcpy(list, sSensorList, sizeof (struct sensor_t) * 7);
- /* first add gyro, accel and compass to the list */
-
- /* fill in accel values */
- list[Accelerometer].maxRange = ACCEL_BMA250_RANGE;
- list[Accelerometer].resolution = ACCEL_BMA250_RESOLUTION;
- list[Accelerometer].power = ACCEL_BMA250_POWER;
-
- /* fill in compass values */
- list[MagneticField].maxRange = COMPASS_YAS530_RANGE;
- list[MagneticField].resolution = COMPASS_YAS530_RESOLUTION;
- list[MagneticField].power = COMPASS_YAS530_POWER;
-
- /* fill in gyro values */
- list[Gyro].maxRange = GYRO_MPU3050_RANGE;
- list[Gyro].resolution = GYRO_MPU3050_RESOLUTION;
- list[Gyro].power = GYRO_MPU3050_POWER;
-
- if(mNineAxisEnabled)
- {
+ if (mNineAxisEnabled) {
numsensors = 7;
- /* all sensors will be added to the list */
- /* fill in orientation values */
- list[Orientation].maxRange = NINEAXIS_ORIENTATION_RANGE;
- list[Orientation].resolution = NINEAXIS_ORIENTATION_RESOLUTION;
- list[Orientation].power = NINEAXIS_ORIENTATION_POWER;
-
- /* fill in rotation vector values */
- list[RotationVector].maxRange = NINEAXIS_ROTATION_VECTOR_RANGE;
- list[RotationVector].resolution = NINEAXIS_ROTATION_VECTOR_RESOLUTION;
- list[RotationVector].power = NINEAXIS_ROTATION_VECTOR_POWER;
-
- /* fill in gravity values */
- list[Gravity].maxRange = NINEAXIS_GRAVITY_RANGE;
- list[Gravity].resolution = NINEAXIS_GRAVITY_RESOLUTION;
- list[Gravity].power = NINEAXIS_GRAVITY_POWER;
-
- /* fill in Linear accel values */
- list[LinearAccel].maxRange = NINEAXIS_LINEAR_ACCEL_RANGE;
- list[LinearAccel].resolution = NINEAXIS_LINEAR_ACCEL_RESOLUTION;
- list[LinearAccel].power = NINEAXIS_LINEAR_ACCEL_POWER;
} else {
/* no 9-axis sensors, zero fill that part of the list */
numsensors = 3;