# A121 吸尘器压力换算目标接入候选

2026-10-11，TARGET_DIAGNOSTIC_CANDIDATE / FABRICATION_HOLD。

从A113独立复制目标源码，接入A112的压力解码模块，并明确支持C地址格式V3.1与V3.3；不接受未经确认的其他版本。V3.1依据已保存厂家PDF第7页有符号24位、2^21分母及PMAX-PMIN公式。没有把旧0x6D格式也纳入此解码器。

## 当前固件配置

工程候选XGZP6897DC005HPDPN采用名义±500Pa、0x58、协议31。pressure_profile在只读区域，目标镜像检查逐字节核对12字节配置，并核对主程序实际调用xp_decode。此配置是选定工程物料的预期规格，不是已识别的实物传感器身份，也不证明±500Pa适合最终风道。

main的压力采集路径仍名义每250ms从寄存器0x04读取5字节；解码结果经g_pressure_decoded发布，含signed raw、pressure_millipa、decoded及suction_valid。g_pressure_decode_status与总线状态分别保留；有效通讯但超出候选量程时不能保留上一结果作本次有效压力。新采集开始即清空解码结果并置无有效传输状态，失败/长度异常/版本错误/范围错误输出清零。

压力值单位为mPa，显示或分析时除以1000得到Pa。不得将decoded误认为physical_calibration_verified：它只说明数学与报文条件满足。suction_valid固定false，温度字节仍只保留原始值、不作温度标定。

## 调试读取

用SWD读取g_pressure_epoch→g_pressure_raw[5]、g_pressure_bus_ok、g_pressure_status、g_pressure_decode_status、g_pressure_decoded及起止时间→再次读取epoch，两次相等且偶数时才接受一组快照。64位mPa在32位MCU上不能单独读取并宣称原子。无新的传感器帧就不能宣称新测量；当前时间戳是主机读取起止，不是传感器曝光/测量时间，也不能证明5字节来自同一内部采样。

样机上电与器件/线序确认后，再用独立差压计做零点、正负压、断管、堵塞风险与响应对照。不能仅以ACK或正常压力值授权风机；风机继续关闭，屏幕吸力保持--，未配置学习资源。没有加入控制寄存器写入或自动启动测量策略。该策略需确认来料版本及有效数据条件。

## 验证

- ASan/UBSan分别覆盖V3.1 ±500Pa和V3.3 ±5000Pa全24位输入，共33554432项；使用独立long double参考核对符号、量程及mPa舍入。协议32和旧地址拒绝，故障结果清零。
- 既有目标主机测试通过，包括面板/UI/风机关闭约束、显示、I2C读写及错误路径。
- STM32G030F6P6完整镜像编译、链接和静态调用检查通过。新解码模块实际在main压力路径，不只是孤立对象。
- 完整镜像text8780、data48、bss2560字节；后者包含链接预留资源，不是实测栈水位或运行时间。BIN为8828字节，准确哈希见build_verification.json。
- 还没有烧录、上电、总线波形、新鲜度、量程/校准或完整风道效果验证。

源共享依赖为与A113相同的不可变文件，编辑共享文件前必须先复制替换，不能原地修改硬链接。候选目标源码为独立副本。A113原镜像哈希保留核验；本轮无PCB改动、采购、订单或对外联系。

复现：sh firmware/固件/vacuum_target/test.sh；PATH中加入ARM GCC工具链后sh firmware/固件/vacuum_target/build.sh。本包不是制造放行包；仍对应A111主板/A107面板/A114压力夹具，器件装配和实物效果未闭合。
