Skip to content

Commit 669eee4

Browse files
committed
docs: update docs
1 parent 21356a6 commit 669eee4

File tree

7 files changed

+146
-17
lines changed

7 files changed

+146
-17
lines changed

README.md

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ LinkerHand-CPP-SDK 是由灵心巧手(北京)科技有限公司开发的官
4242
- **操作系统**: Linux (Ubuntu 18.04+ 推荐)
4343
- **架构**: x86_64 或 aarch64
4444
- **编译器**: GCC 7.0+ 或 Clang 5.0+
45-
- **CMake**: 3.11+
45+
- **CMake**: 3.15+
4646
- **依赖**: pthread
4747

4848
## 🚀 快速开始
@@ -98,8 +98,8 @@ int main() {
9898
创建 `CMakeLists.txt`:
9999

100100
```cmake
101-
cmake_minimum_required(VERSION 3.5)
102-
project(MyProject)
101+
cmake_minimum_required(VERSION 3.15)
102+
project(LinkerHand-CPP-SDK)
103103
104104
# 检测系统架构
105105
if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
@@ -305,13 +305,23 @@ ctest --output-on-failure
305305
SDK 支持以下通信协议:
306306

307307
- **CAN** (`COMM_CAN_0`, `COMM_CAN_1`) - CAN 总线通信
308-
308+
- **ModBus** (`COMM_MODBUS`) - ModBus 通信协议
309+
- **EtherCAT** (`COMM_ETHERCAT`) - EtherCAT 工业以太网通信
309310

310311
默认使用 `COMM_CAN_0`
311312

312313
```cpp
313-
// 使用 COMM_CAN_1 通信
314+
// 使用 CAN0 通信(默认)
315+
LinkerHandApi hand(LINKER_HAND::L10, HAND_TYPE::RIGHT);
316+
317+
// 使用 CAN1 通信
314318
LinkerHandApi hand(LINKER_HAND::L10, HAND_TYPE::RIGHT, COMM_CAN_1);
319+
320+
// 使用 ModBus 通信
321+
LinkerHandApi hand(LINKER_HAND::L10, HAND_TYPE::RIGHT, COMM_MODBUS);
322+
323+
// 使用 EtherCAT 通信
324+
LinkerHandApi hand(LINKER_HAND::L10, HAND_TYPE::RIGHT, COMM_ETHERCAT);
315325
```
316326
317327
## 📁 项目结构

docs/API-Reference.md

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
## API 概述
1919

20-
LinkerHand C++ API 提供了完整的接口用于控制灵心巧手系列灵巧手设备。支持 O6、L6、L7、L10、L20、L21、L25 等多种型号,支持 CAN通信协议
20+
LinkerHand C++ API 提供了完整的接口用于控制灵心巧手系列灵巧手设备。支持 O6、L6、L7、L10、L20、L21、L25 等多种型号,支持 CAN、ModBus、EtherCAT 等多种通信协议
2121

2222
---
2323

@@ -70,6 +70,8 @@ LinkerHandApi(const LINKER_HAND &handJoint, const HAND_TYPE &handType, const COM
7070
- `commType` (COMM_TYPE): 通信类型(可选,默认 `COMM_CAN_0`)
7171
- `COMM_CAN_0` - CAN 总线 0
7272
- `COMM_CAN_1` - CAN 总线 1
73+
- `COMM_MODBUS` - ModBus 通信协议
74+
- `COMM_ETHERCAT` - EtherCAT 工业以太网通信
7375
7476
**返回值**
7577
@@ -91,8 +93,11 @@ int main() {
9193

9294
**注意事项**
9395
- 构造函数会自动初始化通信接口
94-
- 确保在创建实例前,通信接口已正确配置(如 CAN 总线已启动)
96+
- 确保在创建实例前,通信接口已正确配置(如 CAN 总线已启动、ModBus 端口已配置、EtherCAT 网络已初始化
9597
- 不同型号支持的通信协议可能不同,请参考设备手册
98+
- 使用 CAN 总线前,确保总线已正确配置和启动
99+
- 使用 ModBus 前,确保串口或网络连接已建立
100+
- 使用 EtherCAT 前,确保 EtherCAT 主站已正确配置
96101

97102
---
98103

@@ -839,6 +844,8 @@ int main() {
839844
4. **通信协议**
840845
- 默认使用 CAN0,可通过构造函数参数修改
841846
- 使用 CAN 总线前,确保总线已正确配置和启动
847+
- 使用 ModBus 前,确保串口或网络连接已建立
848+
- 使用 EtherCAT 前,确保 EtherCAT 主站已正确配置
842849

843850
5. **错误处理**
844851
- 建议定期检查故障码
@@ -875,6 +882,8 @@ int main() {
875882

876883
### 通信协议支持
877884
- ✅ CAN (CAN0, CAN1)
885+
- ✅ ModBus
886+
- ✅ EtherCAT
878887

879888
---
880889

docs/CI-CD.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ sudo apt-get install -y \
220220
mkdir -p build
221221
cd build
222222

223-
# 配置 CMake(启用测试)
223+
# 配置 CMake(启用测试,CMake 最低版本要求 3.15
224224
cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON
225225

226226
# 构建项目
@@ -245,7 +245,7 @@ sudo apt-get install -y \
245245
mkdir -p build
246246
cd build
247247

248-
# 配置 CMake(交叉编译)
248+
# 配置 CMake(交叉编译,CMake 最低版本要求 3.15
249249
cmake .. \
250250
-DCMAKE_BUILD_TYPE=Release \
251251
-DBUILD_TESTING=ON \
@@ -312,3 +312,5 @@ cmake /path/to/project -Wno-dev
312312
---
313313

314314
**最后更新**: 2026-01-XX
315+
316+
**注意**: 本文档描述了项目的 CI/CD 配置。如果您的项目尚未配置 CI/CD,可以参考本文档进行配置。实际的工作流配置文件位于 `.github/workflows/ci.yml`

docs/FAQ.md

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,8 @@ sudo rm -rf /usr/local/lib/linkerhand-cpp-sdk
139139
**A**: 根据您的硬件配置选择:
140140

141141
- **CAN 总线**: 默认使用 `COMM_CAN_0`,如果有多个 CAN 接口可使用 `COMM_CAN_1`
142+
- **ModBus**: 使用 `COMM_MODBUS` 进行 ModBus 通信
143+
- **EtherCAT**: 使用 `COMM_ETHERCAT` 进行 EtherCAT 工业以太网通信
142144

143145
```cpp
144146
// CAN0(默认)
@@ -147,13 +149,22 @@ LinkerHandApi hand(LINKER_HAND::L10, HAND_TYPE::RIGHT);
147149
// CAN1
148150
LinkerHandApi hand(LINKER_HAND::L10, HAND_TYPE::RIGHT, COMM_CAN_1);
149151

152+
// ModBus
153+
LinkerHandApi hand(LINKER_HAND::L10, HAND_TYPE::RIGHT, COMM_MODBUS);
154+
155+
// EtherCAT
156+
LinkerHandApi hand(LINKER_HAND::L10, HAND_TYPE::RIGHT, COMM_ETHERCAT);
150157
```
151158
152159
---
153160
154-
### Q7: 如何配置 CAN 总线?
161+
### Q7: 如何配置通信接口?
162+
163+
**A**: 根据不同的通信协议进行配置:
164+
165+
#### CAN 总线配置
155166
156-
**A**: 在 Linux 系统中配置 CAN 总线:
167+
在 Linux 系统中配置 CAN 总线:
157168
158169
```bash
159170
# 加载 CAN 模块
@@ -173,6 +184,21 @@ cansend can0 123#DEADBEEF
173184
candump can0
174185
```
175186

187+
#### ModBus 配置
188+
189+
ModBus 配置取决于使用的接口类型(串口或网络):
190+
191+
- **串口 ModBus**: 确保串口设备权限正确,通常需要将用户添加到 `dialout`
192+
- **网络 ModBus**: 确保网络连接正常,ModBus TCP/IP 端口已开放
193+
194+
#### EtherCAT 配置
195+
196+
EtherCAT 需要配置 EtherCAT 主站:
197+
198+
- 确保 EtherCAT 主站软件已安装和配置
199+
- 检查 EtherCAT 网络拓扑
200+
- 验证 EtherCAT 从站设备已正确连接
201+
176202
---
177203

178204
### Q8: 如何控制手指运动?

docs/TROUBLESHOOTING.md

Lines changed: 82 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -194,9 +194,13 @@ CMake 3.5 or higher is required
194194
// 尝试不同的通信接口
195195
LinkerHandApi hand1(LINKER_HAND::L10, HAND_TYPE::RIGHT, COMM_CAN_0);
196196
LinkerHandApi hand2(LINKER_HAND::L10, HAND_TYPE::RIGHT, COMM_CAN_1);
197+
LinkerHandApi hand3(LINKER_HAND::L10, HAND_TYPE::RIGHT, COMM_MODBUS);
198+
LinkerHandApi hand4(LINKER_HAND::L10, HAND_TYPE::RIGHT, COMM_ETHERCAT);
197199
```
198200

199-
3. 检查 CAN 总线状态:
201+
3. 检查通信接口状态:
202+
203+
**CAN 总线**:
200204
```bash
201205
# 查看 CAN 接口
202206
ip link show can0
@@ -207,6 +211,14 @@ CMake 3.5 or higher is required
207211
# 监听 CAN 消息
208212
candump can0
209213
```
214+
215+
**ModBus**:
216+
- 检查串口设备或网络连接
217+
- 验证 ModBus 配置参数
218+
219+
**EtherCAT**:
220+
- 使用 EtherCAT 主站工具检查网络状态
221+
- 验证从站配置和连接
210222

211223
4. 检查设备 ID 和地址设置
212224

@@ -265,7 +277,23 @@ CMake 3.5 or higher is required
265277

266278
## 通信问题
267279

268-
### 问题:CAN 总线通信失败
280+
### 问题:通信接口连接失败
281+
282+
**错误现象**:
283+
- 设备无响应
284+
- 数据读取失败
285+
- 通信超时
286+
287+
**可能原因**:
288+
- 通信接口未正确配置
289+
- 设备未连接或未上电
290+
- 通信协议不匹配
291+
- 权限问题
292+
293+
**解决方案**:
294+
根据使用的通信协议,参考以下配置:
295+
296+
### CAN 总线通信问题
269297

270298
**错误现象**:
271299
- 设备无响应
@@ -301,6 +329,58 @@ CMake 3.5 or higher is required
301329
- CAN 总线两端需要 120Ω 终端电阻
302330
- 检查硬件连接
303331

332+
### ModBus 通信问题
333+
334+
**错误现象**:
335+
- ModBus 连接失败
336+
- 数据读取超时
337+
- 串口权限错误
338+
339+
**解决方案**:
340+
1. **检查串口权限**:
341+
```bash
342+
# 添加用户到 dialout 组
343+
sudo usermod -a -G dialout $USER
344+
# 重新登录后生效
345+
346+
# 检查串口设备
347+
ls -l /dev/ttyUSB* # USB 转串口
348+
ls -l /dev/ttyS* # 串口
349+
```
350+
351+
2. **检查串口配置**:
352+
- 确认串口设备路径正确
353+
- 检查波特率、数据位、停止位、校验位设置
354+
- 验证 ModBus 从站地址
355+
356+
3. **测试 ModBus 通信**:
357+
- 使用 ModBus 测试工具验证连接
358+
- 检查网络连接(ModBus TCP/IP)
359+
360+
### EtherCAT 通信问题
361+
362+
**错误现象**:
363+
- EtherCAT 主站无法识别从站
364+
- 网络拓扑错误
365+
- 同步失败
366+
367+
**解决方案**:
368+
1. **检查 EtherCAT 主站配置**:
369+
- 确保 EtherCAT 主站软件已正确安装
370+
- 验证主站配置与硬件匹配
371+
372+
2. **检查网络拓扑**:
373+
- 验证 EtherCAT 从站设备已正确连接
374+
- 检查网络线缆和连接器
375+
- 确认网络拓扑正确(环形或线性)
376+
377+
3. **检查从站状态**:
378+
- 使用 EtherCAT 主站工具检查从站状态
379+
- 验证从站配置和地址
380+
381+
4. **检查同步**:
382+
- 确保 EtherCAT 网络同步正常
383+
- 检查分布式时钟(DC)配置(如适用)
304384

305385
---
306386

examples/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ g++ -std=c++11 examples/toolset_example.cpp -I./include \
7979
1. 运行程序
8080
2. 选择机械手型号(L6/O6、L7、L10、L20、L21、L25)
8181
3. 选择手部方向(左手/右手)
82-
4. 选择通信接口(CAN0、CAN1、EtherCAT)
82+
4. 选择通信接口(CAN0、CAN1、ModBus、EtherCAT)
8383
5. 进入交互菜单,选择要测试的功能
8484

8585
**代码结构**:
@@ -170,6 +170,7 @@ $ ./action_group_show_l10
170170
- 本示例仅支持 L10 型号
171171
- 默认使用右手,如需左手请修改代码中的 `HAND_TYPE::RIGHT``HAND_TYPE::LEFT`
172172
- 确保设备已正确连接
173+
- 确保通信接口已正确配置(CAN 总线、ModBus 或 EtherCAT)
173174

174175
---
175176

tests/README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,10 @@ make
4343
```
4444

4545
**说明**:
46-
- `-DBUILD_TESTING=ON` 启用测试构建
46+
- `-DBUILD_TESTING=ON` 启用测试构建(默认已启用)
4747
- CMake 会自动下载 Google Test 框架(如果未安装)
4848
- 确保网络连接正常,以便下载依赖
49+
- **注意**: 项目要求 CMake 3.15 或更高版本
4950

5051
### 方法二:禁用测试
5152

@@ -475,7 +476,7 @@ Could not find gtest
475476
# Ubuntu/Debian
476477
sudo apt-get install libgtest-dev
477478
```
478-
3. 检查 CMake 版本(需要 3.5+)
479+
3. 检查 CMake 版本(需要 3.15+)
479480

480481
---
481482

@@ -581,7 +582,7 @@ CMake Error: ...
581582

582583
2. **检查 CMake 版本**:
583584
```bash
584-
cmake --version # 需要 3.5+
585+
cmake --version # 需要 3.15+
585586
```
586587

587588
3. **检查 CMakeLists.txt 语法**:

0 commit comments

Comments
 (0)