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:
|
||||
g_cmd->ctrl_mode = GIMBAL_MODE_REMOTE;
|
||||
s_cmd->control_mode = SHOOT_REMOTE;
|
||||
break;
|
||||
case CMD_SW_MID:
|
||||
g_cmd->ctrl_mode = GIMBAL_MODE_AI;
|
||||
s_cmd->control_mode = SHOOT_AI;
|
||||
break;
|
||||
case CMD_SW_DOWN:
|
||||
g_cmd->ctrl_mode = GIMBAL_MODE_AI;
|
||||
s_cmd->control_mode = SHOOT_AI;
|
||||
break;
|
||||
case CMD_SW_ERR:
|
||||
g_cmd->ctrl_mode = GIMBAL_MODE_REMOTE;
|
||||
s_cmd->control_mode = SHOOT_REMOTE;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@ -126,8 +126,15 @@ typedef enum {
|
||||
SHOOT_MODE_NUM
|
||||
}Shoot_Mode_t;
|
||||
|
||||
typedef enum {
|
||||
SHOOT_REMOTE = 0,/* 遥控器控制 */
|
||||
SHOOT_AI, /* AI控制 */
|
||||
} Shoot_Control_Mode_t;
|
||||
|
||||
typedef struct {
|
||||
Shoot_Mode_t mode;/* 射击模式 */
|
||||
|
||||
Shoot_Control_Mode_t control_mode;/* 控制模式 */
|
||||
bool ready; /* 准备射击 */
|
||||
bool firecmd; /* 射击 */
|
||||
}Shoot_CMD_t;
|
||||
|
||||
@ -4,11 +4,12 @@
|
||||
*/
|
||||
|
||||
/* Includes ----------------------------------------------------------------- */
|
||||
#include "module/cmd.h"
|
||||
#include "task/user_task.h"
|
||||
/* USER INCLUDE BEGIN */
|
||||
#include "module/shoot.h"
|
||||
#include "module/config.h"
|
||||
|
||||
#include "device/ai.h"
|
||||
/* USER INCLUDE END */
|
||||
|
||||
/* Private typedef ---------------------------------------------------------- */
|
||||
@ -18,6 +19,7 @@
|
||||
/* USER STRUCT BEGIN */
|
||||
Shoot_t shoot;
|
||||
Shoot_CMD_t shoot_cmd;
|
||||
AI_cmd_t shoot_ai_cmd;
|
||||
/* USER STRUCT END */
|
||||
|
||||
/* Private function --------------------------------------------------------- */
|
||||
@ -42,8 +44,28 @@ Shoot_SetMode(&shoot,SHOOT_MODE_SINGLE);
|
||||
tick += delay_tick; /* 计算下一个唤醒时刻 */
|
||||
/* USER CODE BEGIN */
|
||||
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_SetMode(&shoot,shoot_cmd.mode);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user