huan 分支
This commit is contained in:
parent
88acd92609
commit
a1fe767681
@ -146,15 +146,19 @@ int8_t CMD_CtrlSet(Chassis_CMD_t *c_cmd, const CMD_RC_t *rc, Gimbal_CMD_t *g_cmd
|
|||||||
{
|
{
|
||||||
case CMD_SW_UP:
|
case CMD_SW_UP:
|
||||||
g_cmd->ctrl_mode = GIMBAL_MODE_REMOTE;
|
g_cmd->ctrl_mode = GIMBAL_MODE_REMOTE;
|
||||||
|
s_cmd->control_mode = SHOOT_REMOTE;
|
||||||
break;
|
break;
|
||||||
case CMD_SW_MID:
|
case CMD_SW_MID:
|
||||||
g_cmd->ctrl_mode = GIMBAL_MODE_AI;
|
g_cmd->ctrl_mode = GIMBAL_MODE_AI;
|
||||||
|
s_cmd->control_mode = SHOOT_AI;
|
||||||
break;
|
break;
|
||||||
case CMD_SW_DOWN:
|
case CMD_SW_DOWN:
|
||||||
g_cmd->ctrl_mode = GIMBAL_MODE_AI;
|
g_cmd->ctrl_mode = GIMBAL_MODE_AI;
|
||||||
|
s_cmd->control_mode = SHOOT_AI;
|
||||||
break;
|
break;
|
||||||
case CMD_SW_ERR:
|
case CMD_SW_ERR:
|
||||||
g_cmd->ctrl_mode = GIMBAL_MODE_REMOTE;
|
g_cmd->ctrl_mode = GIMBAL_MODE_REMOTE;
|
||||||
|
s_cmd->control_mode = SHOOT_REMOTE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -126,8 +126,15 @@ typedef enum {
|
|||||||
SHOOT_MODE_NUM
|
SHOOT_MODE_NUM
|
||||||
}Shoot_Mode_t;
|
}Shoot_Mode_t;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
SHOOT_REMOTE = 0,/* 遥控器控制 */
|
||||||
|
SHOOT_AI, /* AI控制 */
|
||||||
|
} Shoot_Control_Mode_t;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
Shoot_Mode_t mode;/* 射击模式 */
|
Shoot_Mode_t mode;/* 射击模式 */
|
||||||
|
|
||||||
|
Shoot_Control_Mode_t control_mode;/* 控制模式 */
|
||||||
bool ready; /* 准备射击 */
|
bool ready; /* 准备射击 */
|
||||||
bool firecmd; /* 射击 */
|
bool firecmd; /* 射击 */
|
||||||
}Shoot_CMD_t;
|
}Shoot_CMD_t;
|
||||||
|
|||||||
@ -4,11 +4,12 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/* Includes ----------------------------------------------------------------- */
|
/* Includes ----------------------------------------------------------------- */
|
||||||
|
#include "module/cmd.h"
|
||||||
#include "task/user_task.h"
|
#include "task/user_task.h"
|
||||||
/* USER INCLUDE BEGIN */
|
/* USER INCLUDE BEGIN */
|
||||||
#include "module/shoot.h"
|
#include "module/shoot.h"
|
||||||
#include "module/config.h"
|
#include "module/config.h"
|
||||||
|
#include "device/ai.h"
|
||||||
/* USER INCLUDE END */
|
/* USER INCLUDE END */
|
||||||
|
|
||||||
/* Private typedef ---------------------------------------------------------- */
|
/* Private typedef ---------------------------------------------------------- */
|
||||||
@ -18,6 +19,7 @@
|
|||||||
/* USER STRUCT BEGIN */
|
/* USER STRUCT BEGIN */
|
||||||
Shoot_t shoot;
|
Shoot_t shoot;
|
||||||
Shoot_CMD_t shoot_cmd;
|
Shoot_CMD_t shoot_cmd;
|
||||||
|
AI_cmd_t shoot_ai_cmd;
|
||||||
/* USER STRUCT END */
|
/* USER STRUCT END */
|
||||||
|
|
||||||
/* Private function --------------------------------------------------------- */
|
/* Private function --------------------------------------------------------- */
|
||||||
@ -42,8 +44,28 @@ Shoot_SetMode(&shoot,SHOOT_MODE_SINGLE);
|
|||||||
tick += delay_tick; /* 计算下一个唤醒时刻 */
|
tick += delay_tick; /* 计算下一个唤醒时刻 */
|
||||||
/* USER CODE BEGIN */
|
/* USER CODE BEGIN */
|
||||||
osMessageQueueGet(task_runtime.msgq.shoot.cmd, &shoot_cmd, NULL, 0);
|
osMessageQueueGet(task_runtime.msgq.shoot.cmd, &shoot_cmd, NULL, 0);
|
||||||
|
osMessageQueueGet(task_runtime.msgq.gimbal.ai.s_cmd, &shoot_ai_cmd, NULL, 0);
|
||||||
|
|
||||||
|
if(shoot_cmd.control_mode==SHOOT_REMOTE)
|
||||||
|
{
|
||||||
|
//do nothing,使用遥控器的指令
|
||||||
|
}
|
||||||
|
else if(shoot_cmd.control_mode==SHOOT_AI)
|
||||||
|
{
|
||||||
|
shoot_cmd.mode = SHOOT_MODE_SINGLE;
|
||||||
|
if(shoot_ai_cmd.mode==0 || shoot_ai_cmd.mode==1)
|
||||||
|
{
|
||||||
|
shoot_cmd.firecmd=false;
|
||||||
|
shoot_cmd.ready=true;
|
||||||
|
|
||||||
|
}
|
||||||
|
else if(shoot_ai_cmd.mode==2)
|
||||||
|
{
|
||||||
|
|
||||||
|
shoot_cmd.firecmd=true;
|
||||||
|
shoot_cmd.ready=true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Shoot_UpdateFeedback(&shoot);
|
Shoot_UpdateFeedback(&shoot);
|
||||||
Shoot_SetMode(&shoot,shoot_cmd.mode);
|
Shoot_SetMode(&shoot,shoot_cmd.mode);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user