From 0871b7974d1929ea10a0d32215366ef512339e3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beat=20K=C3=BCng?= Date: Fri, 17 Sep 2021 11:59:23 +0200 Subject: [PATCH] uavcan_v1: add dynamic mixing support --- src/drivers/uavcan_v1/CMakeLists.txt | 2 ++ src/drivers/uavcan_v1/Uavcan.cpp | 6 +----- src/drivers/uavcan_v1/module.yaml | 11 +++++++++++ 3 files changed, 14 insertions(+), 5 deletions(-) create mode 100644 src/drivers/uavcan_v1/module.yaml diff --git a/src/drivers/uavcan_v1/CMakeLists.txt b/src/drivers/uavcan_v1/CMakeLists.txt index 45b7ee4711..66cde46ad0 100644 --- a/src/drivers/uavcan_v1/CMakeLists.txt +++ b/src/drivers/uavcan_v1/CMakeLists.txt @@ -127,6 +127,8 @@ px4_add_module( o1heap/o1heap.h ${LIBCANARD_DIR}/libcanard/canard.c ${LIBCANARD_DIR}/libcanard/canard.h + MODULE_CONFIG + module.yaml DEPENDS git_libcanard git_public_regulated_data_types diff --git a/src/drivers/uavcan_v1/Uavcan.cpp b/src/drivers/uavcan_v1/Uavcan.cpp index 2001edc373..ce2a27480b 100644 --- a/src/drivers/uavcan_v1/Uavcan.cpp +++ b/src/drivers/uavcan_v1/Uavcan.cpp @@ -115,8 +115,6 @@ UavcanNode::UavcanNode(CanardInterface *interface, uint32_t node_id) : _pub_manager.updateParams(); _sub_manager.subscribe(); - - _mixing_output.mixingOutput().updateSubscriptions(false, false); } UavcanNode::~UavcanNode() @@ -218,8 +216,6 @@ void UavcanNode::Run() _sub_manager.updateParams(); _mixing_output.updateParams(); - - _mixing_output.mixingOutput().updateSubscriptions(false, false); } perf_begin(_cycle_perf); @@ -521,6 +517,6 @@ void UavcanMixingInterface::Run() { pthread_mutex_lock(&_node_mutex); _mixing_output.update(); - _mixing_output.updateSubscriptions(false, false); + _mixing_output.updateSubscriptions(); pthread_mutex_unlock(&_node_mutex); } diff --git a/src/drivers/uavcan_v1/module.yaml b/src/drivers/uavcan_v1/module.yaml new file mode 100644 index 0000000000..6903ed4c18 --- /dev/null +++ b/src/drivers/uavcan_v1/module.yaml @@ -0,0 +1,11 @@ +module_name: UAVCANv1 +actuator_output: + output_groups: + - param_prefix: UCAN1_ESC + channel_label: 'UAVCAN ESC' + standard_params: + min: { min: 0, max: 8191, default: 1 } + max: { min: 0, max: 8191, default: 8191 } + failsafe: { min: 0, max: 8191 } + num_channels: 16 +