nmea_udp.launch.py 1.2 KB

123456789101112131415161718192021222324252627
  1. import os
  2. import ament_index_python.packages
  3. import launch
  4. import launch_ros.actions
  5. import yaml
  6. def generate_launch_description():
  7. share_dir = ament_index_python.packages.get_package_share_directory('nmea_ros_bridge')
  8. params_file = os.path.join(share_dir, 'config', 'udp_config.yaml')
  9. with open(params_file, 'r') as f:
  10. params = yaml.safe_load(f)['nmea_udp']['ros__parameters']
  11. nmea_udp = launch_ros.actions.Node(package='nmea_ros_bridge',
  12. executable='nmea_udp',
  13. namespace='navsat',
  14. output='screen',
  15. parameters=[params])
  16. return launch.LaunchDescription([nmea_udp,
  17. launch.actions.RegisterEventHandler(
  18. event_handler=launch.event_handlers.OnProcessExit(
  19. target_action=nmea_udp,
  20. on_exit=[launch.actions.EmitEvent(
  21. event=launch.events.Shutdown())],
  22. )),
  23. ])