74 lines
1.3 KiB
C
74 lines
1.3 KiB
C
#include "remote_cmd.h"
|
|
#include <string.h>
|
|
#include "bsp\uart.h"
|
|
#include "component\crc16.h"
|
|
#include "component\crc8.h"
|
|
#include "component\user_math.h"
|
|
#include "gimbal.h"
|
|
#include "remote_control.h"
|
|
#include "shoot.h"
|
|
int8_t remote_ParseHost(Gimbal_CMD_t *g_cmd,RC_ctrl_t *rc_ctrl,Gimbal_IMU_t*imu)
|
|
{
|
|
if(rc_ctrl->sw[1]==200){
|
|
g_cmd->ctrl_mode=GIMBAL_MODE_REMOTE;
|
|
g_cmd->mode=GIMBAL_MODE_ABSOLUTE;
|
|
g_cmd->delta_pit=((rc_ctrl->ch[2]-780)*(0.8/830));//806~-780,0.473~-0.71
|
|
g_cmd->delta_yaw=((rc_ctrl->ch[0])*(1.8/800));//400~-397
|
|
|
|
}
|
|
else if(rc_ctrl->sw[2]==1800)
|
|
{
|
|
g_cmd->ctrl_mode=GIMBAL_MODE_AI;
|
|
g_cmd->mode=GIMBAL_MODE_ABSOLUTE;
|
|
}
|
|
else if(rc_ctrl->sw[2]==200)
|
|
{
|
|
g_cmd->mode=GIMBAL_MODE_RELAX;
|
|
}
|
|
}
|
|
|
|
int8_t shoot_remote_cmd(Shoot_CMD_t *s_cmd,RC_ctrl_t *rc_ctrl,Remote_Mode *mode)
|
|
{
|
|
// if(rc_ctrl!=NULL){
|
|
// s_cmd->online=true;
|
|
// }
|
|
|
|
if(rc_ctrl->sw[3]==1800){
|
|
s_cmd->firecmd=false;
|
|
s_cmd->ready=false;
|
|
}
|
|
|
|
|
|
if(rc_ctrl->sw[3]==1000){
|
|
s_cmd->firecmd=false;
|
|
s_cmd->ready=true;
|
|
}
|
|
if(rc_ctrl->sw[3]==200)
|
|
{
|
|
s_cmd->firecmd=true;
|
|
s_cmd->ready=true;
|
|
|
|
}
|
|
|
|
|
|
if(rc_ctrl->sw[4]==1800){
|
|
mode->S_Mode= SHOOT_MODE_SAFE ; /* 安全模式 */
|
|
}
|
|
if(rc_ctrl->sw[4]==1000)
|
|
{
|
|
mode->S_Mode= SHOOT_MODE_SINGLE ; /* 安全模式 */
|
|
}
|
|
if(rc_ctrl->sw[4]==200)
|
|
{
|
|
mode->S_Mode= SHOOT_MODE_CONTINUE ; /* 安全模式 */
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|