diff --git a/gpio_controllers/package.xml b/gpio_controllers/package.xml
index 9b98746545..c8c60fe522 100644
--- a/gpio_controllers/package.xml
+++ b/gpio_controllers/package.xml
@@ -4,10 +4,21 @@
gpio_controllers
4.15.0
Controllers to interact with gpios.
- Maciej Bednarczyk
- Wiktor Bajor
+
+ Bence Magyar
+ Denis Štogl
+ Christoph Froehlich
+ Sai Kishor Kothakota
+
Apache License 2.0
+ https://control.ros.org
+ https://github.com/ros-controls/ros2_controllers/issues
+ https://github.com/ros-controls/ros2_controllers/
+
+ Maciej Bednarczyk
+ Wiktor Bajor
+
ament_cmake
controller_interface
@@ -22,6 +33,7 @@
ament_cmake_gmock
controller_manager
+ hardware_interface_testing
ros2_control_test_assets
diff --git a/ros2_controllers_test_nodes/ros2_controllers_test_nodes/publisher_forward_position_controller.py b/ros2_controllers_test_nodes/ros2_controllers_test_nodes/publisher_forward_position_controller.py
index 51582a90d4..27fb4535df 100644
--- a/ros2_controllers_test_nodes/ros2_controllers_test_nodes/publisher_forward_position_controller.py
+++ b/ros2_controllers_test_nodes/ros2_controllers_test_nodes/publisher_forward_position_controller.py
@@ -70,14 +70,10 @@ def main(args=None):
try:
rclpy.spin(publisher_forward_position)
- except KeyboardInterrupt:
+ except (KeyboardInterrupt, rclpy.executors.ExternalShutdownException):
print("Keyboard interrupt received. Shutting down node.")
except Exception as e:
print(f"Unhandled exception: {e}")
- finally:
- if rclpy.ok():
- publisher_forward_position.destroy_node()
- rclpy.shutdown()
if __name__ == "__main__":
diff --git a/ros2_controllers_test_nodes/ros2_controllers_test_nodes/publisher_joint_trajectory_controller.py b/ros2_controllers_test_nodes/ros2_controllers_test_nodes/publisher_joint_trajectory_controller.py
index 91d39855aa..cf38890407 100644
--- a/ros2_controllers_test_nodes/ros2_controllers_test_nodes/publisher_joint_trajectory_controller.py
+++ b/ros2_controllers_test_nodes/ros2_controllers_test_nodes/publisher_joint_trajectory_controller.py
@@ -186,14 +186,10 @@ def main(args=None):
try:
rclpy.spin(publisher_joint_trajectory)
- except KeyboardInterrupt:
+ except (KeyboardInterrupt, rclpy.executors.ExternalShutdownException):
print("Keyboard interrupt received. Shutting down node.")
except Exception as e:
print(f"Unhandled exception: {e}")
- finally:
- if rclpy.ok():
- publisher_joint_trajectory.destroy_node()
- rclpy.shutdown()
if __name__ == "__main__":