MindPX: Remove hardcode for sensors rotation.

This commit is contained in:
Henry Zhang
2016-08-17 15:37:19 +08:00
committed by Lorenz Meier
parent f17dc2f2a6
commit b280e28623
4 changed files with 16 additions and 75 deletions
+14 -13
View File
@@ -184,24 +184,25 @@ fi
if ver hwcmp MINDPX_V2 if ver hwcmp MINDPX_V2
then then
if mpu6500 start
then
fi
if lsm303d start
then
fi
if l3gd20 start
then
fi
# External I2C bus # External I2C bus
if hmc5883 -C -T -X start if hmc5883 -C -T -X start
then then
fi fi
if lis3mdl -R 2 start # Internal I2C bus
if hmc5883 -C -T -I -R 8 start
then
fi
if mpu6500 -R 8 start
then
fi
if lsm303d -R 10 start
then
fi
if l3gd20 -R 14 start
then then
fi fi
fi fi
-12
View File
@@ -1045,18 +1045,6 @@ L3GD20::measure()
report.z_raw = raw_report.z; report.z_raw = raw_report.z;
#if defined(CONFIG_ARCH_BOARD_MINDPX_V2)
int16_t tx = -report.y_raw;
int16_t ty = -report.x_raw;
int16_t tz = -report.z_raw;
report.x_raw = tx;
report.y_raw = ty;
report.z_raw = tz;
#endif
report.temperature_raw = raw_report.temp; report.temperature_raw = raw_report.temp;
float xraw_f = report.x_raw; float xraw_f = report.x_raw;
-22
View File
@@ -1569,18 +1569,8 @@ LSM303D::measure()
* 74 from all measurements centers them around zero. * 74 from all measurements centers them around zero.
*/ */
accel_report.timestamp = hrt_absolute_time(); accel_report.timestamp = hrt_absolute_time();
#if defined(CONFIG_ARCH_BOARD_MINDPX_V2)
int16_t tx = raw_accel_report.y;
int16_t ty = raw_accel_report.x;
int16_t tz = -raw_accel_report.z;
raw_accel_report.x = tx;
raw_accel_report.y = ty;
raw_accel_report.z = tz;
#endif
// use the temperature from the last mag reading // use the temperature from the last mag reading
accel_report.temperature = _last_temperature; accel_report.temperature = _last_temperature;
@@ -1711,20 +1701,8 @@ LSM303D::mag_measure()
* 74 from all measurements centers them around zero. * 74 from all measurements centers them around zero.
*/ */
mag_report.timestamp = hrt_absolute_time(); mag_report.timestamp = hrt_absolute_time();
#if defined(CONFIG_ARCH_BOARD_MINDPX_V2)
int16_t tx = raw_mag_report.y;
int16_t ty = raw_mag_report.x;
int16_t tz = -raw_mag_report.z;
raw_mag_report.x = tx;
raw_mag_report.y = ty;
raw_mag_report.z = tz;
#endif
mag_report.x_raw = raw_mag_report.x; mag_report.x_raw = raw_mag_report.x;
mag_report.y_raw = raw_mag_report.y; mag_report.y_raw = raw_mag_report.y;
mag_report.z_raw = raw_mag_report.z; mag_report.z_raw = raw_mag_report.z;
+2 -28
View File
@@ -1,6 +1,6 @@
/**************************************************************************** /****************************************************************************
* *
* Copyright (c) 2015, 2016 Airmind Development Team. All rights reserved. * Copyright (c) 2015, 2016 PX4 Development Team. All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions * modification, are permitted provided that the following conditions
@@ -1719,9 +1719,6 @@ MPU6500::measure()
report.gyro_z = int16_t_from_bytes(mpu_report.gyro_z); report.gyro_z = int16_t_from_bytes(mpu_report.gyro_z);
if (report.accel_x == 0 && if (report.accel_x == 0 &&
report.accel_y == 0 && report.accel_y == 0 &&
report.accel_z == 0 && report.accel_z == 0 &&
@@ -1749,29 +1746,6 @@ MPU6500::measure()
return; return;
} }
#if defined(CONFIG_ARCH_BOARD_MINDPX_V2)
/*
* Swap axes and negate z
*/
int16_t accel_xt = report.accel_y;
int16_t accel_yt = report.accel_x;
int16_t accel_zt = ((report.accel_z == -32768) ? 32767 : -report.accel_z);
int16_t gyro_xt = report.gyro_y;
int16_t gyro_yt = report.gyro_x;
int16_t gyro_zt = ((report.gyro_z == -32768) ? 32767 : -report.gyro_z);
/*
* Apply the swap
*/
report.accel_x = accel_xt;
report.accel_y = accel_yt;
report.accel_z = accel_zt;
report.gyro_x = gyro_xt;
report.gyro_y = gyro_yt;
report.gyro_z = gyro_zt;
#else
/* /*
* Swap axes and negate y * Swap axes and negate y
*/ */
@@ -1788,7 +1762,7 @@ MPU6500::measure()
report.accel_y = accel_yt; report.accel_y = accel_yt;
report.gyro_x = gyro_xt; report.gyro_x = gyro_xt;
report.gyro_y = gyro_yt; report.gyro_y = gyro_yt;
#endif
/* /*
* Report buffers. * Report buffers.
*/ */