diff --git a/MDK-ARM/R2/R2.axf b/MDK-ARM/R2/R2.axf index 60f8a97..244cf2c 100644 Binary files a/MDK-ARM/R2/R2.axf and b/MDK-ARM/R2/R2.axf differ diff --git a/User/Module/Chassis.h b/User/Module/Chassis.h index 919bb3e..acef449 100644 --- a/User/Module/Chassis.h +++ b/User/Module/Chassis.h @@ -91,7 +91,11 @@ typedef struct fp32 mul;//油门倍率 }ChassisMove_Vec; - + typedef struct +{ + fp32 send[4]; + +}NUC_send_t; /** * @brief * @@ -159,9 +163,7 @@ typedef struct{ int32_t sick_dis[4]; //获取到的sick激光值 - - - + NUC_send_t NUC_send; }Chassis_t; /** diff --git a/User/device/cmd.c b/User/device/cmd.c index 35e7d0c..2d914c1 100644 --- a/User/device/cmd.c +++ b/User/device/cmd.c @@ -91,7 +91,7 @@ int8_t CMD_ParseNuc(CMD_t *cmd,CMD_NUC_t *n){ cmd->cmd_status = n->status_fromnuc; cmd->raw_status = n->ctrl_status; - + for (int i = 0; i < 7; ++i) { // 从最低位到最高位遍历 cmd->status[i] = ((cmd->raw_status) & (1 << i)) ? 1 : 0; @@ -146,24 +146,24 @@ int8_t CMD_DR16(CMD_t *cmd,const CMD_RC_t *rc) { if(rc->dr16.sw_r ==CMD_SW_MID) cmd ->CMD_mode =Normal; //左上,右中,无模式 - if(rc->dr16.sw_r ==CMD_SW_DOWN) cmd ->CMD_mode =Normal; //左上,右上,手动调整 + if(rc->dr16.sw_r ==CMD_SW_DOWN) cmd ->CMD_mode =Dribble; //左上,右上,手动调整 } else if(rc->dr16.sw_l==CMD_SW_MID) { cmd ->CMD_CtrlType =AUTO; - if(rc->dr16.sw_r ==CMD_SW_UP) cmd ->CMD_mode =AUTO_MID360; //左中,右中,雷达 + if(rc->dr16.sw_r ==CMD_SW_UP) cmd ->CMD_mode =AUTO_MID360_Pitch; //左中,右中,雷达发射 - if(rc->dr16.sw_r ==CMD_SW_MID) cmd ->CMD_mode =Normal; //左中,右中,无模式 + if(rc->dr16.sw_r ==CMD_SW_MID) cmd ->CMD_mode =AUTO_MID360; //左中,右中,雷达 - if(rc->dr16.sw_r ==CMD_SW_DOWN) cmd ->CMD_mode =AUTO_MID360_Pitch; //左中,右下,视觉 + if(rc->dr16.sw_r ==CMD_SW_DOWN) cmd ->CMD_mode =Normal; //左中,右下,无模式 } else if(rc->dr16.sw_l==CMD_SW_DOWN) { cmd ->CMD_CtrlType =RCcontrol; - if(rc->dr16.sw_r ==CMD_SW_UP) cmd ->CMD_mode =Normal; //左下,右上,投篮 + if(rc->dr16.sw_r ==CMD_SW_UP) cmd ->CMD_mode =Normal; //左下,右上,无模式 if(rc->dr16.sw_r ==CMD_SW_MID) cmd ->CMD_mode =Normal; //左下,右中,无模式 if(rc->dr16.sw_r ==CMD_SW_DOWN) cmd ->CMD_mode =Normal; //左下,右上,无模式 } @@ -198,7 +198,7 @@ int8_t CMD_LD(CMD_t *cmd,const CMD_RC_t *rc){ else if(rc->LD.key_E ==CMD_SW_UP) cmd ->CMD_mode =AUTO_MID360_Pitch; else if(rc->LD .key_E ==CMD_SW_MID ) cmd ->CMD_mode =AUTO_MID360; else cmd ->CMD_mode =Normal ; - + } } else if(cmd ->CMD_CtrlType ==RCcontrol){ /*手动下的*/ @@ -206,6 +206,7 @@ int8_t CMD_LD(CMD_t *cmd,const CMD_RC_t *rc){ else if(rc->LD.key_G ==CMD_SW_UP) cmd ->CMD_mode =Pitch; else if(rc->LD .key_H==CMD_SW_UP) cmd ->CMD_mode =UP_Adjust; else cmd ->CMD_mode =Normal; - } -} + } + } + diff --git a/User/device/rc.c b/User/device/rc.c index bebd452..fd23ae8 100644 --- a/User/device/rc.c +++ b/User/device/rc.c @@ -12,8 +12,8 @@ #include "error_detect.h" -//#define DR16 -#define LD_t +#define DR16 +//#define LD_t #ifdef DR16 #define FRAME_LEN 36 @@ -220,8 +220,8 @@ int8_t RC_ParseRC( DR16_t *dr16,LD_raw_t *LD_raw, LD_Data_t *LD, CMD_RC_t *rc) { rc->dr16.ch_l_x = 2 * ((float)dr16->data.ch_l_x - RC_CH_VALUE_MID) / full_range; rc->dr16.ch_l_y = 2 * ((float)dr16->data.ch_l_y - RC_CH_VALUE_MID) / full_range; - rc->dr16.sw_l = (CMD_SwitchPos_DR16_t)dr16->data.sw_l; - rc->dr16.sw_r = (CMD_SwitchPos_DR16_t)dr16->data.sw_r; + rc->dr16.sw_l = (CMD_SwitchPos_t)dr16->data.sw_l; + rc->dr16.sw_r = (CMD_SwitchPos_t)dr16->data.sw_r; rc->dr16.key = dr16->data.key;