Files
hivecore_robot_ctrl_gui/launch/ctrlgui.launch.py
2025-10-23 17:42:21 +08:00

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