48 lines
1.5 KiB
Python
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)
|
|
])
|