aboutsummaryrefslogtreecommitdiff
path: root/apps/commander/accelerometer_calibration.c
diff options
context:
space:
mode:
authorAnton Babushkin <anton.babushkin@me.com>2013-05-06 18:21:56 +0400
committerAnton Babushkin <anton.babushkin@me.com>2013-05-06 18:21:56 +0400
commit41ec41cf8cc16309cf6f7e949d3ddad78e5f44a2 (patch)
treebdc7b8d91997fc534dae10eb72f7083dfc945274 /apps/commander/accelerometer_calibration.c
parent1733fce3df71ae3d49d53ff4f62583a8db78f38b (diff)
downloadpx4-firmware-41ec41cf8cc16309cf6f7e949d3ddad78e5f44a2.tar.gz
px4-firmware-41ec41cf8cc16309cf6f7e949d3ddad78e5f44a2.tar.bz2
px4-firmware-41ec41cf8cc16309cf6f7e949d3ddad78e5f44a2.zip
Accelerometer calibration bugfix
Diffstat (limited to 'apps/commander/accelerometer_calibration.c')
-rw-r--r--apps/commander/accelerometer_calibration.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/apps/commander/accelerometer_calibration.c b/apps/commander/accelerometer_calibration.c
index 991145d73..d79dd93dd 100644
--- a/apps/commander/accelerometer_calibration.c
+++ b/apps/commander/accelerometer_calibration.c
@@ -232,7 +232,6 @@ int detect_orientation(int mavlink_fd, int sub_sensor_combined) {
float accel_ema[3] = { 0.0f, 0.0f, 0.0f };
/* max-hold dispersion of accel */
float accel_disp[3] = { 0.0f, 0.0f, 0.0f };
- float accel_len2 = 0.0f;
/* EMA time constant in seconds*/
float ema_len = 0.2f;
/* set "still" threshold to 0.1 m/s^2 */
@@ -304,30 +303,29 @@ int detect_orientation(int mavlink_fd, int sub_sensor_combined) {
}
}
- float accel_len = sqrt(accel_len2);
- if ( fabs(accel_ema[0] - accel_len) < accel_err_thr &&
+ if ( fabs(accel_ema[0] - CONSTANTS_ONE_G) < accel_err_thr &&
fabs(accel_ema[1]) < accel_err_thr &&
fabs(accel_ema[2]) < accel_err_thr )
return 0; // [ g, 0, 0 ]
- if ( fabs(accel_ema[0] + accel_len) < accel_err_thr &&
+ if ( fabs(accel_ema[0] + CONSTANTS_ONE_G) < accel_err_thr &&
fabs(accel_ema[1]) < accel_err_thr &&
fabs(accel_ema[2]) < accel_err_thr )
return 1; // [ -g, 0, 0 ]
if ( fabs(accel_ema[0]) < accel_err_thr &&
- fabs(accel_ema[1] - accel_len) < accel_err_thr &&
+ fabs(accel_ema[1] - CONSTANTS_ONE_G) < accel_err_thr &&
fabs(accel_ema[2]) < accel_err_thr )
return 2; // [ 0, g, 0 ]
if ( fabs(accel_ema[0]) < accel_err_thr &&
- fabs(accel_ema[1] + accel_len) < accel_err_thr &&
+ fabs(accel_ema[1] + CONSTANTS_ONE_G) < accel_err_thr &&
fabs(accel_ema[2]) < accel_err_thr )
return 3; // [ 0, -g, 0 ]
if ( fabs(accel_ema[0]) < accel_err_thr &&
fabs(accel_ema[1]) < accel_err_thr &&
- fabs(accel_ema[2] - accel_len) < accel_err_thr )
+ fabs(accel_ema[2] - CONSTANTS_ONE_G) < accel_err_thr )
return 4; // [ 0, 0, g ]
if ( fabs(accel_ema[0]) < accel_err_thr &&
fabs(accel_ema[1]) < accel_err_thr &&
- fabs(accel_ema[2] + accel_len) < accel_err_thr )
+ fabs(accel_ema[2] + CONSTANTS_ONE_G) < accel_err_thr )
return 5; // [ 0, 0, -g ]
mavlink_log_info(mavlink_fd, "ERROR: invalid orientation");