Files
drawing-robot-ros2/src/axidraw_controller/launch/axidraw_controller.launch.py

48 lines
1.5 KiB
Python

import os
from launch import LaunchDescription
from launch.actions import OpaqueFunction, IncludeLaunchDescription, DeclareLaunchArgument
from launch.launch_description_sources import PythonLaunchDescriptionSource
from launch.substitutions import LaunchConfiguration, PathJoinSubstitution
from launch_ros.substitutions import FindPackageShare
from launch_ros.actions import Node
from ament_index_python import get_package_share_directory
from launch.launch_description_sources import load_python_launch_file_as_module
from launch import LaunchDescription
from launch.actions import RegisterEventHandler, EmitEvent
from launch.event_handlers import OnProcessExit
from launch.events import Shutdown
def launch_setup(context, *args, **kwargs):
serial_port = LaunchConfiguration('serial_port', default='/dev/ttyACM0')
log_level = LaunchConfiguration("log_level", default='warn')
nodes = [
Node(
package="axidraw_controller",
executable="axidraw_controller",
output="log",
arguments=["--ros-args", "--log-level", log_level],
parameters=[
],
),
Node(
package="axidraw_controller",
executable="axidraw_serial.py",
output="log",
arguments=["--ros-args", "--log-level", log_level],
parameters=[
{"serial_port": serial_port},
],
),
]
return nodes
def generate_launch_description():
return LaunchDescription([
OpaqueFunction(function=launch_setup)
])