From 4ba1f966e556a5aa6830ec22df8d860f078ca14f Mon Sep 17 00:00:00 2001 From: JacobCrabill Date: Thu, 24 Jun 2021 17:14:06 -0700 Subject: [PATCH] uavcan_v1: Add update and print support to SubscriptionManager --- src/drivers/uavcan_v1/SubscriptionManager.cpp | 12 +++++++++++- src/drivers/uavcan_v1/SubscriptionManager.hpp | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/drivers/uavcan_v1/SubscriptionManager.cpp b/src/drivers/uavcan_v1/SubscriptionManager.cpp index f4eddd0007..136e08c191 100644 --- a/src/drivers/uavcan_v1/SubscriptionManager.cpp +++ b/src/drivers/uavcan_v1/SubscriptionManager.cpp @@ -88,10 +88,20 @@ void SubscriptionManager::subscribe() void SubscriptionManager::printInfo() { + UavcanDynamicPortSubscriber *dynsub = _dynsubscribers; + while (dynsub != NULL) { + dynsub->printInfo(); + dynsub = dynsub->next(); + } } void SubscriptionManager::updateParams() { - //TODO dynamically update params and unsubscribe + UavcanDynamicPortSubscriber *dynsub = _dynsubscribers; + + while (dynsub != NULL) { + dynsub->updateParam(); + dynsub = dynsub->next(); + } } diff --git a/src/drivers/uavcan_v1/SubscriptionManager.hpp b/src/drivers/uavcan_v1/SubscriptionManager.hpp index 93b33bbc9d..498a8c7c91 100644 --- a/src/drivers/uavcan_v1/SubscriptionManager.hpp +++ b/src/drivers/uavcan_v1/SubscriptionManager.hpp @@ -78,6 +78,7 @@ private: UavcanDynamicPortSubscriber *_dynsubscribers {NULL}; UavcanHeartbeatSubscriber _heartbeat_sub {_canard_instance}; + // GetInfo response UavcanGetInfoResponse _getinfo_rsp {_canard_instance};