package com.dji.sample.control.service; import com.dji.sample.control.model.enums.DroneAuthorityEnum; import com.dji.sample.control.model.enums.RemoteDebugMethodEnum; import com.dji.sample.control.model.param.*; import com.dji.sdk.common.HttpResultResponse; /** * @author sean * @version 1.2 * @date 2022/7/29 */ public interface IControlService { /** * Remotely debug the dock via commands. * @param sn * @param serviceIdentifier * @param param * @return */ HttpResultResponse controlDockDebug(String sn, RemoteDebugMethodEnum serviceIdentifier, RemoteDebugParam param); /** * Make the drone fly to the target point. * @param sn * @param param * @return */ HttpResultResponse flyToPoint(String sn, FlyToPointParam param); /** * End the mission of flying the drone to the target point. * @param sn * @return */ HttpResultResponse flyToPointStop(String sn); /** * Handle progress result notifications for fly to target point. * @param receiver * @param headers * @return */ // CommonTopicReceiver handleFlyToPointProgress(CommonTopicReceiver receiver, MessageHeaders headers); /** * Control the drone to take off. * @param sn * @param param * @return */ HttpResultResponse takeoffToPoint(String sn, TakeoffToPointParam param); /** * Seize the control authority of the drone or the payload control authority. * @param sn * @param authority * @param param * @return */ HttpResultResponse seizeAuthority(String sn, DroneAuthorityEnum authority, DronePayloadParam param); /** * Control the payload of the drone. * @param param * @return */ HttpResultResponse payloadCommands(PayloadCommandsParam param) throws Exception; /** * cameraFrameZoom. * @param sn * @return */ // HttpResultResponse cameraFrameZoom(String sn, CameraFrameZoomParam param); /** * cameraModeSwitch. * @param sn * @return */ HttpResultResponse cameraModeSwitch(String sn, CameraModeSwitchParam param); /** * cameraPhotoTake. * @param sn * @return */ HttpResultResponse cameraPhotoTake(String sn, CameraPhotoTakeParam param); /** * cameraPhotoStop. * @param sn * @return */ HttpResultResponse cameraPhotoStop(String sn, CameraPhotoStopParam param); /** * cameraRecordingStart. * @param sn * @return */ HttpResultResponse cameraRecordingStart(String sn, CameraRecordingStartParam param); /** * cameraRecordingStop. * @param sn * @return */ HttpResultResponse cameraRecordingStop(String sn, CameraRecordingStopParam param); /** * cameraScreenDrag. * @param sn * @return */ // HttpResultResponse cameraScreenDrag(String sn, CameraScreenDragParam param); /** * cameraFocalLengthSet. * @param sn * @return */ HttpResultResponse cameraFocalLengthSet(String sn, CameraFocalLengthSetParam param); /** * gimbalReset. * @param sn * @return */ HttpResultResponse gimbalReset(String sn, GimbalResetParam param); /** * cameraScreenSplit. * @param sn * @return */ HttpResultResponse cameraScreenSplit(String sn, CameraScreenSplitParam param); /** * photoStorageSet. * @param sn * @return */ HttpResultResponse photoStorageSet(String sn, PhotoStorageSetParam param); /** * videoStorageSet. * @param sn * @return */ HttpResultResponse videoStorageSet(String sn, VideoStorageSetParam param); /** * cameraExposureModeSet. * @param sn * @return */ HttpResultResponse cameraExposureModeSet(String sn, CameraExposureModeSetParam param); /** * cameraExposureSet. * @param sn * @return */ HttpResultResponse cameraExposureSet(String sn, CameraExposureSetParam param); /** * cameraFocusModeSet. * @param sn * @return */ HttpResultResponse cameraFocusModeSet(String sn, CameraFocusModeSetParam param); /** * cameraFocusValueSet. * @param sn * @return */ HttpResultResponse cameraFocusValueSet(String sn, CameraFocusValueSetParam param); /** * cameraPointFocusAction. * @param sn * @return */ HttpResultResponse cameraPointFocusAction(String sn, CameraPointFocusActionParam param); /** * irMeteringModeSet. * @param sn * @return */ HttpResultResponse irMeteringModeSet(String sn, IrMeteringModeSetParam param); /** * irMeteringPointSet. * @param sn * @return */ HttpResultResponse irMeteringPointSet(String sn, IrMeteringPointSetParam param); /** * irMeteringAreaSet. * @param sn * @return */ HttpResultResponse irMeteringAreaSet(String sn, IrMeteringAreaSetParam param); /** * flyToPointUpdate. * @param sn * @return */ HttpResultResponse flyToPointUpdate(String sn, FlyToPointUpdateParam param); /** * cameraAim. * @param sn * @return */ HttpResultResponse cameraAim(String sn, CameraAimParam param); /** * cameraLookAt. * @param sn * @return */ HttpResultResponse cameraLookAt(String sn, CameraLookAtParam param); }