# MAG160C 会话状态与恢复点(2026-08-13) > 本文件是"心跳"锚点:每个里程碑更新一次。若会话中断,新会话先读本文件 + > `analysis/reverse_20260813_full.md`,然后运行 `tools/resume_rev.ps1` 继续。 ## 当前阶段 **阶段 5/5:全部完成(2026-08-13 晚)** ## 已完成的里程碑 - [x] 工具链:Ghidra 12.1.2(headless)+ IDA Free 8.4 部署,5 个二进制全量导出 - [x] 官方管线完整反编译(DDT 加载 / 端点选择 / Q12 插值 / ref=4×type1 帧均值 / NUC / 盲元 / 窗口 / LUT1024 / 2x 升采样 / FFC 状态机) - [x] DDT 文件解析(%TEMP%\Core160043865 → build-artifacts/mag160c_official.ddt) - [x] 逐像素验证:NUC+盲元 0/19200、插值 0 误差、2x 0/76800、窗口一致 - [x] 鬼影根因文档:analysis/reverse_20260813_full.md §7 - [x] demo3 v5 官方复刻实现并实机运行 - [x] **零像素根因定位与修复**:load_ddt 在端点块内多读 blind 记录导致 EP1+ 表错位 1280 字节 → 修好后全帧 0 个零像素,gain=4000 正常值 - [x] demo3 vs 官方同场景对比:gray 直方图相关性 0.9197(跨会话) - [ ] 提交(用户未要求,等待指示) ## 零像素问题(已解决,记录在案) - 现象:demo3 的 nuc 在 (65,25)/(66,25) 为 0,官方同坐标 9987/9989。 - 根因:**demo3 的 load_ddt 读取布局错误**——blind 记录区在文件所有端点块 之后,但代码在每个端点块内读了 blind,导致 EP1+ 的 thr/gain 表整体 错位 1280 字节。错位表在死像素列附近的 seg0 gain=35321(应为 ~4000), d2 踩中后 NUC 输出 clamp 到 0。 - 修复:thr+gain 按端点块顺序读完后再统一读 blind(csdk/tools/mag160c_demo3.c load_ddt)。 - 验证:修复后全帧 0 个零像素;(65,25) nuc=9814、盲元目标 9740/9732; gain0=4000 正常值;窗口/统计正常([8493,10554] m9409 s258)。 ## 常用命令 ```powershell # 编译 demo3 v5(工作表捕获版) gcc -O2 -w -DMAG160C_STATIC -I"C:\Project\MAG160C\csdk\third_party\libusb\win64" -I"C:\Project\MAG160C\csdk\include" -I"C:\Project\MAG160C\csdk\src" -o "C:\Project\MAG160C\build-artifacts\mag160c_demo3.exe" "C:\Project\MAG160C\csdk\tools\mag160c_demo3.c" "C:\Project\MAG160C\csdk\src\mag160c_display.c" "C:\Project\MAG160C\csdk\src\mag160c_error.c" "C:\Project\MAG160C\csdk\third_party\libusb\win64\libusb-1.0.x64.a" -lgdi32 -luser32 # 运行/停止 Start-Process "C:\Project\MAG160C\build-artifacts\mag160c_demo3.exe" -WorkingDirectory "C:\Project\MAG160C\build-artifacts" Stop-Process -Name mag160c_demo3 -Force -ErrorAction SilentlyContinue # 官方采集(先停 demo3) & "C:\Project\MAG160C\build-artifacts\tsdk_pair3.exe" "C:\Project\MAG160C\analysis\pairs_final_20260813" 8 6000 # 注意:tsdk_pair3 的 config.txt / pair_*.meta / pair_*.win 写在进程 CWD, # 跑完要把 C:\Project\MAG160C 下的 config.txt 和 pair_0*.meta/win 移回目录。 # 对比/复算脚本(Python) # C:\Users\ZXC\AppData\Local\Temp\opencode\compare_live.py demo3捕获 vs 官方同场景 # C:\Users\ZXC\AppData\Local\Temp\opencode\verify_nuc.py 官方抓帧重建验证 # C:\Users\ZXC\AppData\Local\Temp\opencode\verify_full.py 全链路验证 # C:\Users\ZXC\AppData\Local\Temp\opencode\verify_c_pipeline.exe C实现离线复算 ``` ## 心跳约定 - 每完成一个里程碑,更新本文件"已完成的里程碑"勾选。 - 会话中断恢复流程: 1. 读本文件 + `analysis/reverse_20260813_full.md` 2. 运行 `tools/resume_rev.ps1`(自动检查设备/进程/编译/采集) 3. 按"零像素问题现场"继续