diff --git a/bondpy/bondpy/bondpy.py b/bondpy/bondpy/bondpy.py index e7e53cd..7612b0b 100644 --- a/bondpy/bondpy/bondpy.py +++ b/bondpy/bondpy/bondpy.py @@ -37,6 +37,7 @@ import rclpy from rclpy.duration import Duration +from rclpy.exceptions import ParameterAlreadyDeclaredException def duration_to_sec(duration): @@ -184,7 +185,11 @@ def _on_connect_timeout(self): def _on_heartbeat_timeout(self): # Checks that heartbeat timeouts haven't been disabled globally - self.node.declare_parameter(Constants.DISABLE_HEARTBEAT_TIMEOUT_PARAM, False) + try: + if not self.node.has_parameter(Constants.DISABLE_HEARTBEAT_TIMEOUT_PARAM): + self.node.declare_parameter(Constants.DISABLE_HEARTBEAT_TIMEOUT_PARAM, False) + except ParameterAlreadyDeclaredException: + pass disable_heartbeat_timeout = self.node.get_parameter( Constants.DISABLE_HEARTBEAT_TIMEOUT_PARAM).value if disable_heartbeat_timeout: