Commit 6829051b by gdj

add:camera_screen_drag画面拖动控制

parent 8e0d465b
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.cloudapi.device.PayloadIndex;
import com.dji.sdk.common.BaseModel;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
/**
* @author guan
*/
public class CameraScreenDragRequest extends BaseModel {
@NotNull
private PayloadIndex payloadIndex;
/**
* true: Lock the gimbal, the gimbal and the drone rotate together.
* false: Only the gimbal rotates, but the drone does not.
*/
@NotNull
private Boolean locked;
/**
*{ "unit_name":"度每秒 / degree/s"} 云台 pitch 速度
*/
@Min(0)
//@Max(1)
private Float pitchSpeed;
/**
* {"unit_name":"度每秒 / degree/s"} 云台 yaw 速度,仅不锁机头时才生效
*/
@Min(0)
//@Max(1)
private Float yawSpeed;
public CameraScreenDragRequest() {
}
@Override
public String toString() {
return "CameraAimRequest{" +
"payloadIndex=" + payloadIndex +
", locked=" + locked +
", pitchSpeed=" + pitchSpeed +
", yawSpeed=" + yawSpeed +
'}';
}
public PayloadIndex getPayloadIndex() {
return payloadIndex;
}
public CameraScreenDragRequest setPayloadIndex(PayloadIndex payloadIndex) {
this.payloadIndex = payloadIndex;
return this;
}
public Boolean getLocked() {
return locked;
}
public CameraScreenDragRequest setLocked(Boolean locked) {
this.locked = locked;
return this;
}
public Float getPitchSpeed() {
return pitchSpeed;
}
public CameraScreenDragRequest setPitchspeed(Float pitchSpeed) {
this.pitchSpeed = pitchSpeed;
return this;
}
public Float getYawSpeed() {
return yawSpeed;
}
public CameraScreenDragRequest setYawSpeed(Float yawSpeed) {
this.yawSpeed = yawSpeed;
return this;
}
}
...@@ -35,6 +35,8 @@ public enum ControlMethodEnum { ...@@ -35,6 +35,8 @@ public enum ControlMethodEnum {
CAMERA_AIM("camera_aim"), CAMERA_AIM("camera_aim"),
CAMERA_SCREEN_DRAG("camera_screen_drag"),
CAMERA_FRAME_ZOOM("camera_frame_zoom"), CAMERA_FRAME_ZOOM("camera_frame_zoom"),
CAMERA_FOCAL_LENGTH_SET("camera_focal_length_set"), CAMERA_FOCAL_LENGTH_SET("camera_focal_length_set"),
......
...@@ -24,6 +24,8 @@ public enum PayloadControlMethodEnum { ...@@ -24,6 +24,8 @@ public enum PayloadControlMethodEnum {
CAMERA_AIM(ControlMethodEnum.CAMERA_AIM, CameraAimRequest.class), CAMERA_AIM(ControlMethodEnum.CAMERA_AIM, CameraAimRequest.class),
CAMERA_SCREEN_DRAG(ControlMethodEnum.CAMERA_SCREEN_DRAG, CameraScreenDragRequest.class),
CAMERA_FRAME_ZOOM(ControlMethodEnum.CAMERA_FRAME_ZOOM, CameraFrameZoomRequest.class), CAMERA_FRAME_ZOOM(ControlMethodEnum.CAMERA_FRAME_ZOOM, CameraFrameZoomRequest.class),
CAMERA_FOCAL_LENGTH_SET(ControlMethodEnum.CAMERA_FOCAL_LENGTH_SET, CameraFocalLengthSetRequest.class), CAMERA_FOCAL_LENGTH_SET(ControlMethodEnum.CAMERA_FOCAL_LENGTH_SET, CameraFocalLengthSetRequest.class),
......
...@@ -289,6 +289,20 @@ public abstract class AbstractControlService { ...@@ -289,6 +289,20 @@ public abstract class AbstractControlService {
} }
/** /**
* Payload control - 屏幕拖动控制
* @param gateway
* @param request data
* @return services_reply
*/
@CloudSDKVersion(exclude = GatewayTypeEnum.RC)
public TopicServicesResponse<ServicesReplyData> cameraScreenDrag(GatewayManager gateway, CameraScreenDragRequest request) {
return servicesPublish.publish(
gateway.getGatewaySn(),
ControlMethodEnum.CAMERA_SCREEN_DRAG.getMethod(),
request);
}
/**
* Payload control - 框选变焦 * Payload control - 框选变焦
* @param gateway * @param gateway
* @param request data * @param request data
......
...@@ -24,6 +24,8 @@ public enum PayloadCommandsEnum { ...@@ -24,6 +24,8 @@ public enum PayloadCommandsEnum {
CAMERA_AIM(PayloadControlMethodEnum.CAMERA_AIM, CameraAimImpl.class), CAMERA_AIM(PayloadControlMethodEnum.CAMERA_AIM, CameraAimImpl.class),
CAMERA_SCREEN_DRAG(PayloadControlMethodEnum.CAMERA_SCREEN_DRAG, CameraScreenDragImpl.class),
CAMERA_POINT_FOCUS_ACTION(PayloadControlMethodEnum.CAMERA_POINT_FOCUS_ACTION, CameraPointFocusActionImpl.class), CAMERA_POINT_FOCUS_ACTION(PayloadControlMethodEnum.CAMERA_POINT_FOCUS_ACTION, CameraPointFocusActionImpl.class),
CAMERA_FRAME_ZOOM(PayloadControlMethodEnum.CAMERA_FRAME_ZOOM, CameraFrameZoomImpl.class), CAMERA_FRAME_ZOOM(PayloadControlMethodEnum.CAMERA_FRAME_ZOOM, CameraFrameZoomImpl.class),
......
package com.dji.sample.control.service.impl;
import com.dji.sample.control.model.param.DronePayloadParam;
import java.util.Objects;
/**
* @author guan
*/
public class CameraScreenDragImpl extends PayloadCommandsHandler {
public CameraScreenDragImpl(DronePayloadParam param) {
super(param);
}
@Override
public boolean valid() {
return Objects.nonNull(param.getPitchSpeed()) && Objects.nonNull(param.getYawSpeed())
&& Objects.nonNull(param.getLocked());
}
}
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