From f5dea9a1a57f9a5c40996f5b24537d69b59d6210 Mon Sep 17 00:00:00 2001 From: Lorenz Meier Date: Mon, 17 Sep 2012 10:13:15 +0200 Subject: [PATCH] Debugging / fixing attitude aliasing --- .../multirotor_att_control_main.c | 12 ++++++++---- apps/sensors/sensors.cpp | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/apps/multirotor_att_control/multirotor_att_control_main.c b/apps/multirotor_att_control/multirotor_att_control_main.c index 3fb5051748..a9f27197d7 100644 --- a/apps/multirotor_att_control/multirotor_att_control_main.c +++ b/apps/multirotor_att_control/multirotor_att_control_main.c @@ -103,11 +103,15 @@ mc_thread_main(int argc, char *argv[]) int att_setpoint_sub = orb_subscribe(ORB_ID(vehicle_attitude_setpoint)); int state_sub = orb_subscribe(ORB_ID(vehicle_status)); int manual_sub = orb_subscribe(ORB_ID(manual_control_setpoint)); - //int sensor_sub = orb_subscribe(ORB_ID(sensor_combined)); - // int setpoint_sub = orb_subscribe(ORB_ID(ardrone_motors_setpoint)); - /* rate-limit the attitude subscription to 200Hz to pace our loop */ - orb_set_interval(att_sub, 5); + /* + * Do not rate-limit the loop to prevent aliasing + * if rate-limiting would be desired later, the line below would + * enable it. + * + * rate-limit the attitude subscription to 200Hz to pace our loop + * orb_set_interval(att_sub, 5); + */ struct pollfd fds = { .fd = att_sub, .events = POLLIN }; /* publish actuator controls */ diff --git a/apps/sensors/sensors.cpp b/apps/sensors/sensors.cpp index a009ce5190..bd1b7b37da 100644 --- a/apps/sensors/sensors.cpp +++ b/apps/sensors/sensors.cpp @@ -1140,8 +1140,8 @@ Sensors::task_main() raw.timestamp = hrt_absolute_time(); /* copy most recent sensor data */ - accel_poll(raw); gyro_poll(raw); + accel_poll(raw); mag_poll(raw); baro_poll(raw);