AgentX
目录 · 观察与发现输入

工程端 · ATH

观察与发现输入

先用最省事的方式把设备「看懂」:边操作边观察,不用先写协议文档。

观察是只读的

实时观察用的是被动输入通道:读取、解码、发布,不向设备写入任何报文,也不建立协议会话。 因此它不会打断你正在用的设备,也不会改变设备状态 —— 这对调试很重要:你看到的就是设备本来的行为。

  • 页面上的活动状态、命令行 ath device trace 打印的内容,来自同一条输入路径。
  • ath device watch 看的是更底层的原始报文,适合确认设备到底发了什么。
  • 有些设备的某些按键只在厂商工具会话里才会应答,这类输入在纯粹的观察里可能看不到;遇到时用协议资料补全。

把操作变成项目里的输入

  1. 01选接口ath discover devices 列出发现工作区可选择的 HID 接口:同一台设备可能有多个接口, 选错就什么都读不到。
  2. 02操作设备在 ATH 里一边按一边看。自动发现会给识别到的输入分配标识(例如 dd:dut:vendor.trigger_left_raw 这种形式),并把它登记进项目,编辑器里就能直接用它建组件。
  3. 03整理与隐藏误触发或不需要的输入可以隐藏,之后用 ath discover restore 恢复;ath discover reset 会移除全部自动发现的输入并清空发现历史,用于重新来一遍。

录制与离线回放

真实设备不可能每次都接在手上。把一段操作录下来,之后就能在没有设备的情况下重复同一份输入。

ath device capture --output ./capture.jsonl     # 录制带时间戳的原始 HID 输入
ath discover replay ./capture.jsonl             # 用录制做确定性的输入发现
ath simulate inspect ./capture.jsonl            # 只校验并汇总录制,不回放
ath simulate replay ./capture.jsonl             # 用虚拟 HID 通道回放

接下来做什么

你的情况下一步
只是想先跑起来直接建组件、录测试序列,见 测试序列。
有协议资料整理成设备说明,让识别与解析固定下来,见 设备说明(DD)。
输入不全或读不出来用 capture/watch/describe 取证,再决定补资料还是换接口。