#include "shoot.h"
#include "remote_control.h"
#include "go.h"
#include "calc_lib.h"

extern RC_mess_t RC_mess;
extern motor_measure_t *trigger_motor_data;//3508电机数据
extern GO go;

int shoot_flag = 0;
int speed_5065=0;

#define KP 0.12
#define KD 0.008

//sw[1] 306--1694
void control_shoot(void)
{

    if(RC_mess.RC_data.sw[1]>800)
      {

        if(HAL_GPIO_ReadPin(ball_in1_GPIO_Port, ball_in1_Pin) == GPIO_PIN_RESET)
        {
          CAN_VESC_HEAD(1);
          CAN_VESC_HEAD(2);
        }
        else 
        {
          //speed_5065=5000;
          speed_5065=map_fp32(RC_mess.RC_data.ch[2],0,100,0,25000);
          CAN_VESC_RPM(1, speed_5065); //发射电机转速
          CAN_VESC_RPM(2, speed_5065); //发射电机转速
          
        }

      }
      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); //发射电机转速
        osDelay(2000);
        speed_5065=0;
        
      }

      osDelay(1);

}

