From 5f5cb3fac63fd0c3536ff60156a5b20fa7925c55 Mon Sep 17 00:00:00 2001 From: Julian Oes Date: Thu, 9 Feb 2023 21:05:44 +1300 Subject: [PATCH] mavlink: add MAV_SIK_RADIO_ID param back in However, this is now without the functionality to reset to factory default. Signed-off-by: Julian Oes --- src/modules/mavlink/mavlink_main.cpp | 9 +++++++++ src/modules/mavlink/mavlink_main.h | 1 + src/modules/mavlink/mavlink_params.c | 12 ++++++++++++ 3 files changed, 22 insertions(+) diff --git a/src/modules/mavlink/mavlink_main.cpp b/src/modules/mavlink/mavlink_main.cpp index e89f857a8b..70a3666f57 100644 --- a/src/modules/mavlink/mavlink_main.cpp +++ b/src/modules/mavlink/mavlink_main.cpp @@ -2299,6 +2299,15 @@ Mavlink::task_main(int argc, char *argv[]) mavlink_update_parameters(); } + if (_param_sik_radio_id.get() != 0) { + const uint8_t ret = configure_sik_radio((uint16_t)_param_sik_radio_id.get()); + + if (ret == vehicle_command_ack_s::VEHICLE_CMD_RESULT_ACCEPTED) { + _param_sik_radio_id.set(0); + _param_sik_radio_id.commit_no_notification(); + } + } + if (_vehicle_status_sub.updated()) { vehicle_status_s vehicle_status; diff --git a/src/modules/mavlink/mavlink_main.h b/src/modules/mavlink/mavlink_main.h index 510f9590ea..608273b406 100644 --- a/src/modules/mavlink/mavlink_main.h +++ b/src/modules/mavlink/mavlink_main.h @@ -668,6 +668,7 @@ private: (ParamInt) _param_mav_sys_id, (ParamInt) _param_mav_comp_id, (ParamInt) _param_mav_proto_ver, + (ParamInt) _param_sik_radio_id, (ParamInt) _param_mav_type, (ParamBool) _param_mav_usehilgps, (ParamBool) _param_mav_fwdextsp, diff --git a/src/modules/mavlink/mavlink_params.c b/src/modules/mavlink/mavlink_params.c index 37be2af012..474ed23acc 100644 --- a/src/modules/mavlink/mavlink_params.c +++ b/src/modules/mavlink/mavlink_params.c @@ -58,6 +58,18 @@ PARAM_DEFINE_INT32(MAV_COMP_ID, 1); */ PARAM_DEFINE_INT32(MAV_PROTO_VER, 0); +/** + * MAVLink SiK Radio ID + * + * When non-zero the MAVLink app will attempt to configure the + * SiK radio to this ID and re-set the parameter to 0. Only applies if this mavlink instance is going through a SiK radio + * + * @group MAVLink + * @min 0 + * @max 240 + */ +PARAM_DEFINE_INT32(MAV_SIK_RADIO_ID, 0); + /** * MAVLink airframe type *