Skip to main content

通道兼容说明(PCAN + slcan + Damiao 串口桥)

  • Linux SocketCAN 直接使用网卡名:can0can1slcan0
  • 串口类 USB-CAN 需先创建并拉起 slcan0sudo slcand -o -c -s8 /dev/ttyUSB0 slcan0 && sudo ip link set slcan0 up
  • 仅 Damiao 可选串口桥链路:--transport dm-serial --serial-port /dev/ttyACM0 --serial-baud 921600
  • Damiao 串口桥完整接口与命令模板见 motor_cli/README.zh-CN.md3.6 节(英文见 motor_cli/README.md)。
  • Linux SocketCAN 下 --channel 不要带 @bitrate(例如 can0@1000000 无效)。
  • Windows(PCAN 后端)中,can0/can1 映射 PCAN_USBBUS1/2,可选 @bitrate 后缀。
这里是当前 motorbridge 跨语言示例的总入口。
English version: README.md

覆盖范围

  • Rust CLI: motor_cli/src/main.rs
  • C ABI 示例: examples/c/c_abi_demo.c
  • C++ ABI 示例: examples/cpp/cpp_abi_demo.cpp
  • Python ctypes 示例: examples/python/python_ctypes_demo.py
  • 多厂商位置同步脚本: examples/python/four_vendor_pos_sync.py
  • WS 四电机同步上位机: examples/web/ws_quad_sync_hmi.html
  • WS 四路独立滑杆上位机: examples/http_quad_control_demo/README.zh-CN.md
  • Python SDK 示例: bindings/python/examples/*
  • C++ wrapper 示例: bindings/cpp/examples/*
  • Damiao 调参总表:
    • ../motor_cli/DAMIAO_API.md
    • ../motor_cli/DAMIAO_API.zh-CN.md
  • RobStride 参数/API 总表:
    • ../motor_cli/ROBSTRIDE_API.md
    • ../motor_cli/ROBSTRIDE_API.zh-CN.md
  • MyActuator 指令/模式总表:
    • ../motor_cli/MYACTUATOR_API.md
    • ../motor_cli/MYACTUATOR_API.zh-CN.md

示例支持的厂商

  • Damiao:
    • 模式: enabledisablemitpos-velvelforce-pos
    • 寄存器和改 ID 流程仍主要走 CLI、Python SDK 和校准工具
  • RobStride:
    • 模式: pingenabledisablemitvelread-paramwrite-param
    • 参数示例走 RobStride 的 ABI / binding 接口
  • MyActuator:
    • 模式: scanenabledisablestopstatuscurrentvelposversionmode-query
    • CLI 的 pos/vel 输入统一用弧度制(内部会转换到协议角度)

CAN 初始化

Windows 实验支持(PCAN-USB)

项目主线仍以 Linux 为主。Windows 支持为实验性能力,当前通过 PEAK PCAN 后端实现。
  • 安装 PEAK 驱动与 PCAN-Basic 运行时(PCANBasic.dll)。
  • Windows 通道建议使用 can0@1000000
Windows 快速验证命令:

快速开始

Damiao 的 Rust CLI 示例:
RobStride 的 Rust CLI 示例:
RobStride 读参数:
RobStride 示例里的 rs-06 只是演示型号;可替换成你用于限值/日志的 RS 型号。高层控制命令形状保持一致,参数读写使用第 4 章通用运行参数表。 MyActuator 的 Rust CLI 示例:

跨语言 ABI 示例

Python ctypes:
C:
C++:

推荐的高层示例

  • Python SDK:
    • bindings/python/examples/python_wrapper_demo.py
    • bindings/python/examples/robstride_wrapper_demo.py
  • C++ wrapper:
    • bindings/cpp/examples/cpp_wrapper_demo.cpp
    • bindings/cpp/examples/robstride_wrapper_demo.cpp

建议验证顺序

  1. 先做总线全厂商扫描。
  2. 验证 Damiao 控制链路(MIT 或速度)。
  3. 验证 RobStride 控制链路(ping/读参/速度)。
  4. 验证 MyActuator 控制链路(位置或速度)。
  5. 验证 Python binding 示例(Damiao + RobStride)。
  6. 验证 C++ binding 示例(Damiao + RobStride)。
快速命令:

说明

  • id-dump 仍偏 Damiao 工作流;id-set 支持 Damiao 和 RobStride 电机 device ID 修改。统一 scan 已支持 Rust CLI(--vendor all)和 Python SDK CLI(motorbridge.cli scan --vendor all)。
  • RobStride 目前重点覆盖 ping、参数访问、MIT、速度控制。