docs(serial): 更新 ScaleManager 类注释

- 同步典型用法为当前链式 start() 写法
- 职责说明补充 Channel 发送队列描述
- release() 说明补充"清空队列"

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-21 15:47:56 +08:00
co-authored by Claude Sonnet 4.6
parent d5c6ec92d4
commit 967d06ce1e
@@ -29,37 +29,33 @@ import java.util.Locale
import java.util.TimeZone
/**
* 称重控制板协议管理器(SDK 入口)
* 称重控制板管理器(单例入口)
*
* 职责:
* - 管理串口连接open/startReceive/release
* - 管理串口连接生命周期(start/release
* - 通过内部发送队列(Channel)保证指令按顺序写入串口
* - 接收串口原始分片数据,自动拼装帧并分发到对应回调
* - 内置各命令的自动应答逻辑(心跳/对时/卡号等)
* - 提供链式回调注册常用指令构建、资源释放
* - 提供链式回调注册常用指令构建
*
* 典型用法:
* ```kotlin
* // 初始化并注册回调
* ScaleManager
* .init(deviceId = App.deviceId, activateMap = ACTIVE_MAP)
* .onHeartbeat { frame, data ->
* data.weights.forEach { Log.d("Scale", "秤${it.index}: ${it.grams}g") }
* }
* .onLog { msg -> Log.d("Scale", msg) }
*
* // 打开串口并启动接收
* lifecycleScope.launch {
* if (ScaleManager.open()) {
* ScaleManager.startReceive { data ->
* // 主线程前置钩子,处理看门狗等副作用
* ScaleManager
* .init(activateCode = ACTIVE_MAP[deviceId] ?: "")
* .onHeartbeat { _, data ->
* data.weights.forEach { Log.d("Scale", "秤${it.index}: ${it.grams}g") }
* }
* .onLog { msg -> Log.d("Scale", msg) }
* .start { data ->
* // 主线程前置钩子,处理看门狗计时等副作用
* }
* }
* }
*
* // 主动发送指令
* ScaleManager.sendCmd(ScaleManager.buildGetStatusCmd())
*
* // 页面销毁时释放
* // 页面销毁时释放(关闭串口 + 清空队列 + 清理回调)
* runBlocking { ScaleManager.release() }
* ```
*/