<<<<<<< HEAD:jetson/ros2_ws/src/saltybot_bridge/launch/stm32_cmd.launch.py
"""stm32_cmd.launch.py — Launch the ESP32-S3 IO auxiliary bridge node.

Connects to ESP32-S3 IO board via USB-CDC @ 460800 baud (inter-board protocol).
Handles RC monitoring, sensor data, LED/output commands.
Primary drive path uses CAN (can_bridge_node / saltybot_can_node), not this node.

Spec: docs/SAUL-TEE-SYSTEM-REFERENCE.md §5

Usage:
  ros2 launch saltybot_bridge stm32_cmd.launch.py
  ros2 launch saltybot_bridge stm32_cmd.launch.py serial_port:=/dev/ttyACM0
=======
"""esp32_cmd.launch.py — Launch the binary-framed ESP32-S3 command node (Issue #119).

Usage:
  # Default (binary protocol, bidirectional):
  ros2 launch saltybot_bridge esp32_cmd.launch.py

  # Override serial port:
  ros2 launch saltybot_bridge esp32_cmd.launch.py serial_port:=/dev/ttyACM1

  # Custom velocity scales:
  ros2 launch saltybot_bridge esp32_cmd.launch.py speed_scale:=800.0 steer_scale:=-400.0
>>>>>>> 291dd68 (feat: remove all STM32/Mamba/BlackPill references — ESP32-S3 only):jetson/ros2_ws/src/saltybot_bridge/launch/esp32_cmd.launch.py
"""

import os
from ament_index_python.packages import get_package_share_directory
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:
    pkg = get_package_share_directory("saltybot_bridge")
    params_file = os.path.join(pkg, "config", "esp32_cmd_params.yaml")

    return LaunchDescription([
        DeclareLaunchArgument("serial_port",     default_value="/dev/esp32-io"),
        DeclareLaunchArgument("baud_rate",        default_value="460800"),
        DeclareLaunchArgument("heartbeat_period", default_value="0.2"),

        Node(
            package="saltybot_bridge",
            executable="esp32_cmd_node",
            name="esp32_cmd_node",
            output="screen",
            emulate_tty=True,
            parameters=[
                params_file,
                {
                    "serial_port":      LaunchConfiguration("serial_port"),
                    "baud_rate":        LaunchConfiguration("baud_rate"),
                    "heartbeat_period": LaunchConfiguration("heartbeat_period"),
                },
            ],
        ),
    ])
