import os import ament_index_python.packages import launch import launch_ros.actions import yaml def generate_launch_description(): share_dir = ament_index_python.packages.get_package_share_directory('nmea_ros_bridge') params_file = os.path.join(share_dir, 'config', 'serial_config.yaml') with open(params_file, 'r') as f: params = yaml.safe_load(f)['nmea_serial']['ros__parameters'] nmea_serial = launch_ros.actions.Node(package='nmea_ros_bridge', executable='nmea_serial', output='screen', parameters=[params]) return launch.LaunchDescription([nmea_serial, launch.actions.RegisterEventHandler( event_handler=launch.event_handlers.OnProcessExit( target_action=nmea_serial, on_exit=[launch.actions.EmitEvent( event=launch.events.Shutdown())], )), ])