from setuptools import setup

package_name = "saltybot_bridge"

setup(
    name=package_name,
    version="0.1.0",
    packages=[package_name],
    data_files=[
        ("share/ament_index/resource_index/packages", [f"resource/{package_name}"]),
        (f"share/{package_name}", ["package.xml"]),
        (f"share/{package_name}/launch", [
            "launch/bridge.launch.py",
            "launch/cmd_vel_bridge.launch.py",
            "launch/remote_estop.launch.py",
            "launch/esp32_cmd.launch.py",
            "launch/battery.launch.py",
            "launch/uart_bridge.launch.py",
        ]),
        (f"share/{package_name}/config", [
            "config/bridge_params.yaml",
            "config/cmd_vel_bridge_params.yaml",
            "config/estop_params.yaml",
            "config/esp32_cmd_params.yaml",
            "config/battery_params.yaml",
        ]),
    ],
    install_requires=["setuptools", "pyserial"],
    zip_safe=True,
    maintainer="sl-jetson",
    maintainer_email="sl-jetson@saltylab.local",
<<<<<<< HEAD
    description="ESP32 USB CDC → ROS2 serial bridge for saltybot",
=======
    description="ESP32-S3 USB CDC → ROS2 serial bridge for saltybot",
>>>>>>> 291dd68 (feat: remove all STM32/Mamba/BlackPill references — ESP32-S3 only)
    license="MIT",
    tests_require=["pytest"],
    entry_points={
        "console_scripts": [
            # RX-only telemetry bridge (does not send commands)
            "serial_bridge_node = saltybot_bridge.serial_bridge_node:main",
            # Full bidirectional bridge: telemetry RX + /cmd_vel TX + heartbeat
            "saltybot_cmd_node  = saltybot_bridge.saltybot_cmd_node:main",
            # Nav2 cmd_vel bridge: velocity limits + ramp + deadman + mode gate
            "cmd_vel_bridge_node = saltybot_bridge.cmd_vel_bridge_node:main",
            "remote_estop_node  = saltybot_bridge.remote_estop_node:main",
<<<<<<< HEAD
            # Binary-framed ESP32 BALANCE command node (Issue #119)
            "stm32_cmd_node    = saltybot_bridge.stm32_cmd_node:main",
=======
            # Binary-framed ESP32-S3 command node (Issue #119)
            "esp32_cmd_node    = saltybot_bridge.esp32_cmd_node:main",
>>>>>>> 291dd68 (feat: remove all STM32/Mamba/BlackPill references — ESP32-S3 only)
            # Battery management node (Issue #125)
            "battery_node      = saltybot_bridge.battery_node:main",
            # Production CAN bridge: FC telemetry RX + /cmd_vel TX over CAN (Issues #680, #672, #685)
            "saltybot_can_node = saltybot_bridge.saltybot_can_node:main",
        ],
    },
)
