sean.zhou
1 year ago
67 changed files with 9046 additions and 8320 deletions
@ -0,0 +1,38 @@ |
|||||||
|
package com.dji.sdk.cloudapi.device; |
||||||
|
|
||||||
|
import java.util.Arrays; |
||||||
|
import java.util.Set; |
||||||
|
import java.util.function.Function; |
||||||
|
import java.util.stream.Collectors; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author sean |
||||||
|
* @version 1.0 |
||||||
|
* @date 2022/4/29 |
||||||
|
*/ |
||||||
|
public class PayloadModelConst { |
||||||
|
|
||||||
|
private PayloadModelConst() { |
||||||
|
} |
||||||
|
|
||||||
|
public static final String PAYLOAD_KEY = "payload"; |
||||||
|
|
||||||
|
public static Set<String> getAllModelWithPosition() { |
||||||
|
Set<String> position = Arrays.stream(PayloadPositionEnum.values()).map(PayloadPositionEnum::getPosition) |
||||||
|
.map(String::valueOf).collect(Collectors.toSet()); |
||||||
|
return Arrays.stream(DeviceEnum.values()).filter(device -> DeviceDomainEnum.PAYLOAD == device.getDomain()) |
||||||
|
.map(Enum::name).map(name -> name.replace("_CAMERA", "")) |
||||||
|
.map(m -> position.stream().map(p -> m.concat("-").concat(p))) |
||||||
|
.flatMap(Function.identity()).collect(Collectors.toSet()); |
||||||
|
} |
||||||
|
|
||||||
|
public static Set<String> getAllIndexWithPosition() { |
||||||
|
Set<String> position = Arrays.stream(PayloadPositionEnum.values()).map(PayloadPositionEnum::getPosition) |
||||||
|
.map(String::valueOf).collect(Collectors.toSet()); |
||||||
|
return Arrays.stream(DeviceEnum.values()).filter(device -> DeviceDomainEnum.PAYLOAD == device.getDomain()) |
||||||
|
.map(device -> String.format("%d-%d", device.getType().getType(), device.getSubType().getSubType())) |
||||||
|
.map(m -> position.stream().map(p -> m.concat("-").concat(p))) |
||||||
|
.flatMap(Function.identity()).collect(Collectors.toSet()); |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -1,77 +0,0 @@ |
|||||||
package com.dji.sdk.cloudapi.device; |
|
||||||
|
|
||||||
import com.dji.sdk.exception.CloudSDKException; |
|
||||||
|
|
||||||
import java.util.Arrays; |
|
||||||
import java.util.Set; |
|
||||||
import java.util.function.Function; |
|
||||||
import java.util.stream.Collectors; |
|
||||||
|
|
||||||
/** |
|
||||||
* @author sean |
|
||||||
* @version 1.0 |
|
||||||
* @date 2022/4/29 |
|
||||||
*/ |
|
||||||
public enum PayloadModelEnum { |
|
||||||
|
|
||||||
Z30("Z30", "20-0"), |
|
||||||
|
|
||||||
XT2("XT2", "26-0"), |
|
||||||
|
|
||||||
XTS("XTS", "41-0"), |
|
||||||
|
|
||||||
H20("H20", "42-0"), |
|
||||||
|
|
||||||
H20T("H20T", "43-0"), |
|
||||||
|
|
||||||
P1("P1", "50-65535"), |
|
||||||
|
|
||||||
M30("M30", "52-0"), |
|
||||||
|
|
||||||
M30T("M30T", "53-0"), |
|
||||||
|
|
||||||
H20N("H20N", "61-0"), |
|
||||||
|
|
||||||
DOCK("DOCK", "165-0"), |
|
||||||
|
|
||||||
L1("L1", "90742-0"); |
|
||||||
|
|
||||||
public static final String PAYLOAD_KEY = "payload"; |
|
||||||
|
|
||||||
private final String model; |
|
||||||
|
|
||||||
private final String index; |
|
||||||
|
|
||||||
PayloadModelEnum(String model, String index) { |
|
||||||
this.model = model; |
|
||||||
this.index = index; |
|
||||||
} |
|
||||||
|
|
||||||
public String getModel() { |
|
||||||
return model; |
|
||||||
} |
|
||||||
|
|
||||||
public String getIndex() { |
|
||||||
return index; |
|
||||||
} |
|
||||||
|
|
||||||
public static Set<String> getAllModelWithPosition() { |
|
||||||
Set<String> position = Arrays.stream(PayloadPositionEnum.values()).map(PayloadPositionEnum::getPosition) |
|
||||||
.map(String::valueOf).collect(Collectors.toSet()); |
|
||||||
return Arrays.stream(values()).map(PayloadModelEnum::getModel).map(m -> position.stream().map(p -> m.concat("-").concat(p))) |
|
||||||
.flatMap(Function.identity()).collect(Collectors.toSet()); |
|
||||||
} |
|
||||||
|
|
||||||
public static Set<String> getAllIndexWithPosition() { |
|
||||||
Set<String> position = Arrays.stream(PayloadPositionEnum.values()).map(PayloadPositionEnum::getPosition) |
|
||||||
.map(String::valueOf).collect(Collectors.toSet()); |
|
||||||
return Arrays.stream(values()).map(PayloadModelEnum::getIndex).map(m -> position.stream().map(p -> m.concat("-").concat(p))) |
|
||||||
.flatMap(Function.identity()).collect(Collectors.toSet()); |
|
||||||
} |
|
||||||
|
|
||||||
public static PayloadModelEnum find(String model) { |
|
||||||
return Arrays.stream(values()).filter(modelEnum -> modelEnum.model.equals(model)).findAny() |
|
||||||
.orElseThrow(() -> new CloudSDKException(PayloadModelEnum.class, model)); |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -0,0 +1,153 @@ |
|||||||
|
package com.dji.sdk.cloudapi.wayline; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author sean |
||||||
|
* @version 1.7 |
||||||
|
* @date 2023/6/6 |
||||||
|
*/ |
||||||
|
public class ProgressExtBreakPoint { |
||||||
|
|
||||||
|
/** |
||||||
|
* Breakpoint index |
||||||
|
*/ |
||||||
|
private Integer index; |
||||||
|
|
||||||
|
/** |
||||||
|
* Breakpoint state |
||||||
|
*/ |
||||||
|
private BreakpointStateEnum state; |
||||||
|
|
||||||
|
/** |
||||||
|
* Current wayline segment process |
||||||
|
*/ |
||||||
|
private Float progress; |
||||||
|
|
||||||
|
/** |
||||||
|
* Wayline ID |
||||||
|
*/ |
||||||
|
private Integer waylineId; |
||||||
|
|
||||||
|
/** |
||||||
|
* Break reason |
||||||
|
*/ |
||||||
|
private FlighttaskBreakReasonEnum breakReason; |
||||||
|
|
||||||
|
/** |
||||||
|
* Breakpoint latitude |
||||||
|
*/ |
||||||
|
private Float latitude; |
||||||
|
|
||||||
|
/** |
||||||
|
* Breakpoint longitude |
||||||
|
*/ |
||||||
|
private Float longitude; |
||||||
|
|
||||||
|
/** |
||||||
|
* Breakpoint altitude relative to the Earth's ellipsoid surface |
||||||
|
* |
||||||
|
*/ |
||||||
|
private Float height; |
||||||
|
|
||||||
|
/** |
||||||
|
* Yaw angle relative to true north (meridian), with positive values from 0 to 6 o'clock direction and negative values from 6 to 12 o'clock direction |
||||||
|
*/ |
||||||
|
private Integer attitudeHead; |
||||||
|
|
||||||
|
public ProgressExtBreakPoint() {} |
||||||
|
|
||||||
|
@Override |
||||||
|
public String toString() { |
||||||
|
return "FlighttaskBreakPoint{" + |
||||||
|
"index=" + index + |
||||||
|
", state=" + state + |
||||||
|
", progress=" + progress + |
||||||
|
", waylineId=" + waylineId + |
||||||
|
", breakReason=" + breakReason + |
||||||
|
", latitude=" + latitude + |
||||||
|
", longitude=" + longitude + |
||||||
|
", height=" + height + |
||||||
|
", attitudeHead=" + attitudeHead + |
||||||
|
'}'; |
||||||
|
} |
||||||
|
|
||||||
|
public Integer getIndex() { |
||||||
|
return index; |
||||||
|
} |
||||||
|
|
||||||
|
public ProgressExtBreakPoint setIndex(Integer index) { |
||||||
|
this.index = index; |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
public BreakpointStateEnum getState() { |
||||||
|
return state; |
||||||
|
} |
||||||
|
|
||||||
|
public ProgressExtBreakPoint setState(BreakpointStateEnum state) { |
||||||
|
this.state = state; |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
public Float getProgress() { |
||||||
|
return progress; |
||||||
|
} |
||||||
|
|
||||||
|
public ProgressExtBreakPoint setProgress(Float progress) { |
||||||
|
this.progress = progress; |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
public Integer getWaylineId() { |
||||||
|
return waylineId; |
||||||
|
} |
||||||
|
|
||||||
|
public ProgressExtBreakPoint setWaylineId(Integer waylineId) { |
||||||
|
this.waylineId = waylineId; |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
public FlighttaskBreakReasonEnum getBreakReason() { |
||||||
|
return breakReason; |
||||||
|
} |
||||||
|
|
||||||
|
public ProgressExtBreakPoint setBreakReason(FlighttaskBreakReasonEnum breakReason) { |
||||||
|
this.breakReason = breakReason; |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
public Float getLatitude() { |
||||||
|
return latitude; |
||||||
|
} |
||||||
|
|
||||||
|
public ProgressExtBreakPoint setLatitude(Float latitude) { |
||||||
|
this.latitude = latitude; |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
public Float getLongitude() { |
||||||
|
return longitude; |
||||||
|
} |
||||||
|
|
||||||
|
public ProgressExtBreakPoint setLongitude(Float longitude) { |
||||||
|
this.longitude = longitude; |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
public Float getHeight() { |
||||||
|
return height; |
||||||
|
} |
||||||
|
|
||||||
|
public ProgressExtBreakPoint setHeight(Float height) { |
||||||
|
this.height = height; |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
public Integer getAttitudeHead() { |
||||||
|
return attitudeHead; |
||||||
|
} |
||||||
|
|
||||||
|
public ProgressExtBreakPoint setAttitudeHead(Integer attitudeHead) { |
||||||
|
this.attitudeHead = attitudeHead; |
||||||
|
return this; |
||||||
|
} |
||||||
|
} |
@ -1,48 +0,0 @@ |
|||||||
package com.dji.sdk.common; |
|
||||||
|
|
||||||
import java.util.Objects; |
|
||||||
|
|
||||||
/** |
|
||||||
* @author sean |
|
||||||
* @version 1.7 |
|
||||||
* @date 2023/5/19 |
|
||||||
*/ |
|
||||||
public class GatewayThingVersion { |
|
||||||
|
|
||||||
private DockThingVersionEnum dockThingVersion; |
|
||||||
|
|
||||||
private RcThingVersionEnum rcThingVersion; |
|
||||||
|
|
||||||
public GatewayThingVersion(DockThingVersionEnum dockThingVersion) { |
|
||||||
this.dockThingVersion = dockThingVersion; |
|
||||||
} |
|
||||||
|
|
||||||
public GatewayThingVersion(RcThingVersionEnum rcThingVersion) { |
|
||||||
this.rcThingVersion = rcThingVersion; |
|
||||||
} |
|
||||||
|
|
||||||
public GatewayThingVersion(GatewayTypeEnum type, String thingVersion) { |
|
||||||
switch (type) { |
|
||||||
case DOCK: |
|
||||||
this.dockThingVersion = DockThingVersionEnum.find(thingVersion); |
|
||||||
return; |
|
||||||
case RC: |
|
||||||
this.rcThingVersion = RcThingVersionEnum.find(thingVersion); |
|
||||||
return; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
public String getThingVersion() { |
|
||||||
if (Objects.nonNull(dockThingVersion)) { |
|
||||||
return dockThingVersion.getThingVersion(); |
|
||||||
} |
|
||||||
return rcThingVersion.getThingVersion(); |
|
||||||
} |
|
||||||
|
|
||||||
public CloudSDKVersionEnum getCloudSDKVersion() { |
|
||||||
if (Objects.nonNull(dockThingVersion)) { |
|
||||||
return dockThingVersion.getCloudSDKVersion(); |
|
||||||
} |
|
||||||
return rcThingVersion.getCloudSDKVersion(); |
|
||||||
} |
|
||||||
} |
|
@ -0,0 +1,41 @@ |
|||||||
|
package com.dji.sdk.config.version; |
||||||
|
|
||||||
|
import com.dji.sdk.exception.CloudSDKVersionException; |
||||||
|
import com.fasterxml.jackson.annotation.JsonValue; |
||||||
|
|
||||||
|
import java.util.Arrays; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author sean |
||||||
|
* @version 1.7 |
||||||
|
* @date 2023/9/7 |
||||||
|
*/ |
||||||
|
public enum Dock2ThingVersionEnum implements IThingVersion { |
||||||
|
|
||||||
|
V1_1_2("1.1.2", CloudSDKVersionEnum.V1_0_1), |
||||||
|
|
||||||
|
; |
||||||
|
|
||||||
|
private final String thingVersion; |
||||||
|
|
||||||
|
private final CloudSDKVersionEnum cloudSDKVersion; |
||||||
|
|
||||||
|
Dock2ThingVersionEnum(String thingVersion, CloudSDKVersionEnum cloudSDKVersion) { |
||||||
|
this.thingVersion = thingVersion; |
||||||
|
this.cloudSDKVersion = cloudSDKVersion; |
||||||
|
} |
||||||
|
|
||||||
|
@JsonValue |
||||||
|
public String getThingVersion() { |
||||||
|
return thingVersion; |
||||||
|
} |
||||||
|
|
||||||
|
public CloudSDKVersionEnum getCloudSDKVersion() { |
||||||
|
return cloudSDKVersion; |
||||||
|
} |
||||||
|
|
||||||
|
public static Dock2ThingVersionEnum find(String thingVersion) { |
||||||
|
return Arrays.stream(values()).filter(thingVersionEnum -> thingVersionEnum.thingVersion.equals(thingVersion)) |
||||||
|
.findAny().orElseThrow(() -> new CloudSDKVersionException(thingVersion)); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
package com.dji.sdk.config.version; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author sean |
||||||
|
* @version 1.7 |
||||||
|
* @date 2023/5/19 |
||||||
|
*/ |
||||||
|
public class GatewayThingVersion { |
||||||
|
|
||||||
|
private IThingVersion thingVersion; |
||||||
|
|
||||||
|
public GatewayThingVersion(IThingVersion thingVersion) { |
||||||
|
this.thingVersion = thingVersion; |
||||||
|
} |
||||||
|
|
||||||
|
public GatewayThingVersion(GatewayTypeEnum type, String thingVersion) { |
||||||
|
switch (type) { |
||||||
|
case DOCK: |
||||||
|
this.thingVersion = DockThingVersionEnum.find(thingVersion); |
||||||
|
return; |
||||||
|
case DOCK2: |
||||||
|
this.thingVersion = Dock2ThingVersionEnum.find(thingVersion); |
||||||
|
return; |
||||||
|
case RC: |
||||||
|
this.thingVersion = RcThingVersionEnum.find(thingVersion); |
||||||
|
return; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public String getThingVersion() { |
||||||
|
return thingVersion.getThingVersion(); |
||||||
|
} |
||||||
|
|
||||||
|
public CloudSDKVersionEnum getCloudSDKVersion() { |
||||||
|
return thingVersion.getCloudSDKVersion(); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,13 @@ |
|||||||
|
package com.dji.sdk.config.version; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author sean |
||||||
|
* @version 1.7 |
||||||
|
* @date 2023/9/7 |
||||||
|
*/ |
||||||
|
public interface IThingVersion { |
||||||
|
|
||||||
|
String getThingVersion(); |
||||||
|
|
||||||
|
CloudSDKVersionEnum getCloudSDKVersion(); |
||||||
|
} |
Loading…
Reference in new issue