# A102 操作请求与转速管理联调候选

2026-10-10。本次新增可编译的UI适配模块，承接A101按键解码，实际调用转速管理候选。三款项目范围保持；本次针对电磨。A83目标镜像、A92板卡及其他两款板卡均未替换、未投板或通电。

## 完成与发现

主机/手柄启停请求接入ds_start/ds_stop；正反请求改变目标方向并由ds_update执行零速阈值和驻留时间互锁；模式请求仅在ds_set_beginner_mode接受后改变状态。停机初学者模式上限30,000rpm，普通模式50,000rpm。所有阈值、增益、连击时间和同时操作策略仍须实物及参考机对照。

发现A83 ds_update在dt_ms==0时早退，先于故障检查。同毫秒新故障可能被忽略直到后续调用。本候选复制并修复顺序：故障和驻车检查在零时间返回之前。独立负控对同一输入证明：原代码返回state=1/fault=0/run=1；新候选返回state=3/fault=5/run=0。A83原文件保留，修复在A102候选内。

主机测试覆盖：未获启动交接不能启动；拒绝请求不会日后自动重试；运行中拒绝模式切换；手柄换向等待实际零速与驻留；同毫秒故障；故障清除后仍停止；停机模式切换；两处同时启动请求拒绝；停机优先于同时换向；驻车取消待处理按键且取回不启动；无observer锁定不能启动；直接停机取消按键；零速度拒绝启动。现有转速管理回归测试也通过。测试使用ASan/UBSan，不能替代实际ADC、转向、停机或机械验证。

## 工程边界

UI适配没有GPIO/PWM调用，输出run_enable是转速管理意图，不是物理运行授权。startup_ready必须由独立且验证过的启动控制给出；ds_start仍要求observer已锁定，尚未解决静止时传感器无反电势的启动流程。不能默认把校准/驱动/传感器有效标志设为真。

初始化初学者模式、450ms连击窗口、只允许停机切换模式以及并发命令拒绝是候选策略，尚非原机行为。实体按键消抖、手柄接口协议、旋钮采样、LCD状态、电池充电显示及实际启动FOC仍需接入。

Cortex-M4F硬浮点对象编译通过，共2322字节对象text（186+1584+552），不等于最终镜像Flash/RAM/执行时序。A83是软浮点目标镜像，A102对象仅编译检查，未经最终链接/烧录。本次没有目标运行数据。

可复现脚本verify.sh、源码、负控记录和哈希清单随候选包提供。下一步仍是实际目标状态/启动流程接入与样板验证，三款效果一致性没有取得物理通过证据。
