From 5333918f7be71700662b9cce5eedccea9eb6626a Mon Sep 17 00:00:00 2001 From: xxxxm <2389287465@qq.com> Date: Fri, 20 Mar 2026 03:52:29 +0800 Subject: [PATCH] =?UTF-8?q?add-cmd=E5=88=B0=E5=BA=95=E8=87=AA=E8=B5=B7?= =?UTF-8?q?=E5=92=8Crecover=EF=BC=8C=E5=B7=A6=E6=8B=A8=E6=9D=86=E6=9C=80?= =?UTF-8?q?=E4=B8=8B=E6=8A=A2=E5=8D=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- User/module/cmd/cmd.c | 17 ++++++++++++----- User/module/config.c | 4 ++-- User/module/gimbal.h | 2 +- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/User/module/cmd/cmd.c b/User/module/cmd/cmd.c index 82f1dd3..90d5e1f 100644 --- a/User/module/cmd/cmd.c +++ b/User/module/cmd/cmd.c @@ -4,6 +4,7 @@ #include "cmd.h" #include "bsp/time.h" #include "module/cmd/cmd_types.h" +#include "module/gimbal.h" #include "module/shoot.h" #include #include @@ -70,7 +71,7 @@ static void CMD_RC_BuildGimbalCmd(CMD_t *ctx) { #if CMD_ENABLE_SRC_RC && CMD_ENABLE_MODULE_SHOOT static void CMD_RC_BuildShootCmd(CMD_t *ctx) { if (ctx->input.online[CMD_SRC_RC]) { - ctx->output.shoot.cmd.mode = SHOOT_MODE_CONTINUE; + ctx->output.shoot.cmd.mode = SHOOT_MODE_SINGLE; } else { ctx->output.shoot.cmd.mode = SHOOT_MODE_SAFE; } @@ -648,16 +649,22 @@ int8_t CMD_Arbitrate(CMD_t *ctx) { if (ctx->input.online[CMD_SRC_NUC]) { if (ctx->active_source==CMD_SRC_RC) { if (ctx->input.rc.sw[0] == CMD_SW_DOWN) { - ctx->output.gimbal.source = CMD_SRC_NUC; - ctx->output.shoot.source = CMD_SRC_NUC; + //用遥控器调自瞄的时候打开下面两行 + // ctx->output.gimbal.source = CMD_SRC_NUC; + // ctx->output.shoot.source = CMD_SRC_NUC; #if CMD_ENABLE_MODULE_REFUI ctx->output.refui.source = CMD_SRC_NUC; #endif - } } } +} #endif - + if (ctx->input.rc.sw[0] == CMD_SW_DOWN) { + ctx->output.balance_chassis.source = CMD_SRC_RC; + ctx->output.gimbal.source = CMD_SRC_RC; + ctx->output.balance_chassis.cmd.mode = CHASSIS_MODE_LEG_TEST; + ctx->output.gimbal.cmd.mode = GIMBAL_MODE_RECOVER; + } return CMD_OK; } diff --git a/User/module/config.c b/User/module/config.c index 1e52b66..4127d44 100644 --- a/User/module/config.c +++ b/User/module/config.c @@ -538,14 +538,14 @@ Config_RobotParam_t robot_config = { .gimbal_sw_up = GIMBAL_MODE_RELAX, .gimbal_sw_mid = GIMBAL_MODE_ABSOLUTE, // .gimbal_sw_down = GIMBAL_MODE_RECOVER, - .gimbal_sw_down = GIMBAL_MODE_AI_CONTROL, + .gimbal_sw_down = GIMBAL_MODE_RECOVER, #endif #if CMD_ENABLE_MODULE_BALANCE_CHASSIS .balance_sw_up = CHASSIS_MODE_RELAX, // .balance_sw_mid = CHASSIS_MODE_RELAX, // .balance_sw_down = CHASSIS_MODE_RELAX, .balance_sw_mid =CHASSIS_MODE_WHELL_LEG_BALANCE, - .balance_sw_down = CHASSIS_MODE_WHELL_LEG_BALANCE, + .balance_sw_down = CHASSIS_MODE_LEG_TEST, #endif }, }, diff --git a/User/module/gimbal.h b/User/module/gimbal.h index b111c7f..86f2eb9 100644 --- a/User/module/gimbal.h +++ b/User/module/gimbal.h @@ -80,7 +80,7 @@ typedef struct { KPID_Params_t yaw_omega; /* yaw轴角速度环PID参数 */ KPID_Params_t pit_angle; /* pitch轴角位置环PID参数 */ KPID_Params_t pit_omega; /* pitch轴角速度环PID参数 */ - } aimbot; + } aimbot; struct { KPID_Params_t yaw_angle; /* recover yaw位置环PID参数 */ KPID_Params_t pit_angle; /* recover pitch位置环PID参数 */