docs.rs failed to build unitree_sdk2_rs-0.1.1
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build:
unitree_sdk2_rs-0.1.4
unitree_sdk2_rs
Unitree SDK2 的 Rust 封装。
- msg 驱动:从
msgs/*.msg自动生成 Rust 类型(CDR 布局与 C++ 一致) - CDR 序列化:用
cdrcrate,与 Cyclone DDS 逐字节兼容 - 订阅/发布:
subscribe::<T>(topic)/Publisher::<T>泛型 API - RPC:
rpc::RpcClient/rpc::RpcServer
依赖的 SDK
构建时获取 unitree_sdk2 C++ SDK(仓库自带预编译二进制 lib/<arch>/libunitree_sdk2.a,不做 cmake 编译)。来源由环境变量控制:
# ① 直接用本地已有 SDK(不 clone、不编译)
# ② 从 git 仓库克隆(浅克隆到 UNITREE_SDK2_DIR,默认 tmp_sdk2)
# ③ 什么都不设 → 默认 GitHub(https://github.com/unitreerobotics/unitree_sdk2.git)+ tmp_sdk2(有就用、没有就 clone)
优先级:UNITREE_SDK2_PATH > UNITREE_SDK2_URL > 默认 GitHub。
clone 目录统一在 OUT_DIR:URL 模式(含默认 GitHub)的落地目录是
OUT_DIR/tmp_sdk2(构建临时目录,源目录零写入),正常构建与cargo publishverify 行为一致。 注意 OUT_DIR 带构建指纹,build.rs 改动或切换 profile/triple 会重新 clone。 发布时推荐UNITREE_SDK2_PATH=/path/to/unitree_sdk2 cargo publish指向本地 SDK, 避免 verify 依赖网络 clone。
快速开始
use ;
use BmsState;
init_dds;
let = ;
结构
unitree_sdk2_rs/
src/
lib.rs # 库入口:subscribe / Publisher / init_dds / RPC
rpc.rs # RpcClient / RpcServer
gen/ # build.rs 从 msg 生成(gen_types / gen_ffi / gen_topics)
cpp/
dds_bridge.{h,cpp} # Subscriber/Publisher 模板 + CDR 序列化
rpc_bridge.{h,cpp} # RPC 桥
msgs/ # msg 源文件(unitree_hg/unitree_go/unitree_api)
build.rs # msg→Rust/C++ 代码生成 + SDK 获取 + cxx 编译