si-m1-face-package/Documentation~/SDK_Configuration.zh-CN.md

76 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# SDK 配置说明
English documentation: [SDK_Configuration.md](SDK_Configuration.md).
SDK 推荐使用 `FaceSdkSettings` 作为配置资产。`FaceModuleManager` 可以读取该资产,并同步到运行时配置。
## 默认配置资产
```text
Assets/Resources/AISU/SI-M1 Face SDK/FaceSdkSettings.asset
```
打开 `AISU/SI-M1 Face SDK/Settings` 可以加载、编辑和保存配置。
## FaceSdkSettings 字段
| 字段 | 类型 | 说明 |
|---|---|---|
| `TransportMode` | `FaceTransportMode` | `Auto`、`SerialPort` 或 `Mock` |
| `UseMockInEditor` | `bool` | Editor 下强制使用 Mock 通信 |
| `PortName` | `string` | 运行时串口号 |
| `BaudRate` | `int` | 运行时波特率 |
| `ReadBufferSize` | `int` | 运行时读取缓冲区 |
| `UseEditorSerialDebugParameters` | `bool` | Editor 下是否使用单独串口参数 |
| `EditorPortName` | `string` | Editor 调试串口号 |
| `EditorBaudRate` | `int` | Editor 调试波特率 |
| `EditorReadBufferSize` | `int` | Editor 调试读取缓冲区 |
| `MockResponseDelayFrames` | `int` | Mock 响应延迟帧数 |
| `AutoVerifyOnOpen` | `bool` | READY 后是否自动开启验证 |
| `AutoVerifyTimeout` | `byte` | 自动验证协议超时时间,单位秒 |
| `AutoVerifyResultIntervalMs` | `int` | 自动验证结果事件最小间隔 |
| `StopAutoVerifyBeforeExclusiveCommand` | `bool` | 独占命令前是否停止自动验证 |
| `ExclusiveCommandPolicy` | `FaceExclusiveCommandPolicy` | 自动验证期间执行独占命令的处理策略 |
| `DebugLogEnabled` | `bool` | 是否启用 SDK Debug 日志 |
| `RawLogEnabled` | `bool` | 是否派发原始 TX/RX 日志 |
| `LogPrefix` | `string` | 日志前缀 |
## TransportMode
| 模式 | 行为 |
|---|---|
| `Auto` | Editor 根据 `UseMockInEditor` 选择 Mock 或串口;Player 使用串口 |
| `SerialPort` | 使用 `SerialPortTransport` |
| `Mock` | 使用 `MockFaceModuleTransport` |
当 `UseMockInEditor = true` 时,Editor 使用 Mock 通信,不会打开真实串口。
## 自动验证
`AutoVerifyTimeout` 会发送给 SI-M1 模组,表示识别超时时间。
`AutoVerifyResultIntervalMs` 由 Unity SDK 处理,用于限制 `OnAutoVerifyResult` 的派发频率。设置为 `0` 时不做节流。
`StopAutoVerifyBeforeExclusiveCommand` 和 `ExclusiveCommandPolicy` 用于控制自动验证开启时,录入、用户管理、二维码、抓拍、特征等独占操作的行为。
## 运行时使用
```csharp
manager.ApplySettings(settings);
manager.Open();
```
快速配置:
```csharp
manager.Configure(useMockInEditor: true, portName: "COM3", baudRate: 115200);
manager.Open();
```
自定义通信层:
```csharp
manager.ConfigureTransport(customTransport);
manager.Open();
```