diff --git a/src/drivers/uavcan/uavcan_main.cpp b/src/drivers/uavcan/uavcan_main.cpp index cb119d4440..1370db9f5b 100644 --- a/src/drivers/uavcan/uavcan_main.cpp +++ b/src/drivers/uavcan/uavcan_main.cpp @@ -508,6 +508,18 @@ UavcanNode::init(uavcan::NodeID node_id, UAVCAN_DRIVER::BusEvent &bus_events) fill_node_info(); + // log message subscription + int32_t uavcan_sub_log = 1; + param_get(param_find("UAVCAN_SUB_LOG"), &uavcan_sub_log); + + if (uavcan_sub_log != 0) { + ret = _log_message_controller.init(); + + if (ret < 0) { + return ret; + } + } + ret = _beep_controller.init(); if (ret < 0) { @@ -533,12 +545,6 @@ UavcanNode::init(uavcan::NodeID node_id, UAVCAN_DRIVER::BusEvent &bus_events) return ret; } - ret = _log_message_controller.init(); - - if (ret < 0) { - return ret; - } - ret = _rgbled_controller.init(); if (ret < 0) { diff --git a/src/drivers/uavcan/uavcan_params.c b/src/drivers/uavcan/uavcan_params.c index 61d6df4816..2480a70ad2 100644 --- a/src/drivers/uavcan/uavcan_params.c +++ b/src/drivers/uavcan/uavcan_params.c @@ -307,6 +307,18 @@ PARAM_DEFINE_INT32(UAVCAN_SUB_ICE, 0); */ PARAM_DEFINE_INT32(UAVCAN_SUB_IMU, 0); +/** + * subscription log message + * + * Enable UAVCAN log message subscription. + * uavcan::protocol::debug::LogMessage + * + * @boolean + * @reboot_required true + * @group UAVCAN + */ +PARAM_DEFINE_INT32(UAVCAN_SUB_LOG, 1); + /** * subscription magnetometer *