# 已知限制

我们把源码和图纸里已经核对的问题列在这里。原固件保存在 `software/firmware/`，原 GUI 放在 `software/host/`，独立教学示例放在 `software/examples/`；实际构建和电脑测试结果见 [测试记录](../VERIFICATION.md)。

## 测量

- 直线算法面向三点阵列和单个磁铁，内部限幅约 ±15 mm，没有周期磁栅计数或长行程绝对编码。
- 角度算法输出周期角度，机械角需对应磁路周期，没有持久化多圈位置。
- 0.01 mm / 0.01° 是编码单位。磁铁、气隙、安装、校准、温度、噪声和整数近似都会影响误差，具体方法见 [校准与测量](Calibration-and-Measurement.md)。
- ADC 的 64 倍过采样右移 6 位后仍输出 12 位。三路 DMA 读取没有完整帧锁存或设备采样时间戳，上报周期不能说明同步采样率。

## 原上位机和固件

详细路径见 [协议](Protocol-Reference.md) 和 [上位机说明](Host-Tools.md)。

1. 改 ID 后，固件用新 SRC 应答，GUI 仍按旧 ID 等待，可能显示超时。用新 ID 重连确认；非 1 号设备恢复出厂也有同类问题。
2. `GET_CAL` 比 `CAL_END` 多一个 flags 字节，GUI 共用解析偏移，部分基线和宽度显示会错位。
3. GUI 的停止采集只改本机状态，设备可能继续主动上报。需切回轮询并确认 `SET_MODE` 已生效。
4. 配置、零点等命令会写 Flash，不能放进每周期采样或控制循环。
5. 直线头文件的左右映射宏没有完整控制解算顺序，改布局时还要核对 `raw[0..2]` 与位置数组。
6. 广播部分命令会直接忽略，不能用来查询、改 ID、改波特率或恢复出厂；以实际命令分支为准。

要继续修改的话，可以先从这些问题做起：补回归用例，再修 ID 匹配、校准布局和停止上报；采样快照、序号和时间戳可以放到下一轮固件改进。修改请单独提交，保留与原快照的差异。

## 复刻资料

已有两套原理图和 PCB PDF、两份机械 STEP，以及从图纸整理的两版参考料表；部分采购规格仍需核对。教学仓库中仍缺可编辑 EDA、Gerber、钻孔和贴片坐标。磁铁尺寸与充磁方向见 [复刻清单](Replication-Checklist.md)，材料/牌号和工作气隙仍需记录。

几何配合、实际端接电阻、EMC、温漂和寿命也需实测。PDF / STEP 还不是完整制造包，补齐项目见 [发布准备](Release-Checklist.md)。

源码可用 SHA-256 核对，电脑上的构建与测试不包含板卡烧录、电气测量或运动台误差实验。
