From 85fc4d7c2ef2917d57b977a2e4d3956284bfe431 Mon Sep 17 00:00:00 2001 From: Vincent Date: Fri, 19 Apr 2024 14:17:22 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9Ecamera=5Fframe=5Fzoom?= =?UTF-8?q?=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../control/CameraFrameZoomRequest.java | 99 +++++++++++++++++++ .../cloudapi/control/ControlMethodEnum.java | 1 + .../control/PayloadControlMethodEnum.java | 1 + .../control/api/AbstractControlService.java | 9 ++ 4 files changed, 110 insertions(+) create mode 100644 cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraFrameZoomRequest.java diff --git a/cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraFrameZoomRequest.java b/cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraFrameZoomRequest.java new file mode 100644 index 0000000..8520432 --- /dev/null +++ b/cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraFrameZoomRequest.java @@ -0,0 +1,99 @@ +/************************************************* + * @copyright 2017 Flision Corporation Inc. + * @author: Vincent Chan @ Canton + * @date: 2024年04月19日 + * @version: 1.0.0 + * @description: + **************************************************/ +package com.dji.sdk.cloudapi.control; + +import com.dji.sdk.cloudapi.device.PayloadIndex; +import com.dji.sdk.common.BaseModel; +import jakarta.validation.constraints.Max; +import jakarta.validation.constraints.Min; +import jakarta.validation.constraints.NotNull; + +public class CameraFrameZoomRequest extends BaseModel { + + @NotNull + private PayloadIndex payloadIndex; + + @NotNull + private CameraTypeEnum cameraType; + + @NotNull + private Boolean locked; + + @Min(0) + @Max(1) + private Float x; + + @Min(0) + @Max(1) + private Float y; + + @Min(0) + @Max(1) + private Float width; + + @Min(0) + @Max(1) + private Float height; + + + public PayloadIndex getPayloadIndex() { + return payloadIndex; + } + + public void setPayloadIndex(PayloadIndex payloadIndex) { + this.payloadIndex = payloadIndex; + } + + public CameraTypeEnum getCameraType() { + return cameraType; + } + + public void setCameraType(CameraTypeEnum cameraType) { + this.cameraType = cameraType; + } + + public Boolean getLocked() { + return locked; + } + + public void setLocked(Boolean locked) { + this.locked = locked; + } + + public Float getX() { + return x; + } + + public void setX(Float x) { + this.x = x; + } + + public Float getY() { + return y; + } + + public void setY(Float y) { + this.y = y; + } + + public Float getWidth() { + return width; + } + + public void setWidth(Float width) { + this.width = width; + } + + public Float getHeight() { + return height; + } + + public void setHeight(Float height) { + this.height = height; + } +} diff --git a/cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/ControlMethodEnum.java b/cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/ControlMethodEnum.java index 4f870ab..a6c3ecb 100644 --- a/cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/ControlMethodEnum.java +++ b/cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/ControlMethodEnum.java @@ -62,6 +62,7 @@ public enum ControlMethodEnum { IR_METERING_AREA_SET("ir_metering_area_set"), CAMERA_POINT_FOCUS_ACTION("camera_point_focus_action"), + CAMERA_FRAME_ZOOM("camera_frame_zoom"), DRONE_CONTROL("drone_control"), diff --git a/cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/PayloadControlMethodEnum.java b/cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/PayloadControlMethodEnum.java index 7f23ea4..b39f3ad 100644 --- a/cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/PayloadControlMethodEnum.java +++ b/cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/PayloadControlMethodEnum.java @@ -52,6 +52,7 @@ public enum PayloadControlMethodEnum { CAMERA_POINT_FOCUS_ACTION(ControlMethodEnum.CAMERA_POINT_FOCUS_ACTION, CameraPointFocusActionRequest.class), + CAMERA_FRAME_ZOOM(ControlMethodEnum.CAMERA_FRAME_ZOOM, CameraFrameZoomRequest.class) ; private final ControlMethodEnum payloadMethod; diff --git a/cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/api/AbstractControlService.java b/cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/api/AbstractControlService.java index 836f91f..ba703b8 100644 --- a/cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/api/AbstractControlService.java +++ b/cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/api/AbstractControlService.java @@ -486,6 +486,15 @@ public abstract class AbstractControlService { request); } + + @CloudSDKVersion(since = CloudSDKVersionEnum.V1_0_2, include = GatewayTypeEnum.DOCK2) + public TopicServicesResponse cameraFrameZoom(GatewayManager gateway, CameraFrameZoomRequest request) { + return servicesPublish.publish( + gateway.getGatewaySn(), + ControlMethodEnum.CAMERA_FRAME_ZOOM.getMethod(), + request); + } + /** * Payload control * @param gateway