From 3b2b60adde891bf1b75a5744737576ac1731f194 Mon Sep 17 00:00:00 2001 From: Matthias Grob Date: Tue, 9 May 2023 16:53:00 +0200 Subject: [PATCH] ManualControl: put input processing in separate testable function --- src/modules/manual_control/ManualControl.cpp | 16 ++++++++++------ src/modules/manual_control/ManualControl.hpp | 3 +++ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/modules/manual_control/ManualControl.cpp b/src/modules/manual_control/ManualControl.cpp index 8759904290..a48b2dded8 100644 --- a/src/modules/manual_control/ManualControl.cpp +++ b/src/modules/manual_control/ManualControl.cpp @@ -86,7 +86,16 @@ void ManualControl::Run() updateParams(); } - const hrt_abstime now = hrt_absolute_time(); + processInput(hrt_absolute_time()); + + // reschedule timeout + ScheduleDelayed(200_ms); + + perf_end(_loop_perf); +} + +void ManualControl::processInput(hrt_abstime now) +{ _selector.updateValidityOfChosenInput(now); for (int i = 0; i < MAX_MANUAL_INPUT_COUNT; i++) { @@ -267,11 +276,6 @@ void ManualControl::Run() } _last_time = now; - - // reschedule timeout - ScheduleDelayed(200_ms); - - perf_end(_loop_perf); } void ManualControl::updateParams() diff --git a/src/modules/manual_control/ManualControl.hpp b/src/modules/manual_control/ManualControl.hpp index 8859d72f5b..fbe4ecb784 100644 --- a/src/modules/manual_control/ManualControl.hpp +++ b/src/modules/manual_control/ManualControl.hpp @@ -74,6 +74,9 @@ public: int print_status() override; +protected: + void processInput(hrt_abstime now); + private: static constexpr int MAX_MANUAL_INPUT_COUNT = 3;