refactor: manual mode from absolute setpoint to velocity control, remove auto-enable at motor init

Manual mode now receives angular velocity (degrees/s) via 0xA6 frame instead of
absolute angle reference. The firmware integrates velocity * dt into gimbal angle ref.
Motors are no longer auto-enabled at DMMotorInit — they stay disabled until a mode
switch out of DEBUG. Extract ROBOT_CMD_DELAY macro to replace magic number.
Fix "volity" typo → "velocity" and update docs/protocol comments accordingly.
This commit is contained in:
2026-06-02 16:27:07 +08:00
parent 88702e2832
commit da6acdcc89
8 changed files with 30 additions and 30 deletions
+5 -5
View File
@@ -16,9 +16,9 @@
* error_x/y: float, 归一化误差, 视觉PID外环反馈值
*
* ---- 手动控制数据帧 0xA6 (11 字节) ----
* [SOF:0xA6][zero_force:1][yaw_ref:4][pitch_ref:4][checksum:1]
* zero_force: 0=正常角度控制, 1=零力/保持当前位置
* yaw_ref/pitch_ref: float, 角度参考值 (degrees)
* [SOF:0xA6][zero_force:1][yaw_velocity:4][pitch_velocity:4][checksum:1]
* zero_force: 0=正常速度控制, 1=零力/保持当前位置
* yaw_velocity/pitch_velocity: float, 角速度 (degrees/s)
*
* ---- 命令帧 0xA7 (3 字节) ----
* [SOF:0xA7][cmd:1][checksum:1]
@@ -68,8 +68,8 @@ typedef struct
/* 手动模式数据 */
uint8_t zero_force;
float yaw_ref;
float pitch_ref;
float yaw_degree_velocity;
float pitch_degree_velocity;
uint8_t manual_updated; // 收到新的手动数据帧标志
/* 调试模式数据 */