Skip to main content
Lager Python SDK 提供了一套强大的面向对象接口,用于控制硬件并在您的被测设备(DUT)上实现测试自动化。它可以通过程序控制电源、传感器、调试探针等设备。

导入

核心类

Net 类型

该 SDK 为不同硬件支持多种 Net 类型:

快速上手

列出可用的 Net

控制电源

读取 ADC

控制 GPIO

控制调试探针

控制 USB 集线器

完整示例

API 参考

更想用 Rust 编写测试?同样的 Net 也可以通过 Rust SDK 访问,它以 cargo test 的方式对 Box 发起调用,而不是在 Box 上运行。下面记录的每种 Net 类型都有对应的 Rust 版本,只有 scope 和 logic 例外,它们还没有进入 Box 的 HTTP API。

核心类

电源与仿真

测量

I/O 与通信

实用工具

运行记录

有两个函数把脚本与它的运行记录关联起来。两者都是顶层导出。
键由 1-128 个字母、数字和 . _ : / - 组成,并以字母或数字开头。值可以是不超过 4096 个字符的字符串、数字、布尔值或 None。一次运行最多记录 256 个键,同一个键以最后写入的值为准。记录无法容纳的值会引发 ValueError。lager python --download 会取回 output_dir() 中的文件和运行记录。请参阅 lager python。

旧版 Net 类型

NetType.Rotation 和 NetType.Actuate 没有对应的 lager nets add 角色。它们只适用于由手写的保存记录或 LAGER_MUXES 定义的 Net。

错误处理

说明

  • 用完与电源有关的 Net 之后,请务必调用 disable()
  • 简单的 Net(GPIO、ADC、DAC)不需要调用 enable()/disable()
  • 复杂的 Net(PowerSupply、Battery、Analog)在使用前需要先 enable()
  • Net 名称必须与 Lager 系统中配置的名称一致
  • 请用 try/except 块实现健壮的错误处理

演示脚本

演示脚本 是一个更完整的例子。它在一个自动化流程中组合了机械臂控制、USB 集线器电源循环、调试探针烧录、电源管理和 ADC 测量。