# VESC CAN Health Monitor — SaltyBot dual FSESC 6.7 Pro
# Issue: https://gitea.vayrette.com/seb/saltylab-firmware/issues/651

vesc_health_monitor:
  ros__parameters:
    # SocketCAN interface (must match can-bringup.service / Issue #643)
    can_interface: "can0"

    # VESC CAN IDs (must match vesc_driver / vesc_telemetry nodes)
    left_can_id:   61    # 0x3D — left drive motor
    right_can_id:  79    # 0x4F — right drive motor

    # This node's CAN ID used as sender_id in GET_VALUES recovery requests
    sender_can_id: 127

    # Timeout before recovery sequence begins (s)
    # Frames expected at 20 Hz from vesc_telemetry; alert if > 500 ms gap
    frame_timeout_s: 0.5

    # Timeout before e-stop escalation (s, measured from last good frame)
    estop_timeout_s: 2.0

    # Health publish + watchdog timer rate
    health_rate_hz: 10

    # How often to poll CAN interface for bus-off state (via ip link show)
    bus_off_check_rate_hz: 1
