nmea_serial.launch.py 1.1 KB

12345678910111213141516171819202122232425
  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', 'serial_config.yaml')
  9. with open(params_file, 'r') as f:
  10. params = yaml.safe_load(f)['nmea_serial']['ros__parameters']
  11. nmea_serial = launch_ros.actions.Node(package='nmea_ros_bridge',
  12. executable='nmea_serial',
  13. output='screen',
  14. parameters=[params])
  15. return launch.LaunchDescription([nmea_serial,
  16. launch.actions.RegisterEventHandler(
  17. event_handler=launch.event_handlers.OnProcessExit(
  18. target_action=nmea_serial,
  19. on_exit=[launch.actions.EmitEvent(
  20. event=launch.events.Shutdown())],
  21. )),
  22. ])