Commit aa8cb805 by gdj

增加机场dock3和遥控器RC_PRO_TWO和配套的M4E,M4T,M4D,M4TD无人机和相机枚举。

parent 709ceffd
......@@ -65,10 +65,22 @@ public enum DeviceEnum {
RC_PRO(DeviceDomainEnum.REMOTER_CONTROL, DeviceTypeEnum.RC_PRO, DeviceSubTypeEnum.ZERO),
RC_PRO_TWO(DeviceDomainEnum.REMOTER_CONTROL, DeviceTypeEnum.RC_PRO_TWO, DeviceSubTypeEnum.ZERO),
M4E(DeviceDomainEnum.DRONE, DeviceTypeEnum.M4, DeviceSubTypeEnum.ZERO),
M4T(DeviceDomainEnum.DRONE, DeviceTypeEnum.M4, DeviceSubTypeEnum.ONE),
M4E_CAMERA(DeviceDomainEnum.PAYLOAD, DeviceTypeEnum.M4E_CAMERA, DeviceSubTypeEnum.ZERO),
M4T_CAMERA(DeviceDomainEnum.PAYLOAD, DeviceTypeEnum.M4T_CAMERA, DeviceSubTypeEnum.ZERO),
DOCK(DeviceDomainEnum.DOCK, DeviceTypeEnum.DOCK, DeviceSubTypeEnum.ZERO),
DOCK2(DeviceDomainEnum.DOCK, DeviceTypeEnum.DOCK2, DeviceSubTypeEnum.ZERO),
DOCK3(DeviceDomainEnum.DOCK, DeviceTypeEnum.DOCK3, DeviceSubTypeEnum.ZERO),
/**
* 草莓机场SuperDock Pro V4
......@@ -107,6 +119,15 @@ public enum DeviceEnum {
M3D_CAMERA(DeviceDomainEnum.PAYLOAD, DeviceTypeEnum.M3D_CAMERA, DeviceSubTypeEnum.ZERO),
M3TD_CAMERA(DeviceDomainEnum.PAYLOAD, DeviceTypeEnum.M3TD_CAMERA, DeviceSubTypeEnum.ZERO),
M4D(DeviceDomainEnum.DRONE, DeviceTypeEnum.M4D, DeviceSubTypeEnum.ZERO),
M4TD(DeviceDomainEnum.DRONE, DeviceTypeEnum.M4D, DeviceSubTypeEnum.ONE),
M4D_CAMERA(DeviceDomainEnum.PAYLOAD, DeviceTypeEnum.M4D_CAMERA, DeviceSubTypeEnum.ZERO),
M4TD_CAMERA(DeviceDomainEnum.PAYLOAD, DeviceTypeEnum.M4TD_CAMERA, DeviceSubTypeEnum.ZERO),
;
@Schema(enumAsRef = true)
......
......@@ -57,6 +57,14 @@ public enum DeviceTypeEnum {
RC_PRO(144),
RC_PRO_TWO(174),
M4(99),
M4E_CAMERA(88),
M4T_CAMERA(89),
DOCK(1),
DOCK2(2),
......@@ -64,7 +72,7 @@ public enum DeviceTypeEnum {
/**
* 大疆机场3
*/
// DOCK3(3),
DOCK3(3),
M3D(91),
......@@ -77,6 +85,11 @@ public enum DeviceTypeEnum {
*/
_84_CAMERA(84),
M4D(100),
M4D_CAMERA(98),
M4TD_CAMERA(99),
// 草莓
_97(97),
_98(98),
......
package com.dji.sdk.config.version;
import com.dji.sdk.exception.CloudSDKVersionException;
import com.fasterxml.jackson.annotation.JsonValue;
import java.util.Arrays;
/**
* @author guan
*/
public enum Dock3ThingVersionEnum implements IThingVersion {
V1_1_2("1.1.2", CloudSDKVersionEnum.V1_0_1),
V1_2_0("1.2.0", CloudSDKVersionEnum.V1_0_3),
// 新增dock3适配
v1_2_3("1.2.3", CloudSDKVersionEnum.V1_0_3),
V1_3_0("1.3.0", CloudSDKVersionEnum.V1_0_3),
/**
* 草莓适配
*/
v2_1_2("2.1.2", CloudSDKVersionEnum.V1_0_3),
;
private final String thingVersion;
private final CloudSDKVersionEnum cloudSDKVersion;
Dock3ThingVersionEnum(String thingVersion, CloudSDKVersionEnum cloudSDKVersion) {
this.thingVersion = thingVersion;
this.cloudSDKVersion = cloudSDKVersion;
}
@JsonValue
public String getThingVersion() {
return thingVersion;
}
public CloudSDKVersionEnum getCloudSDKVersion() {
return cloudSDKVersion;
}
public static Dock3ThingVersionEnum find(String thingVersion) {
return Arrays.stream(values()).filter(thingVersionEnum -> thingVersionEnum.thingVersion.equals(thingVersion))
.findAny().orElseThrow(() -> new CloudSDKVersionException(thingVersion));
}
}
......@@ -21,6 +21,9 @@ public class GatewayThingVersion {
case DOCK2:
this.thingVersion = Dock2ThingVersionEnum.find(thingVersion);
return;
case DOCK3:
this.thingVersion = Dock3ThingVersionEnum.find(thingVersion);
return;
case RC:
this.thingVersion = RcThingVersionEnum.find(thingVersion);
return;
......
......@@ -12,12 +12,14 @@ import java.util.Arrays;
*/
public enum GatewayTypeEnum {
RC(DeviceEnum.RC, DeviceEnum.RC_PLUS, DeviceEnum.RC_PRO),
RC(DeviceEnum.RC, DeviceEnum.RC_PLUS, DeviceEnum.RC_PRO, DeviceEnum.RC_PRO_TWO),
DOCK(DeviceEnum.DOCK, DeviceEnum.SUPER_DOCK_PRO_V4, DeviceEnum.S22M300, DeviceEnum.S2201,
DeviceEnum.S24M350, DeviceEnum.S24M350S, DeviceEnum.S24M3, DeviceEnum.S24M4),
DOCK2(DeviceEnum.DOCK2),
DOCK3(DeviceEnum.DOCK3),
;
private final DeviceEnum[] gateway;
......
......@@ -22,11 +22,11 @@ public enum OsdDeviceTypeEnum {
RC(true, OsdRemoteControl.class, ChannelName.INBOUND_OSD_RC, GatewayTypeEnum.RC),
DOCK(true, OsdDock.class, ChannelName.INBOUND_OSD_DOCK, GatewayTypeEnum.DOCK, GatewayTypeEnum.DOCK2),
DOCK(true, OsdDock.class, ChannelName.INBOUND_OSD_DOCK, GatewayTypeEnum.DOCK, GatewayTypeEnum.DOCK2, GatewayTypeEnum.DOCK3),
RC_DRONE(false, OsdRcDrone.class, ChannelName.INBOUND_OSD_RC_DRONE, GatewayTypeEnum.RC),
DOCK_DRONE(false, OsdDockDrone.class, ChannelName.INBOUND_OSD_DOCK_DRONE, GatewayTypeEnum.DOCK, GatewayTypeEnum.DOCK2);
DOCK_DRONE(false, OsdDockDrone.class, ChannelName.INBOUND_OSD_DOCK_DRONE, GatewayTypeEnum.DOCK, GatewayTypeEnum.DOCK2, GatewayTypeEnum.DOCK3);
private final boolean gateway;
......
......@@ -82,6 +82,7 @@ public class StateRouter {
return RcStateDataKeyEnum.find(keys).getClassType();
case DOCK:
case DOCK2:
case DOCK3:
return DockStateDataKeyEnum.find(keys).getClassType();
default:
throw new CloudSDKException(CloudSDKErrorEnum.WRONG_DATA, "Unexpected value: " + SDKManager.getDeviceSDK(gatewaySn).getType());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment