#ifndef _PARAMS_H_ #define _PARAMS_H_ #include typedef enum { ParamNum_APType = 0, /* 机型 */ ParamNum_RadioLinkLostTimeS = 1, /* 电台失连时间 */ ParamNum_LowVoltAction1 = 2, /* 1 级低电压动作 */ ParamNum_LowVoltValue1 = 3, /* 1 级低电压阈值 */ ParamNum_APCircleRadiusM = 4, /* 环绕半径 */ ParamNum_APRthAltM = 5, /* 返航高度 */ ParamNum_APTakeoffAltM = 6, /* 起飞高度 */ ParamNum_MagDeclinationDeg = 7, /* 磁偏角 */ ParamNum_LidarObavoidAction = 8, /* 雷达灵敏度 */ ParamNum_ImuFilterLever = 9, /* imu 滤波参数 */ ParamNum_ImuAssembleDirection = 10, /* imu 安装方向 */ ParamNum_APIdleSpeed = 11, /* 怠速等级 */ ParamNum_Gps1PosCalibX = 12, /* Gps 1 安装 X 补偿 */ ParamNum_Gps1PosCalibY = 13, /* Gps 1 安装 Y 补偿 */ ParamNum_Gps1PosCalibZ = 14, /* Gps 1 安装 Z 补偿 */ ParamNum_Port4Multiplexing = 15, /* 串口 4 功能复用 */ ParamNum_DgpsAssembleDirection = 16, /* 双查分天线安装方向 */ ParamNum_APMaxTilteAngleDeg = 17, /* 旋翼最大目标倾斜角度 */ ParamNum_APMaxHorizonalSpeedGpsModeDms = 18, /* gps 推杆最大目标水平速度 */ ParamNum_APMaxClimbSpeedGpsModeDms = 19, /* gps 推杆最大目标爬升速度 */ ParamNum_APMaxDeclineSpeedGpsModeDms = 20, /* gps 推杆最大目标下降速度 */ ParamNum_APHoverThrottle = 21, /* 旋翼悬停油门 */ ParamNum_AltRestrictionA = 22, /* 一级高度限制 */ ParamNum_AltRestrictionB = 23, /* 二级高度限制 */ ParamNum_APMaxYawRate = 24, /* 旋翼最大锁尾角速度 */ ParamNum_VoltCalibKp0 = 25, /* 电压校准比例系数0, 通道0(飞控供电通道) */ ParamNum_VoltCalibKp1 = 26, /* 电压校准比例系数1 */ ParamNum_VoltCalibKp2 = 27, /* 电压校准比例系数2 */ ParamNum_VoltCalibOffset0 = 28, /* 电压校准偏移系数0, 通道0(飞控供电通道) */ ParamNum_VoltCalibOffset1 = 29, /* 电压校准偏移系数1 */ ParamNum_VoltCalibOffset2 = 30, /* 电压校准偏移系数2 */ ParamNum_FollowDistM = 31, /* 跟随距离 */ ParamNum_APMaxClimbSpeedAutoModeDms = 32, /* 自动模式最大目标爬升速度 dm/s */ ParamNum_APMaxDeclineSpeedAutoModeDms = 33, /* 自动模式最大目标下降速度 dm/s */ ParamNum_APMinLandingRateAutoModeDms = 34, /* 自动模式最小降落速度 dm/s */ ParamNum_MaxHorizonalDistanceM = 35, /* 最远水平距离 */ ParamNum_CameraSignalType = 36, /* 拍照信号类型 0-低电平 1-高电平 2-pwm */ ParamNum_CameraSignalInterval = 37, /* 拍照信号持续时间 ms */ ParamNum_CameraSignalPwmOn = 38, /* 拍照 pwm 高电平时间 */ ParamNum_CameraSignalPwmOff = 39, /* 不拍照 PWM 高电平时间 */ ParamNum_RollAngleKp = 40, /* 横滚姿态感度系数 */ ParamNum_RollGyroKp = 41, /* 横滚基础感度系数 */ ParamNum_RollGyroKd = 42, /* 横滚增稳系数 */ ParamNum_PitchAngleKp = 43, /* 俯仰姿态感度系数 */ ParamNum_PitchGyroKp = 44, /* 俯仰基础感度系数 */ ParamNum_PitchGyroKd = 45, /* 俯仰增稳系数 */ ParamNum_YawAngleKp = 46, /* 航向姿态感度系数 */ ParamNum_YawGyroKp = 47, /* 航向基础感度系数 */ ParamNum_YawGyroKd = 48, /* 航向增稳系数 */ ParamNum_AltholdDistKp = 49, /* 定高位置系数 */ ParamNum_AltholdSpeedKp = 50, /* 定高速度系数 */ ParamNum_AltholdAccKp = 51, /* 定高加速度系数 */ ParamNum_AltholdAccKi = 52, /* 定高积分补偿系数 */ ParamNum_LoiterDistKp = 53, /* 水平位置系数 */ ParamNum_LoiterSpeedKp = 54, /* 水平速度系数 */ ParamNum_LoiterAccKp = 55, /* 水平加速度系数 */ ParamNum_LoiterAccKi = 56, /* 水平积分补偿系数 */ ParamNum_APRthSpeedDms = 57, /* 返航速度 dm/s */ ParamNum_GyroBrakeRatio = 58, /* 陀螺刹车系数 */ ParamNum_LowVoltAction2 = 59, /* 2 级低电压动作 */ ParamNum_LowVoltValue2 = 60, /* 2 级低电压阈值 */ ParamNum_RcFailLoiterTimeS = 61, /* 遥控器失控悬停等待时间 */ ParamNum_Gps2PosCalibX = 62, /* Gps 2 安装 X 补偿 */ ParamNum_Gps2PosCalibY = 63, /* Gps 2 安装 Y 补偿 */ ParamNum_Gps2PosCalibZ = 64, /* Gps 2 安装 Z 补偿 */ ParamNum_VehicleFollowRightDistDM = 65, /* 车载跟随右向距离 */ ParamNum_VehicleFollowForwardDistDM = 66, /* 车载跟随前向距离 */ ParamNum_VehicleFollowIncYawAngleDeg = 67, /* 车载跟随机头夹角 */ ParamNum_VehicleFollowUpDistDM = 68, /* 车载跟随天向距离 */ ParamNum_BaseDgpsYawDeclination = 69, /* 基站双天线航向偏角 0.1deg */ ParamNum_ImitatingFlightSensibility = 70, /* 仿地飞行灵敏度 */ ParamNum_ObstacleHoldDistCm = 71, /* 避障距离 cm */ ParamNum_SbusOAfCofig = 72, /* SBUS OUT 接口复用功能设置 */ ParamNum_LinklostAction = 73, /* 通讯失联保护动作 */ ParamNum_MaxHorJet = 74, /* 最大加速度变化率 */ ParamNum_R0 = 75, ParamNum_R1 = 76, ParamNum_BmsLowCapcityPercentage = 77, /* 智能电池低电量百分比 */ ParamNUm_TPAFCONF = 78, /* TP 口复用为开伞 */ ParamNum_ServoFailsafe = 79, /* 主动断桨保护 */ ParamNum_BmsLowCapcityPercentage2 = 80, /* 智能电池低电量 2级 */ ParamNum_MaxNum } ParamsEnumType; void params_set_value(uint16_t param_num, int16_t param_value); int16_t params_get_value(uint16_t param_num); /*------------- duplicating -----------------------*/ struct FEI_CAN_DATA { unsigned char jixing; // 机型 char lowvolt_flag; // 0不开启,1为信号灯提示,2为信号灯提示并返航 short lowvolt_value; // 低电压电压值 char lowvolt_flag2; short lowvolt_value2; // 二级降落保护电压 short lostlink_time; // 失联时间s int circle_radius; // 盘旋半径,单位cm int takeoff_alt_cm; // 起飞高度,单位cm int rth_alt_cm; // 返航高度,单位cm float mag_offset; // 磁偏角,单位度 char enable_infrared; // 红外使能 short idle_speed; //怠速油门 1-1100 2-1150 3-1200 4-1250 5-1300 uint8_t port4_af_function; // 串口 4 复用功能 uint16_t rc_fail_loiter_time; // 遥控器失控悬停等待时间 }; extern struct FEI_CAN_DATA conf_par; struct VER_DATA { char ap_name[10]; // 飞控名称 int serial_id; // 序列号 int hardware_id; // 硬件号 int firmware_id; // 固件号 }; extern struct VER_DATA ver_par; struct data_pid { short _pid_flag; // 0xa00a short _Roll_Angle_P; short _Roll_Gyro_P; char _Roll_Gyro_I; char _Roll_Gyro_D; unsigned char _Roll_Gyro_Imax; short _Pitch_Angle_P; short _Pitch_Gyro_P; char _Pitch_Gyro_I; char _Pitch_Gyro_D; unsigned char _Pitch_Gyro_Imax; short _Yaw_Angle_P; short _Yaw_Gyro_P; char _Yaw_Gyro_I; char _Yaw_Gyro_D; unsigned char _Yaw_Gyro_Imax; short _AltHold_Dist_P; short _AltHold_Speed_P; short _AltHold_Acc_P; char _AltHold_Acc_I; unsigned char _AltHold_Acc_Imax; short _Loiter_Dist_P; short _Loiter_Speed_P; short _Loiter_Acc_P; char _Loiter_Acc_I; unsigned char _Loiter_Brake_Gyro; short _rc_cal_offset[4]; short _rc_cal_factor_up[4]; short _rc_cal_factor_down[4]; }; extern struct data_pid pidinf; struct data_ver //固件版本号 { short _ver_flag; //飞控名称 char _ap_name[10]; //序列号 int _serial_id; uint8_t _sysid; uint8_t _reserverd; uint16_t _hw_ver; }; extern struct data_ver verinf; struct data_conf //机型参数设置数据 { short _conf_flag; unsigned char _jixing; // 飞机类型 uint16_t _lostlink_time; // 电台中断保护时间 单位s unsigned char _lowvolt_flag; // 低电压保护,0不开启 1提示灯 2返航 uint16_t _lowvolt_value; // 低电压保护阈值 uint16_t _circle_radius; // 盘旋半径,单位m uint16_t _rth_alt; // 返航高度,单位m uint16_t _takeoff_alt; // 自动起飞高度,单位m signed char _mag_offset; // 磁偏角 char _enable_infrared; // 是否开启红外 char _idle_speed_level; // 怠速级别 uint8_t _port4_af_function; // 串口 4 复用功能配置 uint8_t _lowvolt_flag2; // 二级电压保护动作 uint16_t _lowvolt_value2; // 二级降落保护电压 uint16_t _rc_fail_loiter_time; // 遥控器失控后悬停等待时间 uint8_t _imitate_sensibility; // 仿地灵敏度 }; extern struct data_conf confinf; struct data_cam //拍照参数设置数据 { short _cam_flag; unsigned char _signal_type; // 信号类型 0-低电平 1-高电平 2-pwm unsigned short _signal_interval; // 信号持续时间 unsigned short _signal_pwm_takephoto_on; // 拍照 pwm 占空比 unsigned short _signal_pwm_takephoto_off; // 不拍照 pwm 占空比 }; extern struct data_cam caminf; struct data_par //设置参数信息 { short _par_flag; uint8_t _par_maxangle; // 最大角度 deg uint8_t _par_maxhspeed; // gps 推杆最大目标水平速度 dm/s uint8_t _par_maxupspeed; // gps 推杆最大目标爬升速度 dm/s uint8_t _par_maxdownspeed; // gps 推杆最大目标下降速度 dm/s uint16_t _par_hover_throttle; // 悬停油门值 uint16_t _par_alt_fs_rth; // 一级高度限制 m uint16_t _par_alt_fs_land; // 二级高度限制 m uint8_t _par_maxyawrate; // 自动模式最大航向目标速率 deg/s signed char _par_volt_offset[3]; // 0.1v uint8_t _fllow_dist; // 跟随距离 m uint8_t _par_max_climb_rate_automode; // 自动模式最大目标爬升速度 dm/s uint8_t _par_max_approach_rate_automode; // 自动模式最大目标下降速度 dm/s uint8_t _par_min_landing_rate_automode; // 自动模式最小目标降落速度 dm/s uint8_t _par_max_rth_horizontal_speed; // 自动模式巡航最大目标水平速度 dm/s uint16_t _par_volt_kp[3]; // 电压校准比例系数 * 1000 signed char _par_volt_offset_b[3]; uint16_t _max_horizonal_distance; // 最远水平距离, 单位米 short _vehicle_forward_dist_dm; short _vehicle_right_dist_dm; short _vehicle_yaw_included_angle; short _vehicle_up_dist; short _vehicle_base_dgps_yaw_dec; // 车载基站差分偏角 uint16_t _obstacle_dist_cm; /* 避障距离 */ uint8_t _sbuso_af_config; /* sbus.o 功能复用 */ uint8_t _linklost_action; /* 通讯失联动作 0-非任务中返航 1-全返航 */ uint8_t _max_hor_jet; /* 最大加速度变化率 4~50m/s^3 */ uint8_t _bms_low_capacity_percentage; /* 智能电池低电量保护百分比 */ uint8_t _bms_low_capacity_percentage2; /* 智能电池低电量保护百分比 2 */ uint8_t _motor_failsafe_action; /* 主动式断桨保护 0-不启用 1-启用并返航 2-启用并迫降 */ uint8_t _tp_afconfig; /* TP 口功能复用 0-拍照 1-降落伞 */ }; extern struct data_par parinf; #endif