Просмотр исходного кода

docs: 新增「硬件体检套件-大白话说明」(非技术向)+ 全项目测试工程清单表

面向非技术使用者解释 HIL 硬件体检套件:目的/怎么用/什么时候用/是否打包发布/删了会怎样;
并以表格列出项目全部 6 个测试工程(纯逻辑类 4 个 + 连真机 2 个)各自职责与安全性。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
huangjie 2 дней назад
Родитель
Сommit
f6f996fe06
1 измененных файлов с 100 добавлено и 0 удалено
  1. 100 0
      项目文档/开发环境/硬件体检套件-大白话说明.md

+ 100 - 0
项目文档/开发环境/硬件体检套件-大白话说明.md

@@ -0,0 +1,100 @@
+# 硬件体检套件(HIL 回归套件)· 大白话说明
+
+> 写给非技术的你看的。怕忘了就翻这篇。
+> 对应的程序在:`ivf_tl_operate_2.0/control/IvfTl.Hardware.HilTests/`
+> 日期:2026-06-23
+
+---
+
+## 一句话:这是什么
+
+一份**给培养箱硬件做的"自动体检"**。
+跑一下,就能确认几个底层硬件功能还正不正常——不用人盯着看数据。
+
+---
+
+## 它体检哪几项
+
+之前修好过几个硬件相关的毛病,这套体检就专门盯着它们别被改坏:
+
+| 体检项 | 通俗说 |
+|---|---|
+| 排气阀时间 / 灯光亮度的"写设置" | 给设备下达"设成某个值"的指令,能不能真传到设备 |
+| 各孔位对焦零点的"读取" | 读每个孔位各自的对焦零点,准不准(别全读成同一个) |
+| 指令回包长度 | 设备回话的数据长度对不对(错了会读出乱码) |
+
+---
+
+## 怎么用(其实你不用记命令)
+
+**最省事的办法:直接跟 Claude 说一句**
+> "帮我跑一下那个硬件体检"
+
+Claude 会去跑、把结果用大白话告诉你(绿了=好,红了=有问题)。
+
+**前提条件(重要)**:跑体检的时候,**培养箱主程序(control)不能正在运行**。
+因为体检仪要连设备的接口,control 开着就把接口占住了,体检仪连不上——这时它不会报错,而是"跳过",等于没体检成。
+
+**两种体检**:
+- **普通体检**:只读设备、**绝对不改设备任何东西**。默认就是这种。
+- **深度体检**:会往设备写一个值,然后**立刻改回原样**(不会留下任何改动)。要专门加开关才做,默认不做。
+
+---
+
+## 什么时候用
+
+- 改动了和**串口 / 硬件**相关的代码之后 → 跑一下,确认没改坏。
+- 设备行为感觉怪 → 跑一下,确认是不是底层指令出问题。
+- 平时不用管,它安静躺着。
+
+---
+
+## 打包发布会不会被一起打包?
+
+**不会。**
+这是个独立的"测试工具",和真正要发给客户的三个程序(operate / control / 看门狗)是**分开的**。
+- 打包发布时只打包那三个程序,**这个体检工具不会被带进去**。
+- 不会让安装包变大,不会装到客户机器上。
+- 它只在**开发机器上、你主动要跑**的时候才动。
+
+---
+
+## 删了会怎样?
+
+- **不影响任何正在运行的软件**。它不是程序的零件,只是个检查工具。删了,培养箱照常跑。
+- **唯一损失**:这份"自动体检"没了,等于又回到"改了代码也没法快速确认硬件功能没坏"的状态。
+- 真要用时可以重做,但费时间,也少了这道保险。
+
+**建议留着**:它不占发布包、不碍事,关键时刻能帮你兜底。
+
+---
+
+## 项目里到底有哪些"测试工程"?(全清单)
+
+整个项目目前有 **6 个测试工程**。先记住一个分类,看表就不晕:
+
+- **纯逻辑类**:不连任何设备,在电脑上随时跑、几秒出结果。改代码后跑一下最稳妥,**绝对安全**。
+- **连真机类**:要插着培养箱、且 control 没开着才能跑。本篇主角(硬件体检)就是这类里**最安全的**(默认只读、不碰电机)。
+
+| 测试工程(文件夹名) | 测什么(大白话) | 连真机吗 | 安不安全 / 备注 |
+|---|---|---|---|
+| **IvfTl.Hardware.HilTests** ⭐ | **本篇主角·硬件体检**:排气阀/灯光设置能否真下达、各孔位对焦零点读得准不准、指令回包长度对不对 | ✅ 连真机 | 很安全(默认只读、不碰电机;写测试要专门开开关且写完立刻复原) |
+| **ivf_tl_SerialHelper.Tests** | **指令"说得对不对"**:发给设备的串口指令字节、回包长度、孔位地址等是否正确(和上面硬件体检是一对——这个查"话术",硬件体检查"真机上的效果") | ❌ 纯逻辑 | 绝对安全,约 40 项,随时秒跑 |
+| **ivf_tl_Watchdog.Tests** | **看门狗逻辑**:崩溃要不要重拉的判断、启动参数解析、缓存密码的加解密 | ❌ 纯逻辑 | 绝对安全,17 项 |
+| **ivf_tl_ControlHost.Tests** | **control 启动**:命令行参数解析、对外汇报状态的数据格式 | ❌ 纯逻辑 | 绝对安全,几项,秒跑 |
+| **IvfTl.AutoFocus.Tests** | **对焦拍照算法**:多层拍照时每层位置的计算公式对不对 | ❌ 纯逻辑 | 绝对安全,19 项 |
+| **OperateHwTest** | 旧的真机闭环测试小程序(用 operate **老代码**驱动真机,**会动电机**——虽已做安全钳位) | ✅ 连真机 | ⚠ 会动电机,谨慎;属老栈遗留,非本次新做 |
+
+**给你的简单结论**:
+- 平时改完代码想图个安心 → 跑那 **4 个"纯逻辑类"**(`SerialHelper / Watchdog / ControlHost / AutoFocus`),安全、快。
+- 想确认**硬件真效果** → 跑 **硬件体检(IvfTl.Hardware.HilTests)**,先确保 control 没开。
+- **OperateHwTest** 会动电机,别随手跑;要用时让 Claude 来、并守好安全范围。
+- 你都不用记——直接跟 Claude 说"帮我跑下测试 / 跑下硬件体检",我会挑对的跑、把结果讲给你听。
+
+---
+
+## 相关文档(想深入再看)
+
+- 设计思路:`项目文档/需求文档/specs/2026-06-23-HIL硬件在环回归套件-design.md`
+- 怎么做的:`项目文档/开发计划/2026-06-23-HIL硬件在环回归套件实现计划.md`
+- 给技术看的简版:`ivf_tl_operate_2.0/control/IvfTl.Hardware.HilTests/README.md`