This commit is contained in:
ws 2025-04-05 16:12:08 +08:00
parent 7fa2501dad
commit ca4d8145e5

View File

@ -13,22 +13,16 @@
extern RC_mess_t RC_mess;
extern Encoder_t encoder;
extern motor_measure_t *trigger_motor_data;//3508电机数据
extern int mode;
extern GO go;
int shoot_flag = 0;
int trigger_flag = 0;
int pos=0;
int gopos=0;
int speed_5065=0;
#define GO1_SHOOT 0
#define ODRIVE_SHOOT 0
#define VESC_SHOOT 1
//odrive发射
#define SHOOT3 12
#define TOP 6
#define MIDDLE 3
#define BOTTOM 0
void Task_Shoot(void *argument)
{
@ -41,52 +35,47 @@ void Task_Shoot(void *argument)
uint32_t tick = osKernelGetTickCount(); /* 控制任务运行频率的计算 */
go.angleSetgo[0] = 0; //id暂时未知
//go.angleSetgo[0] = 0; //id暂时未知
GO_TURN_ball(TURN,go,gopos); //发射舵机位置
osDelay(1000);
osDelay(500);
while(1)
{
#if GO1_SHOOT == 1
shoot_ball(0);
#elif ODRIVE_SHOOT == 1
if(mode == THREE)
{
shoot_odrive(SHOOT3);
}
else if(mode == DZ)
{
if(trigger_motor_data->total_angle ==0)//扳机已闭合
{
shoot_back(DZ);
}
}
#endif
#if VESC_SHOOT == 1
gopos=35;
GO_TURN_ball(TURN,go,gopos); //发射舵机位置
if(shoot_flag==1)
gopos=35;//云台位置
GO_TURN_ball(GIMBAL,go,gopos); //锁云台
if(shoot_flag==1||RC_mess.RC_data.sw[0]==306)//加速
{
CAN_VESC_RPM(0, 10000); //发射电机转速
CAN_VESC_RPM(1, 10000); //发射电机转速
if(trigger_flag == 1)
if(HAL_GPIO_ReadPin(ball_in1_GPIO_Port, ball_in1_Pin) == GPIO_PIN_RESET)
{
trigger_pos(pos); //扳机电机转速
trigger_flag = 0;
CAN_VESC_HEAD(1);
CAN_VESC_HEAD(2);
}
else
{
speed_5065=35000;
CAN_VESC_RPM(1, speed_5065); //发射电机转速
CAN_VESC_RPM(2, speed_5065); //发射电机转速
}
}
else if(shoot_flag == 2 || RC_mess.RC_data.sw[5]==1694)//返回//不拨动为306
{
speed_5065=-5000;
CAN_VESC_RPM(1, speed_5065); //发射电机转速
CAN_VESC_RPM(2, speed_5065); //发射电机转速
}
else if(shoot_flag == 0)
{
CAN_VESC_RPM(0, 0); //发射电机转速
CAN_VESC_RPM(1, 0); //发射电机转速
trigger_pos(0); //扳机电机转速
CAN_VESC_RPM(2, 0); //发射电机转速
}