LagerBox 取得的句柄,以及一个属于自己的页面。句柄非常轻量,在您调用方法之前不会产生任何网络流量。Box 在每次请求时都会解析并校验 Net 名称,因此写错名字会明确报错。
仪器 Net
通过您用lager nets add 给它们起的 Net 名称来寻址。
Box 级能力
它们驱动的是 Box 自己的硬件,因此不需要 Net 名称,也没有name()。
一个行为不同的句柄
上面的每个构造方法都会立即返回一个句柄,并且不会失败,只有一个例外。lager.uart(name)? 返回 Result。 它会打开一个 Socket.IO 会话并立即开始流式传输,因此构造阶段就可能失败。
自定义驱动 Net
安装在 Box 上的自定义驱动(Box 软件 0.59.0 或更高版本)会声明自己的角色和动作。CustomNet 用一个方法来调用它们:
command(action, params) 返回该动作的 value,如果没有则返回 null。当设置了 custom_drivers 时,lager.status()?.capabilities 会在 net_command_roles 中列出已安装的角色。驱动失败会以 Error::Box 的形式返回,并带上 Box 的状态码:409(忙)、503(不可用)、504(超时)或 502(驱动失败)。
发现
NetRecord 携带:
- 名称
- 角色
- 仪器
- 引脚或通道
- VISA 或设备地址
- 该角色特有的已保存参数
- 该 Net 的安全限值
尚不可用
目前没有逻辑分析仪句柄,Scope 也不能采集波形:Box 还没有用于逻辑采集或波形采集的 HTTP 端点。Rotation 和 Actuate Net 服务于配置流程,而不是测试期的 Net 访问,该 crate 有意不收录它们。待办清单在 MISSING_ENDPOINTS.md 中。
