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};