36 lines
1.1 KiB
Python
36 lines
1.1 KiB
Python
from launch import LaunchDescription
|
|
from launch.actions import DeclareLaunchArgument
|
|
from launch.substitutions import LaunchConfiguration
|
|
from launch_ros.actions import Node
|
|
|
|
|
|
def generate_launch_description() -> LaunchDescription:
|
|
# Optional node name override from launch argument
|
|
node_name_arg = DeclareLaunchArgument(
|
|
'node_name', default_value='ctrlgui_node',
|
|
description='Name of the ctrlgui node')
|
|
host_arg = DeclareLaunchArgument(
|
|
'host', default_value='0.0.0.0',
|
|
description='Host interface for NiceGUI')
|
|
port_arg = DeclareLaunchArgument(
|
|
'port', default_value='8080',
|
|
description='TCP port for NiceGUI')
|
|
|
|
ld = LaunchDescription([node_name_arg, host_arg, port_arg])
|
|
|
|
ctrlgui_node = Node(
|
|
package='ctrlgui',
|
|
executable='ctrlgui_node',
|
|
name=LaunchConfiguration('node_name'),
|
|
output='screen',
|
|
emulate_tty=True,
|
|
parameters=[],
|
|
env={
|
|
'HOST': LaunchConfiguration('host'),
|
|
'PORT': LaunchConfiguration('port'),
|
|
},
|
|
)
|
|
|
|
ld.add_action(ctrlgui_node)
|
|
return ld
|