From 3667807a7b7418efc090ee3fa6a6b734bc3080bf Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Wed, 13 Sep 2023 20:36:29 +0800
Subject: [PATCH] Merge branch 'develop' of http://s16s652780.51mypc.cn:49896/r/yskj/iot_drone_web into develop
---
src/types/device.ts | 265 ++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 203 insertions(+), 62 deletions(-)
diff --git a/src/types/device.ts b/src/types/device.ts
index 08c285a..d220acc 100644
--- a/src/types/device.ts
+++ b/src/types/device.ts
@@ -1,4 +1,7 @@
import { commonColor } from '/@/utils/color'
+import { NightLightsStateEnum, DistanceLimitStatus, ObstacleAvoidance } from './device-setting'
+import { AlarmModeEnum, BatteryStoreModeEnum, DroneBatteryStateEnum, FourGLinkStateEnum, SdrLinkStateEnum, LinkWorkModeEnum } from './airport-tsa'
+import { CameraMode } from '/@/types/live-stream'
export interface DeviceValue {
key: string; // 'domain-type-subtype'
@@ -19,11 +22,8 @@
export enum DRONE_TYPE {
M30 = 67,
M300 = 60,
- Phantom4 = 11,
- Phantom4Pro = 18,
- Phantom4RTK = 59,
- Phantom4Advanced = 27,
Mavic3EnterpriseAdvanced= 77,
+ M350 = 89,
}
// DJI负载类型枚举值
@@ -75,10 +75,7 @@
M3T: `${DOMAIN.DRONE}-${DRONE_TYPE.Mavic3EnterpriseAdvanced}-${DEVICE_SUB_TYPE.ONE}`,
M300: `${DOMAIN.DRONE}-${DRONE_TYPE.M300}-${DEVICE_SUB_TYPE.ZERO}`,
- Phantom4: `${DOMAIN.DRONE}-${DRONE_TYPE.Phantom4}-${DEVICE_SUB_TYPE.ZERO}`,
- Phantom4Pro: `${DOMAIN.DRONE}-${DRONE_TYPE.Phantom4Pro}-${DEVICE_SUB_TYPE.ZERO}`,
- Phantom4RTK: `${DOMAIN.DRONE}-${DRONE_TYPE.Phantom4RTK}-${DEVICE_SUB_TYPE.ZERO}`,
- Phantom4Advanced: `${DOMAIN.DRONE}-${DRONE_TYPE.Phantom4Advanced}-${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}`,
@@ -112,10 +109,7 @@
[DEVICE_MODEL_KEY.M3T]: 'Mavic 3T',
// [DEVICE_MODEL_KEY.M3M]: 'Mavic 3M',
[DEVICE_MODEL_KEY.M300]: 'M300 RTK',
- [DEVICE_MODEL_KEY.Phantom4]: 'Phantom 4',
- [DEVICE_MODEL_KEY.Phantom4Pro]: 'Phantom 4 Pro',
- [DEVICE_MODEL_KEY.Phantom4RTK]: 'Phantom 4 RTK',
- [DEVICE_MODEL_KEY.Phantom4Advanced]: 'Phantom 4 Advanced',
+ [DEVICE_MODEL_KEY.M350]: 'M350 RTK',
// payload
[DEVICE_MODEL_KEY.FPV]: 'FPV',
@@ -140,6 +134,36 @@
// dock
[DEVICE_MODEL_KEY.Dock]: 'Dock',
+}
+
+// 控制权
+export enum ControlSource {
+ A = 'A',
+ B = 'B'
+}
+
+export interface PayloadInfo {
+ index: number,
+ model: string,
+ control_source?: ControlSource,
+ payload_sn?: string,
+ payload_index?: string,
+ payload_name?: string,
+}
+
+// 设备信息
+export interface OnlineDevice {
+ model: string,
+ callsign: string,
+ sn: string,
+ mode: number,
+ gateway: {
+ model: string,
+ callsign: string,
+ sn: string,
+ domain: string,
+ },
+ payload: PayloadInfo[]
}
// 固件升级类型
@@ -181,8 +205,9 @@
bound_time: string,
login_time: string,
children?: Device[],
- domain: string,
- firmware_progress?: number, // 升级进度
+ domain: number,
+ type: number,
+ firmware_progress?: string, // 升级进度
}
export interface DeviceStatus {
@@ -194,7 +219,7 @@
bound_status: boolean,
model: string,
gateway_sn: string,
- domain: string
+ domain: number
}
export interface OSDVisible {
@@ -205,6 +230,7 @@
is_dock: boolean,
gateway_sn: string,
gateway_callsign: string,
+ payloads: null | PayloadInfo [],
}
export interface GatewayOsd {
@@ -213,6 +239,24 @@
longitude: number,
latitude: number,
}
+
+export interface OsdCameraLiveview {
+ bottom: number,
+ left: number,
+ right: number,
+ top: number,
+}
+export interface DeviceOsdCamera {
+ camera_mode: CameraMode,
+ payload_index: string,
+ photo_state: number,
+ record_time: number,
+ recording_state: number,
+ remain_photo_num: number,
+ remain_record_duration: number,
+ liveview_world_region: OsdCameraLiveview
+}
+
export interface DeviceOsd {
longitude: number,
latitude: number,
@@ -235,11 +279,104 @@
landing_power: string,
remain_flight_time: number,
return_home_power: string,
- }
+ },
+ night_lights_state?: NightLightsStateEnum;// 夜航灯开关
+ height_limit?: number;// 限高设置
+ distance_limit_status?: DistanceLimitStatus;// 限远开关
+ obstacle_avoidance?: ObstacleAvoidance;// 飞行器避障开关设置
+ cameras?: DeviceOsdCamera[]
}
-export interface DockOsd {
- media_file_detail: {
+export enum NetworkStateTypeEnum {
+ FOUR_G = 1,
+ ETHERNET = 2,
+}
+
+export enum NetworkStateQualityEnum {
+ BAD = 0,
+ MEDIUM = 1,
+ GOOD = 2
+}
+
+export enum RainfallEnum {
+ NONE = 0,
+ LIGHT_RAIN = 1,
+ MODERATE_RAIN = 2,
+ HEAVY_RAIN = 3,
+}
+
+export enum DroneInDockEnum {
+ OUTSIDE, INSIDE
+}
+
+export interface DockBasicOsd {
+ network_state?: {
+ type: NetworkStateTypeEnum,
+ quality: number,
+ rate: number,
+ },
+ drone_charge_state?: {
+ state: number,
+ capacity_percent: number,
+ },
+ drone_in_dock: DroneInDockEnum,
+ rainfall: RainfallEnum,
+ wind_speed: number,
+ environment_temperature: number,
+ temperature: number,
+ humidity: number,
+ latitude: number,
+ longitude: number,
+ height: number,
+ alternate_land_point?: {
+ latitude: number,
+ longitude: number,
+ height: number,
+ safe_land_height: number,
+ is_configured: number
+ }
+ first_power_on: number,
+ positionState?: {
+ gps_number: number,
+ is_fixed: number,
+ rtk_number: number,
+ is_calibration: number,
+ quality: number,
+ },
+ storage?: {
+ total: number,
+ used: number,
+ },
+ mode_code: number,
+ cover_state: number,
+ supplement_light_state: number,
+ emergency_stop_state: number,
+ air_conditioner?: {
+ air_conditioner_state: number,
+ switch_time: number,
+ }
+ battery_store_mode?: BatteryStoreModeEnum; // 电池保养(存储)模式
+ alarm_state?: AlarmModeEnum; // 机场声光报警状态
+ putter_state: number,
+ sub_device?: {
+ device_sn?: string,
+ device_model_key?: string,
+ device_online_status: number,
+ device_paired: number,
+ },
+ // live_capacity?: LiveCapacity; // 直播能力
+ // live_status?: Array<LiveStatus>; // 直播状态
+}
+export enum DrcStateEnum {
+ DISCONNECT = 0,
+ CONNECTING = 1,
+ CONNECTED = 2
+}
+export interface DockLinkOsd {
+ drc_state: DrcStateEnum,
+ flighttask_prepare_capacity: number,
+ flighttask_step_code: number,
+ media_file_detail?: {
remain_upload: number
},
sdr: {
@@ -247,53 +384,52 @@
down_quality: string,
frequency_band: number,
},
- network_state: {
- type: number,
- quality: number,
- rate: number,
- },
- drone_in_dock: number,
- drone_charge_state: {
- state: number,
- capacity_percent: string,
- },
- rainfall: string,
- wind_speed: string,
- environment_temperature: string,
- environment_humidity: string
- temperature: string,
- humidity: string,
- latitude: number,
- longitude: number,
- height: number,
+ wireless_link?:{ // 图传链路<会包括4G和sdr信息
+ dongle_number: number, // dongle 数量
+ ['4g_link_state']: FourGLinkStateEnum, // 4g_link_state
+ sdr_link_state: SdrLinkStateEnum, // sdr链路连接状态
+ link_workmode: LinkWorkModeEnum, // 图传链路模式
+ sdr_quality: number, // sdr信号质量 0-5
+ ['4g_quality']: number, // 4G信号质量 0-5
+ ['4g_freq_band']: number,
+ ['4g_gnd_quality']: number,
+ ['4g_uav_quality']: number,
+ sdr_freq_band: number,
+ }
+}
+
+export interface MaintainStatus {
+ state: number,
+ last_maintain_type: number,
+ last_maintain_time: number,
+ last_maintain_work_sorties: number,
+}
+
+export interface DockWorkOsd {
job_number: number,
acc_time: number,
- first_power_on: number,
- positionState: {
- gps_number: string,
- is_fixed: number,
- rtk_number: string,
- is_calibration: number,
- quality: number,
- },
- storage: {
- total: number,
- used: number,
- },
+ activation_time: number,
+ maintain_status?: {
+ maintain_status_array: MaintainStatus[]
+ }
electric_supply_voltage: number,
working_voltage: string,
working_current: string,
- backup_battery_voltage: number,
- mode_code: number,
- cover_state: number,
- supplement_light_state: number,
- putter_state: number,
- sub_device: {
- device_sn: string,
- device_model_key: string,
- device_online_status: number,
- device_paired: number,
- },
+ backup_battery?: {
+ voltage: number,
+ temperature: number,
+ switch: number,
+ }
+ drone_battery_maintenance_info?: { // 飞行器电池保养信息
+ maintenance_state: DroneBatteryStateEnum, // 保养状态
+ maintenance_time_left: number, // 电池保养剩余时间(小时)
+ }
+}
+
+export interface DockOsd {
+ basic_osd: DockBasicOsd,
+ link_osd: DockLinkOsd,
+ work_osd: DockWorkOsd
}
export enum EModeCode {
@@ -331,6 +467,7 @@
M30 = '0-67-0' as any,
M30T = '0-67-1' as any,
M300 = '0-60-0' as any,
+ M350 = DEVICE_MODEL_KEY.M350 as any,
Z30 = '1-20-0' as any,
XT2 = '1-26-0' as any,
FPV = '1-39-0' as any,
@@ -343,6 +480,10 @@
H20N = '1-61-0' as any,
DJI_Dock_Camera = '1-165-0' as any,
L1 = '1-90742-0' as any,
+ M3E = '0-77-0' as any,
+ M3D = '0-77-1' as any,
+ M3E_Camera = '1-66-0' as any,
+ M3T_Camera = '1-67-0' as any,
}
export enum EDockModeCode {
@@ -366,11 +507,11 @@
message_zh: string,
create_time: string,
update_time: string,
- domain: string
+ domain: number
}
// TODO: 设备拓扑管理优化
-// 设备信息
+// 设备osd信息
export interface DeviceInfoType {
gateway: GatewayOsd, // 遥控器
dock: DockOsd, // 机场
--
Gitblit v1.9.3