feat(docs): 更新视觉扫描完成接口文档并添加代码高亮支持
- 新增Prism.js多语言语法高亮脚本支持:bash、json、cpp、c - 扩展视觉扫描完成接口描述,加入推送建模图像的功能说明 - 补充传输协议设计及三段式数据格式详解 - 详细列出支持的图像格式种类及协议阶段示例说明 - 提供代码示例展示如何按协议发送JSON元数据、图像大小及二进制流 - 完善参数说明表格,增加请求时间戳字段解释
This commit is contained in:
@@ -55,7 +55,12 @@
|
||||
</script>
|
||||
<!-- Docsify v4 -->
|
||||
<script src="//cdn.jsdelivr.net/npm/docsify@4"></script>
|
||||
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-bash.min.js"></script>
|
||||
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-php.min.js"></script>
|
||||
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-json.min.js"></script>
|
||||
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-cpp.min.js"></script>
|
||||
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-c.min.js"></script>
|
||||
|
||||
<script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/search.min.js"></script>
|
||||
<script src="//cdn.jsdelivr.net/npm/docsify-copy-code/dist/docsify-copy-code.min.js"></script>
|
||||
<script src="//cdn.jsdelivr.net/npm/@alertbox/docsify-footer/dist/docsify-footer.min.js"></script>
|
||||
|
||||
@@ -253,9 +253,9 @@ sequenceDiagram
|
||||
}
|
||||
```
|
||||
|
||||
#### 2. scan_completed - 视觉扫描完成
|
||||
#### 2. scan_completed - 视觉扫描完成推送图像流
|
||||
|
||||
**功能说明:** 用于通知系统视觉扫描已完成,触发硬件控制器将M106寄存器设置为true,标记扫描流程的完成。
|
||||
**功能说明:** 用于通知系统视觉扫描已完成并推送建模图像,触发硬件控制器将M106寄存器设置为true,标记扫描流程的完成。
|
||||
|
||||
**调用方法:** `s.hardwareController.ProcessVisionScanComplete()`
|
||||
|
||||
@@ -264,13 +264,72 @@ sequenceDiagram
|
||||
**请求示例:**
|
||||
```json
|
||||
{
|
||||
"id": "req002",
|
||||
"id": "550e8400-e29b-41d4-a716-446655440000",
|
||||
"action": "scan_completed",
|
||||
"timestamp": 1705123456789
|
||||
"data": {
|
||||
"wood_id": "WD0001",
|
||||
"image_size": 314572800,
|
||||
"image_format": "jpg"
|
||||
},
|
||||
"timestamp": 1705300000000
|
||||
}
|
||||
```
|
||||
|
||||
**说明:** 此动作不需要data参数,用于通知系统视觉扫描已完成。系统接收到此请求后会自动将M106寄存器设置为true。
|
||||
**传输格式**
|
||||
协议设计(三段式)
|
||||
|
||||
1. JSON元数据:{"id": "...", "action": "scan_completed", "data": {"wood_id": "WD0001", "image_size": 314572800, "image_format": "jpg"}}
|
||||
2. 8字节大端序整数:图像大小
|
||||
3. 原始二进制图像数据流
|
||||
|
||||
**支持的图像格式:**
|
||||
- 普通图像:jpg, jpeg, png, bmp, tiff
|
||||
- 点云数据:pcd, ply, las, xyz
|
||||
- 3D模型:obj
|
||||
|
||||
| 阶段 | 描述 | 示例 |
|
||||
| ---- | ---- | ---- |
|
||||
| 1 | JSON元数据(以'}'结束,触发JSON解析) | {"id":"xxx","action":"scan_completed","data":{"wood_id":"WD0001","image_size":314572800,"image_format":"jpg"},"timestamp":1705300000000} |
|
||||
| 2 | 8字节大端序整数(图像大小) | [0x00][0x00][0x00][0x00][0x12][0xC1][0x1C][0x00] = 314572800 bytes (约300MB) |
|
||||
| 3 | 原始二进制图像数据流 | [图像二进制数据... 共314572800字节] |
|
||||
|
||||
**说明:** 用于通知系统视觉扫描已完成并推送建模图像。系统接收到此请求后会自动将M106寄存器设置为true。
|
||||
|
||||
**参数说明:**
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ---- | ---- |
|
||||
| wood_id | string | 原木唯一标识ID |
|
||||
| image_size | number | 图像大小 |
|
||||
| image_format | string | 图像格式 |
|
||||
| timestamp | number | 请求时间戳(毫秒) |
|
||||
|
||||
```c
|
||||
// 第一阶段:发送JSON元数据
|
||||
json request = {
|
||||
{"id", "req_123"},
|
||||
{"action", "scan_completed"},
|
||||
{"data", {
|
||||
{"wood_id", "WD0001"},
|
||||
{"image_size", 314572800}, // 300MB
|
||||
{"image_format", "jpg"}
|
||||
}}
|
||||
};
|
||||
send(sock, request.dump().c_str(), ...);
|
||||
|
||||
// 第二阶段:发送8字节大端序图像大小
|
||||
int64_t imageSize = 314572800;
|
||||
int64_t networkSize = htobe64(imageSize); // 转换为大端序
|
||||
send(sock, &networkSize, 8, 0);
|
||||
|
||||
// 第三阶段:发送原始二进制图像流
|
||||
FILE* fp = fopen("image.jpg", "rb");
|
||||
char buffer[32768];
|
||||
while ((n = fread(buffer, 1, sizeof(buffer), fp)) > 0) {
|
||||
send(sock, buffer, n, 0);
|
||||
}
|
||||
fclose(fp);
|
||||
```
|
||||
|
||||
**响应示例:**
|
||||
```json
|
||||
|
||||
Reference in New Issue
Block a user