// import { commonColor } from '@/utils/color'; // domain export const DOMAIN = { DRONE: '0', // 飞行器 PAYLOAD: '1', // 负载 RC: '2', // 遥控 DOCK: '3', // 机场 } // 设备sub_type 从0升序 export const DEVICE_SUB_TYPE = { ZERO: 0, ONE: 1, TWO: 2, THREE: 3, UNKNOWN: 65535, } // DJI飞机类型 export const DRONE_TYPE = { M30: 67, M300: 60, Mavic3EnterpriseAdvanced: 77, M350: 89, } // DJI负载类型枚举值 export const PAYLOAD_TYPE = { FPV: 39, H20: 42, H20T: 43, H20N: 61, EP600: 50, EP800: 90742, M30D: 52, M30T: 53, XT2: 26, XTS: 41, Z30: 20, DockTopCamera: 165, M3E: 66, M3T: 67, // UNKNOWN = 65535 } // RC type export const RC_TYPE = { RC: 56, RCPlus: 119, RC144: 144, } // DOCK type export const DOCK_TYPE = { Dock: 1, } export const DEVICE_MODEL_KEY = { M30: `${DOMAIN.DRONE}-${DRONE_TYPE.M30}-${DEVICE_SUB_TYPE.ZERO}`, M30T: `${DOMAIN.DRONE}-${DRONE_TYPE.M30}-${DEVICE_SUB_TYPE.ONE}`, M3E: `${DOMAIN.DRONE}-${DRONE_TYPE.Mavic3EnterpriseAdvanced}-${DEVICE_SUB_TYPE.ZERO}`, M3T: `${DOMAIN.DRONE}-${DRONE_TYPE.Mavic3EnterpriseAdvanced}-${DEVICE_SUB_TYPE.ONE}`, M300: `${DOMAIN.DRONE}-${DRONE_TYPE.M300}-${DEVICE_SUB_TYPE.ZERO}`, M350: `${DOMAIN.DRONE}-${DRONE_TYPE.M350}-${DEVICE_SUB_TYPE.ZERO}`, FPV: `${DOMAIN.PAYLOAD}-${PAYLOAD_TYPE.FPV}-${DEVICE_SUB_TYPE.ZERO}`, H20: `${DOMAIN.PAYLOAD}-${PAYLOAD_TYPE.H20}-${DEVICE_SUB_TYPE.ZERO}`, H20T: `${DOMAIN.PAYLOAD}-${PAYLOAD_TYPE.H20T}-${DEVICE_SUB_TYPE.ZERO}`, H20N: `${DOMAIN.PAYLOAD}-${PAYLOAD_TYPE.H20N}-${DEVICE_SUB_TYPE.ZERO}`, EP600: `${DOMAIN.PAYLOAD}-${PAYLOAD_TYPE.EP600}-${DEVICE_SUB_TYPE.UNKNOWN}`, EP800: `${DOMAIN.PAYLOAD}-${PAYLOAD_TYPE.EP800}-${DEVICE_SUB_TYPE.ZERO}`, M30Camera: `${DOMAIN.PAYLOAD}-${PAYLOAD_TYPE.M30D}-${DEVICE_SUB_TYPE.ZERO}`, M30TCamera: `${DOMAIN.PAYLOAD}-${PAYLOAD_TYPE.M30T}-${DEVICE_SUB_TYPE.ZERO}`, M3ECamera: `${DOMAIN.PAYLOAD}-${PAYLOAD_TYPE.M3E}-${DEVICE_SUB_TYPE.ZERO}`, M3TCamera: `${DOMAIN.PAYLOAD}-${PAYLOAD_TYPE.M3T}-${DEVICE_SUB_TYPE.ZERO}`, XT2: `${DOMAIN.PAYLOAD}-${PAYLOAD_TYPE.XT2}-${DEVICE_SUB_TYPE.ZERO}`, XTS: `${DOMAIN.PAYLOAD}-${PAYLOAD_TYPE.XTS}-${DEVICE_SUB_TYPE.ZERO}`, Z30: `${DOMAIN.PAYLOAD}-${PAYLOAD_TYPE.Z30}-${DEVICE_SUB_TYPE.ZERO}`, DockTopCamera: `${DOMAIN.PAYLOAD}-${PAYLOAD_TYPE.DockTopCamera}-${DEVICE_SUB_TYPE.ZERO}`, RC: `${DOMAIN.RC}-${RC_TYPE.RC}-${DEVICE_SUB_TYPE.ZERO}`, RCPlus: `${DOMAIN.RC}-${RC_TYPE.RCPlus}-${DEVICE_SUB_TYPE.ZERO}`, Dock: `${DOMAIN.DOCK}-${DOCK_TYPE.Dock}-${DEVICE_SUB_TYPE.ZERO}`, } export const DEVICE_NAME = { // drone [DEVICE_MODEL_KEY.M30]: 'M30', [DEVICE_MODEL_KEY.M30T]: 'M30T', [DEVICE_MODEL_KEY.M3E]: 'Mavic 3E', [DEVICE_MODEL_KEY.M3T]: 'Mavic 3T', // [DEVICE_MODEL_KEY.M3M]: 'Mavic 3M', [DEVICE_MODEL_KEY.M300]: 'M300 RTK', [DEVICE_MODEL_KEY.M350]: 'M350 RTK', // payload [DEVICE_MODEL_KEY.FPV]: 'FPV', [DEVICE_MODEL_KEY.H20]: 'H20', [DEVICE_MODEL_KEY.H20T]: 'H20T', [DEVICE_MODEL_KEY.H20N]: 'H20N', [DEVICE_MODEL_KEY.EP600]: 'P1', [DEVICE_MODEL_KEY.EP800]: 'L1', [DEVICE_MODEL_KEY.M30Camera]: 'M30 Camera', [DEVICE_MODEL_KEY.M30TCamera]: 'M30T Camera', [DEVICE_MODEL_KEY.M3ECamera]: 'Mavic 3E', [DEVICE_MODEL_KEY.M3TCamera]: 'Mavic 3T', // [DEVICE_MODEL_KEY.M3MCamera]: 'Mavic 3M', [DEVICE_MODEL_KEY.XT2]: 'XT2', [DEVICE_MODEL_KEY.XTS]: 'XTS', [DEVICE_MODEL_KEY.Z30]: 'Z30', [DEVICE_MODEL_KEY.DockTopCamera]: 'Dock Camera', // rc [DEVICE_MODEL_KEY.RC]: 'RC', [DEVICE_MODEL_KEY.RCPlus]: 'RC Plus', // dock [DEVICE_MODEL_KEY.Dock]: 'Dock', } export const ControlSource = { A: 'A', B: 'B', } export const RainfallEnum = { 正常: 0, 小雨: 1, 中雨: 2, 大雨: 3, 0: '正常', 1: '小雨', 2: '中雨', 3: '大雨', } export const DroneInDockEnum = { 舱外: 0, 舱内: 1, 0: '舱外', 1: '舱内', } export const EModeText = { 待机: 0, 起飞准备: 1, 起飞准备完毕: 2, 手动飞行: 3, 自动起飞: 4, 航线飞行: 5, 全景拍照: 6, 智能跟随: 7, 'ADS-B躲避': 8, 自动返航: 9, 自动降落: 10, 强制降落: 11, 三桨叶降落: 12, 升级中: 13, 未连接: 14, APAS: 15, 虚拟摇杆状态: 16, 指令飞行: 17, 0: '待机', 1: '起飞准备', 2: '起飞准备完毕', 4: '自动起飞', 5: '航线飞行', 17: '指令飞行', 3: '手动飞行', 16: '虚拟摇杆状态', 9: '自动返航', //只有这个可以取消返航 10: '自动降落', 11: '强制降落', 12: '三桨叶降落', 13: '升级中', 14: '未连接', 15: 'APAS', 6: '全景拍照', 7: '智能跟随', 8: 'ADS-B躲避', } const modeColor = { // 只能用rgba,并且是三个,因为有代码会用color进行转换 green: 'rgba(6, 217, 87)', yellow: 'rgba(255, 178, 106)', red: 'rgba(255, 106, 106)', black: 'rgba(143,143,143)', } export const droneMode = { 0: { label: '待机', color: modeColor.yellow, }, 1: { label: '起飞准备', color: modeColor.yellow }, 2: { label: '起飞准备完毕', color: modeColor.green }, 4: { label: '自动起飞', color: modeColor.green }, 5: { label: '航线飞行', color: modeColor.green }, 17: { label: '指令飞行', color: modeColor.green }, 3: { label: '手动飞行', color: modeColor.green }, 16: { label: '虚拟摇杆状态', color: modeColor.green }, 9: { label: '自动返航', color: modeColor.green }, 10: { label: '自动降落', color: modeColor.green }, 11: { label: '强制降落', color: modeColor.red }, 12: { label: '三桨叶降落', color: modeColor.black }, 13: { label: '升级中', color: modeColor.yellow }, 14: { label: '未连接', color: modeColor.red }, 15: { label: 'APAS', color: modeColor.black }, 6: { label: '全景拍照', color: modeColor.yellow }, 7: { label: '智能跟随', color: modeColor.black }, 8: { label: 'ADS-B躲避', color: modeColor.black } } export const EModeCode = { Standby: 0, Preparing: 1, Ready: 2, Manual: 3, Automatic: 4, Waypoint: 5, Panoramic: 6, Active_Track: 7, ADS_B: 8, Return_To_Home: 9, Landing: 10, Forced_Landing: 11, Three_Blades_Landing: 12, Upgrading: 13, Disconnected: 14, } export const EGear = { A: 0, P: 1, NAV: 2, FPV: 3, FARM: 4, S: 5, F: 6, M: 7, G: 8, T: 9, 0: 'A', 1: 'P', 2: 'NAV', 3: 'FPV', 4: 'FARM', 5: 'S', 6: 'F', 7: 'M', 8: 'G', 9: 'T', } export const EDeviceType = { M30: '0-67-0', M30T: '0-67-1', M300: '0-60-0', M350: DEVICE_MODEL_KEY.M350, Z30: '1-20-0', XT2: '1-26-0', FPV: '1-39-0', XTS: '1-41-0', H20: '1-42-0', H20T: '1-43-0', P1: '1-50-65535', M30_Camera: '1-52-0', M30T_Camera: '1-53-0', H20N: '1-61-0', DJI_Dock_Camera: '1-165-0', L1: '1-90742-0', M3E: '0-77-0', M3D: '0-91-0', M3TD: '0-91-1', M3E_Camera: '1-66-0', M3T_Camera: '0-67-1', M3D_Camera: '1-80-0', M3TD_Camera: '1-81-0', } export const DRONE_LIST = [ { label: 'M30 系列', value: '67', minPitchAngle: -85, maxPitchAngle: -40, payloads: [ { label: 'M30 相机', value: '0-67-0', payload_info: '1-52-0' }, { label: 'M30T 相机', value: '0-67-1', payload_info: '1-53-0' }, ], }, { label: 'M3D 系列', value: '91', minPitchAngle: -85, maxPitchAngle: -40, payloads: [ { label: 'M3D 相机', value: '0-91-0', payload_info: '1-80-0' }, { label: 'M3TD 相机', value: '0-91-1', payload_info: '1-81-0' }, ], }, { label: 'M4D 系列', value: "100", minPitchAngle: 10, maxPitchAngle: 45, payloads: [ { label: 'M4D 相机', value: '0-100-0', payload_info: '1-98-0' }, { label: 'M4TD 相机', value: '0-100-1', payload_info: '1-99-0' } ] } ] export const EDockModeText = { 已断开连接: -1, 设备空闲中: 0, 现场调试: 1, 远程调试: 2, 固件升级中: 3, 设备工作中: 4, '-1': '已断开连接', 0: '设备空闲中', 1: '现场调试', 2: '远程调试', 3: '固件升级中', 4: '设备工作中', } export const EDockModeCode = { Disconnected: '-1', Idle: 0, Debugging: 1, Remote_Debugging: 2, Upgrading: 3, Working: 4, '-1': 'Disconnected', 0: 'Idle', 1: 'Debugging', 2: 'Remote_Debugging', 3: 'Upgrading', 4: 'Working', } export const ContinuingToFly = [ { "code": "315000", "faultDimension": "通信中断", "message": "机场通信异常需重启(飞行中断连)" }, { "code": "315001", "faultDimension": "通信中断", "message": "机场通信异常需远程开飞机重试(控制信号丢失)" }, { "code": "315003", "faultDimension": "通信中断", "message": "机场通信异常需重启(指令传输失败)" }, { "code": "315006", "faultDimension": "通信中断", "message": "机场通信异常需重启(任务中断)" }, { "code": "315009", "faultDimension": "通信中断", "message": "机场通信异常需重启(通信异常)" }, { "code": "316006", "faultDimension": "设备异常", "message": "任务超时,降落时机场未开启舱盖/推杆(无法安全降落)" }, { "code": "316011", "faultDimension": "设备异常", "message": "降落位置偏移过大(RTK失效或风速影响)" }, { "code": "316016", "faultDimension": "通信中断", "message": "降落超时(断连导致无法降落)" }, { "code": "316017", "faultDimension": "通信中断", "message": "获取媒体超时(断连导致数据缺失)" }, { "code": "316018", "faultDimension": "通信中断", "message": "任务执行超时(断连导致中止)" }, { "code": "316033", "faultDimension": "环境因素", "message": "电池循环次数过高强制终止(飞行中老化保护)" }, { "code": "316034", "faultDimension": "设备异常", "message": "固件版本不匹配强制终止" }, { "code": "316050", "faultDimension": "环境因素", "message": "电量过低在舱外降落" }, { "code": "316051", "faultDimension": "设备异常", "message": "任务异常在舱外降落" }, { "code": "316052", "faultDimension": "设备异常", "message": "飞往备降点降落(突发异常)" }, { "code": "316053", "faultDimension": "用户干预", "message": "用户操控降落(人工接管)" }, // { // "code": "321517", // "faultDimension": "避障系统", // "message": "触发避障终止航线(紧急刹车)" // }, { "code": "321518", "faultDimension": "设备异常", "message": "RTK信号差(飞行中定位丢失)" }, // { // "code": "321519", // "faultDimension": "避障系统", // "message": "接近限飞区自动返航" // }, { "code": "321520", "faultDimension": "用户干预", "message": "打杆中断航线(农机操作)" }, // { // "code": "321521", // "faultDimension": "避障系统", // "message": "超过机场限高区限高" // }, { "code": "321525", "faultDimension": "设备异常", "message": "仿地绕行失败暂停航线(地形匹配异常)" }, // { // "code": "321528", // "faultDimension": "避障系统", // "message": "触碰自定义飞行区边界暂停" // }, // { // "code": "321529", // "faultDimension": "避障系统", // "message": "目标点在禁飞区/障碍物内暂停" // }, { "code": "321530", "faultDimension": "设备异常", "message": "航线轨迹规划失败暂停" }, { "code": "321773", "faultDimension": "环境因素", "message": "低电量自动返航(航线未完成)" }, { "code": "321775", "faultDimension": "通信中断", "message": "航线飞行中失联(完全断连)" }, { "code": "321779", "faultDimension": "设备异常", "message": "仿地相机异常(过曝/过暗,视觉失效)" }, { "code": "321784", "faultDimension": "环境因素", "message": "大风紧急返航(风速>12m/s)" }, // { // "code": "321774", // "faultDimension": "避障系统", // "message": "ADS-B避让载人航空器" // }, { "code": "322025", "faultDimension": "设备异常", "message": "负载设备失联(喷洒器/吊舱断开)" }, { "code": "322026", "faultDimension": "设备异常", "message": "航点动作失败(喷洒无药/播撒故障)" }, { "code": "322027", "faultDimension": "设备异常", "message": "农业任务物料耗尽" }, { "code": "322028", "faultDimension": "设备异常", "message": "雷达断链导致避障失效(农机)" }, { "code": "322281", "faultDimension": "用户干预", "message": "用户主动退出任务" }, { "code": "322282", "faultDimension": "用户干预", "message": "被云端/遥控器接管" }, { "code": "322283", "faultDimension": "用户干预", "message": "用户触发返航中断任务" }, { "code": "322284", "faultDimension": "用户干预", "message": "开/关仿地绕行开关(农业手动干预)" }, { "code": "322285", "faultDimension": "用户干预", "message": "切换RC-Mode档位(控制权变更)" }, // { // "code": "322565", // "faultDimension": "避障系统", // "message": "航线避障紧急刹车(动态障碍物)" // }, { "code": "326005", "faultDimension": "通信中断", "message": "增强图传连接失败(4G信号问题)" }, { "code": "338049", "faultDimension": "用户干预", "message": "响应摇杆操作退出指点飞行" }, { "code": "338050", "faultDimension": "环境因素", "message": "低电量返航退出指点飞行" }, { "code": "338051", "faultDimension": "环境因素", "message": "低电量降落退出指点飞行" }, // { // "code": "338052", // "faultDimension": "避障系统", // "message": "附近载人机退出指点飞行" // }, { "code": "338053", "faultDimension": "用户干预", "message": "高优先级任务中断指点飞行" }, { "code": "513008", "faultDimension": "通信中断", "message": "直播图传数据异常" }, { "code": "513015", "faultDimension": "通信中断", "message": "直播网络卡顿(带宽不足)" }, { "code": "514134", "faultDimension": "环境因素", "message": "降雨量>中雨终止任务(桨叶结冰风险)" }, { "code": "514137", "faultDimension": "环境因素", "message": "环境温度<-20℃终止任务" }, { "code": "316009", "faultDimension": "", "message": "飞行器电量低于30%,无法执行飞行任务,请充电后重试(建议电量≥50%)" }, { "code": "316050", "faultDimension": "", "message": "飞行器因电量过低在舱外降落,请立即检查飞行器是否已安全降落并将飞行器放回至机场" }, { "code": "319026", "faultDimension": "", "message": "飞行器电池电量低于用户设置的任务开始执行的电量,请等待充电完成后再执行飞行任务" }, { "code": "321772", "faultDimension": "", "message": "飞行器电量低于30%,无法执行飞行任务,请充电后重试(建议电量≥50%)" }, { "code": "321773", "faultDimension": "", "message": "飞行器执行飞行任务过程中低电量返航,无法完成航线飞行" }, { "code": "336017", "faultDimension": "", "message": "飞行器电量不足以完成当前任务" }, { "code": "338051", "faultDimension": "", "message": "飞行器低电量返航,已退出指点飞行" }, { "code": "312704", "faultDimension": "", "message": "设备电量过低,请充电至20%以上后重试" }, { "code": "319026", "faultDimension": "", "message": "飞行器电池电量低于用户设置的任务开始执行的电量,请等待充电完成后再执行飞行任务" }, { "code": "338021", "faultDimension": "", "message": "飞行器当前电量不足以到达目标降落机场,无法执行任务,请给飞行器充电后重试" }, { "code": "514103", "faultDimension": "", "message": "飞行器电量低于30%,无法执行飞行任务,请充电后重试(建议电量≥50%)" }, { "code": "514109", "faultDimension": "", "message": "飞行器开机失败,请检查飞行器是否在舱和飞机电量是否正常,或重启机场后重试" }, { "code": "514123", "faultDimension": "", "message": "飞行器电池电量过低无法开机" }, { "code": "514125", "faultDimension": "", "message": "飞行器电池电量已接近满电状态,无法开始充电,请使用至95%以下再进行充电" } ]