diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2013-07-18 14:24:32 +0200 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2013-07-18 14:24:32 +0200 |
commit | a5c8d8c5f20584f32acaa03e69681a13799fff6d (patch) | |
tree | 076993960e8e1c511ee974ceaaeabee45ee9fb15 /src/modules/commander | |
parent | 8d1abf4aa441e1c6c886e8af6ecaab2c3ca6e255 (diff) | |
download | px4-firmware-a5c8d8c5f20584f32acaa03e69681a13799fff6d.tar.gz px4-firmware-a5c8d8c5f20584f32acaa03e69681a13799fff6d.tar.bz2 px4-firmware-a5c8d8c5f20584f32acaa03e69681a13799fff6d.zip |
Robustified accel cal
Diffstat (limited to 'src/modules/commander')
-rw-r--r-- | src/modules/commander/accelerometer_calibration.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/modules/commander/accelerometer_calibration.c b/src/modules/commander/accelerometer_calibration.c index 48a36ac26..dc653a079 100644 --- a/src/modules/commander/accelerometer_calibration.c +++ b/src/modules/commander/accelerometer_calibration.c @@ -283,6 +283,9 @@ int detect_orientation(int mavlink_fd, int sub_sensor_combined) { hrt_abstime t = t_start; hrt_abstime t_prev = t_start; hrt_abstime t_still = 0; + + unsigned poll_errcount = 0; + while (true) { /* wait blocking for new data */ int poll_ret = poll(fds, 1, 1000); @@ -327,12 +330,14 @@ int detect_orientation(int mavlink_fd, int sub_sensor_combined) { } } } else if (poll_ret == 0) { - /* any poll failure for 1s is a reason to abort */ - mavlink_log_info(mavlink_fd, "ERROR: poll failure"); - return -3; + poll_errcount++; } if (t > t_timeout) { - mavlink_log_info(mavlink_fd, "ERROR: timeout"); + poll_errcount++; + } + + if (poll_errcount > 1000) { + mavlink_log_info(mavlink_fd, "ERROR: failed reading accel"); return -1; } } |