事件通知
SDK 每次通过回调返回一个 JSON 事件对象,顶层字段名表示事件类型。
以下示例使用 C 接口返回的 camelCase 字段名,例如 printStarted。字段不存在时,应按对应类型的默认值处理。
printStarted
返回打印启动结果。
| 字段 | 类型 | 说明 |
|---|---|---|
success | bool | 高压是否成功开启;false 表示启动失败 |
message | string | 附加状态信息;部分喷头状态异常但启动成功时,也可能包含该字段 |
{"printStarted":{"success":true}}
{"printStarted":{"message":"高压使能失败"}}
部分成功结果也可能包含说明:
{"printStarted":{"success":true,"message":"部分喷头状态异常"}}
upgradeStatus
返回升级处理状态。
| 字段 | 类型 | 说明 |
|---|---|---|
key | string | 升级目标 |
status | string | parsing、progress、ready 或 failed |
message | string | 进度、结果或失败信息;任意状态下均可能存在 |
{"upgradeStatus":{"key":"SYSTEM","status":"parsing"}}
{"upgradeStatus":{"key":"SYSTEM","status":"ready"}}
{"upgradeStatus":{"key":"SYSTEM","status":"failed","message":"升级文件无效"}}
驱动板升级时,status 可能为 progress,message 可能包含百分比,例如 "42%"。
状态顺序:
- 整机升级:
parsing→ready或failed - 驱动板升级:
parsing→ 零个或多个progress→ready或failed
ready 表示:整机升级文件已经就绪,可以按产品手册执行后续步骤;驱动板升级表示固件已经写入完成。
triggerSignal
返回触发信号状态。
| 字段 | 类型 | 说明 |
|---|---|---|
status | string | on 或 off |
{"triggerSignal":{"status":"on"}}
encoderSpeed
返回编码器脉冲频率信息。
| 字段 | 类型 | 说明 |
|---|---|---|
speed | int | 编码器脉冲频率,单位为每秒脉冲数(pps) |
pprA | int | 编码器 A 相每转脉冲数(PPR) |
pprB | int | 编码器 B 相每转脉冲数(PPR) |
{"encoderSpeed":{"speed":123,"pprA":100,"pprB":200}}
fpgaStatus
返回 FPGA 状态码。
| 字段 | 类型 | 说明 |
|---|---|---|
code | int | FPGA 状态码 |
{"fpgaStatus":{"code":12}}
printComplete
返回打印完成通知。该事件没有字段。
{"printComplete":{}}
处理建议
- 使用顶层事件名称选择处理逻辑。
- 可选字段不存在时使用默认值。
- 遇到未知事件时忽略,保持后续版本兼容。
- 不要在回调中执行长时间阻塞操作。