| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258 |
- #ifndef _PARAMS_H_
- #define _PARAMS_H_
- #include <stdint.h>
- 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
|