From fa8def903dbc9b06f5d8a88dd03b5dfaa6039af7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beat=20K=C3=BCng?= Date: Tue, 19 May 2020 10:37:57 +0200 Subject: [PATCH] mavlink: move ulog handling after stream updates reduces latency for the mavlink streams --- src/modules/mavlink/mavlink_main.cpp | 40 ++++++++++++++-------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/src/modules/mavlink/mavlink_main.cpp b/src/modules/mavlink/mavlink_main.cpp index aad9e1ff64..0458cdaa3c 100644 --- a/src/modules/mavlink/mavlink_main.cpp +++ b/src/modules/mavlink/mavlink_main.cpp @@ -2341,6 +2341,26 @@ Mavlink::task_main(int argc, char *argv[]) } } + check_requested_subscriptions(); + + /* update streams */ + for (const auto &stream : _streams) { + stream->update(t); + + if (!_first_heartbeat_sent) { + if (_mode == MAVLINK_MODE_IRIDIUM) { + if (stream->get_id() == MAVLINK_MSG_ID_HIGH_LATENCY2) { + _first_heartbeat_sent = stream->first_message_sent(); + } + + } else { + if (stream->get_id() == MAVLINK_MSG_ID_HEARTBEAT) { + _first_heartbeat_sent = stream->first_message_sent(); + } + } + } + } + /* check for ulog streaming messages */ if (_mavlink_ulog) { if (_mavlink_ulog_stop_requested) { @@ -2366,26 +2386,6 @@ Mavlink::task_main(int argc, char *argv[]) } } - check_requested_subscriptions(); - - /* update streams */ - for (const auto &stream : _streams) { - stream->update(t); - - if (!_first_heartbeat_sent) { - if (_mode == MAVLINK_MODE_IRIDIUM) { - if (stream->get_id() == MAVLINK_MSG_ID_HIGH_LATENCY2) { - _first_heartbeat_sent = stream->first_message_sent(); - } - - } else { - if (stream->get_id() == MAVLINK_MSG_ID_HEARTBEAT) { - _first_heartbeat_sent = stream->first_message_sent(); - } - } - } - } - /* pass messages from other UARTs */ if (_forwarding_on) {