Commit d373c8a5 by gdj

调整checkDrcModeCondition 无人机是否在空中逻辑

parent 667f8981
...@@ -28,6 +28,7 @@ import com.dji.sdk.cloudapi.control.DrcModeEnterRequest; ...@@ -28,6 +28,7 @@ import com.dji.sdk.cloudapi.control.DrcModeEnterRequest;
import com.dji.sdk.cloudapi.control.DrcModeMqttBroker; import com.dji.sdk.cloudapi.control.DrcModeMqttBroker;
import com.dji.sdk.cloudapi.control.api.AbstractControlService; import com.dji.sdk.cloudapi.control.api.AbstractControlService;
import com.dji.sdk.cloudapi.device.DockModeCodeEnum; import com.dji.sdk.cloudapi.device.DockModeCodeEnum;
import com.dji.sdk.cloudapi.device.OsdDock;
import com.dji.sdk.cloudapi.device.OsdDockDrone; import com.dji.sdk.cloudapi.device.OsdDockDrone;
import com.dji.sdk.cloudapi.wayline.FlighttaskProgress; import com.dji.sdk.cloudapi.wayline.FlighttaskProgress;
import com.dji.sdk.common.HttpResultResponse; import com.dji.sdk.common.HttpResultResponse;
...@@ -142,7 +143,9 @@ public class DrcServiceImpl implements IDrcService { ...@@ -142,7 +143,9 @@ public class DrcServiceImpl implements IDrcService {
Optional<DeviceDTO> dockOpt = deviceRedisService.getDeviceOnline(dockSn); Optional<DeviceDTO> dockOpt = deviceRedisService.getDeviceOnline(dockSn);
if (dockOpt.isPresent() && (DockModeCodeEnum.IDLE == dockMode || DockModeCodeEnum.WORKING == dockMode)) { if (dockOpt.isPresent() && (DockModeCodeEnum.IDLE == dockMode || DockModeCodeEnum.WORKING == dockMode)) {
Optional<OsdDockDrone> deviceOsd = deviceRedisService.getDeviceOsd(dockOpt.get().getChildDeviceSn(), OsdDockDrone.class); Optional<OsdDockDrone> deviceOsd = deviceRedisService.getDeviceOsd(dockOpt.get().getChildDeviceSn(), OsdDockDrone.class);
if (deviceOsd.isEmpty() || deviceOsd.get().getElevation() <= 0) { Optional<OsdDock> dockOsd = deviceRedisService.getDeviceOsd(dockSn, OsdDock.class);
// if (deviceOsd.isEmpty() || deviceOsd.get().getElevation() <= 0) {
if (deviceOsd.isEmpty() || dockOsd.isEmpty() || dockOsd.get().getDroneInDock()) {
throw new RuntimeException("The drone is not in the sky and cannot enter command flight mode."); throw new RuntimeException("The drone is not in the sky and cannot enter command flight mode.");
} }
} else { } else {
......
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