|
|
@@ -53,3 +53,11 @@
|
|
|
- 情况2:编译时 operate.exe 在跑(PID 20268,32K疑似挂起)→ 没编 operate 大sln(避免MSB3021锁DLL),改单工程验证语法。control.sln 独立子树已0错。
|
|
|
- 影响面/闭环核对:control读写范围全链(服务器DTO↔运行态↔本地SQLite)闭环;operate调试页存范围走HTTP不经这些映射。
|
|
|
- 待用户回头确认:无。**⚠ Phase 3(operate调试页重构)开工前需先清掉挂起的 operate.exe,否则编不了 operate sln。**
|
|
|
+
|
|
|
+#### [Task 2.2] 采集对焦中心改取DB,补"DB优先+硬件EEPROM兜底"防静默失败 — 2026-06-25
|
|
|
+- 情况:path B 改成中心取 DB(horizontalMotorPosition/eepromClearPosition)后,若某 well 的 DB 清晰位=0/未同步(path A 代码 HouseBin.cs:1519 用 `eepromClearPosition>0` 守,证明 0 是真实可能状态),会把 ZCoarseCenter=0、Z粗扫落[0,6000]而真实焦面~88000 → 该 well 对焦静默失败。老 path B 读硬件 EEPROM 不会有此问题=回归。
|
|
|
+- 决策/处理:path B 拿 range 后,**中心≤0 时回退硬件 EEPROM 回读**(ReadWellHorizontalPosWait/ReadWellFocusZeroWait),即"DB优先+硬件兜底",回退时记日志。既守需求"中心用DB现有列"、又保老健壮性。
|
|
|
+- 依据:path A 既有 `eepromClearPosition>0` 守卫 + 老 path B 硬件回读行为。
|
|
|
+- 影响面/闭环核对:保证"未标定/未同步的 well 也能对上焦",采集闭环不因 DB 空值断;eepromZ 第3参引擎实际未用,垂直中心靠 ZCoarseCenter 字段(已核 CalibrationEngine)。
|
|
|
+- 待用户回头确认:无。
|
|
|
+- 引擎语义留存(防后续踩坑):`CalibrateWell(well, eepromHPos, eepromZ)` 中 **eepromHPos=水平居中扫描中心(在用)、eepromZ=引擎当前未引用(死参)**;Z 粗扫中心只认字段 `ZCoarseCenter`。改对焦务必记得垂直中心走字段不走第3参。
|