From 7abce87ae4f7469516a4dd8c3cbe6123038eac52 Mon Sep 17 00:00:00 2001 From: TSC21 Date: Mon, 1 Mar 2021 09:31:59 +0100 Subject: [PATCH] commander: add COM_OBC_LOSS_T for setting onboard computer loss time-out --- src/modules/commander/Commander.cpp | 4 ++-- src/modules/commander/Commander.hpp | 2 ++ src/modules/commander/commander_params.c | 11 +++++++++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/modules/commander/Commander.cpp b/src/modules/commander/Commander.cpp index 0352ab8c61..c9682e389c 100644 --- a/src/modules/commander/Commander.cpp +++ b/src/modules/commander/Commander.cpp @@ -3510,9 +3510,9 @@ void Commander::data_link_check() } } - // ONBOARD CONTROLLER data link loss failsafe (hard coded 5 seconds) + // ONBOARD CONTROLLER data link loss failsafe if ((_datalink_last_heartbeat_onboard_controller > 0) - && (hrt_elapsed_time(&_datalink_last_heartbeat_onboard_controller) > 5_s) + && (hrt_elapsed_time(&_datalink_last_heartbeat_onboard_controller) > (_param_com_obc_loss_t.get() * 1_s)) && !_onboard_controller_lost) { mavlink_log_critical(&_mavlink_log_pub, "Connection to mission computer lost"); diff --git a/src/modules/commander/Commander.hpp b/src/modules/commander/Commander.hpp index 502c246238..4124630719 100644 --- a/src/modules/commander/Commander.hpp +++ b/src/modules/commander/Commander.hpp @@ -219,6 +219,8 @@ private: (ParamInt) _param_com_flt_profile, + (ParamFloat) _param_com_obc_loss_t, + // Offboard (ParamFloat) _param_com_of_loss_t, (ParamInt) _param_com_obl_act, diff --git a/src/modules/commander/commander_params.c b/src/modules/commander/commander_params.c index 9965946bbc..4eb29082a9 100644 --- a/src/modules/commander/commander_params.c +++ b/src/modules/commander/commander_params.c @@ -388,6 +388,17 @@ PARAM_DEFINE_INT32(COM_OBL_ACT, 0); */ PARAM_DEFINE_INT32(COM_OBL_RC_ACT, 0); +/** + * Time-out to wait when onboard computer connection is lost before warning about loss connection. + * + * @group Commander + * @unit s + * @min 0 + * @max 60 + * @increment 0.01 + */ +PARAM_DEFINE_FLOAT(COM_OBC_LOSS_T, 5.0f); + /** * First flightmode slot (1000-1160) *