From ec33607912b8b73c0252eb0245e27fb994c675e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beat=20K=C3=BCng?= Date: Fri, 3 Mar 2017 17:35:04 +0100 Subject: [PATCH] mc_att_control_main: make sure to initialize at least one gyro sensor in HIL mode, gyros are published after mc_att_control started. --- src/modules/mc_att_control/mc_att_control_main.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/modules/mc_att_control/mc_att_control_main.cpp b/src/modules/mc_att_control/mc_att_control_main.cpp index 3f85467123..f1ac17f16b 100644 --- a/src/modules/mc_att_control/mc_att_control_main.cpp +++ b/src/modules/mc_att_control/mc_att_control_main.cpp @@ -835,7 +835,7 @@ MulticopterAttitudeControl::sensor_correction_poll() } /* update the latest gyro selection */ - if (_sensor_correction.selected_gyro_instance < sizeof(_sensor_gyro_sub) / sizeof(_sensor_gyro_sub[0])) { + if (_sensor_correction.selected_gyro_instance < _gyro_count) { _selected_gyro = _sensor_correction.selected_gyro_instance; } } @@ -1109,6 +1109,10 @@ MulticopterAttitudeControl::task_main() _gyro_count = math::min(orb_group_count(ORB_ID(sensor_gyro)), MAX_GYRO_COUNT); + if (_gyro_count == 0) { + _gyro_count = 1; + } + for (unsigned s = 0; s < _gyro_count; s++) { _sensor_gyro_sub[s] = orb_subscribe_multi(ORB_ID(sensor_gyro), s); }