package com.dji.sample.manage.model.receiver;
|
|
import com.dji.sdk.cloudapi.device.ObstacleAvoidance;
|
import com.dji.sdk.cloudapi.device.OsdDockDrone;
|
import com.dji.sdk.cloudapi.device.SwitchActionEnum;
|
import lombok.Data;
|
import lombok.EqualsAndHashCode;
|
|
import java.util.Objects;
|
|
/**
|
* @author sean
|
* @version 1.3
|
* @date 2022/10/27
|
*/
|
@EqualsAndHashCode(callSuper = true)
|
@Data
|
public class ObstacleAvoidanceReceiver extends BasicDeviceProperty {
|
|
private SwitchActionEnum horizon;
|
|
private SwitchActionEnum upside;
|
|
private SwitchActionEnum downside;
|
|
public boolean valid() {
|
return Objects.nonNull(this.horizon) || Objects.nonNull(this.upside) || Objects.nonNull(this.downside);
|
}
|
|
@Override
|
public boolean canPublish(OsdDockDrone osd) {
|
ObstacleAvoidance obstacleAvoidance = osd.getObstacleAvoidance();
|
return (Objects.nonNull(obstacleAvoidance.getHorizon()) && horizon != obstacleAvoidance.getHorizon())
|
|| (Objects.nonNull(obstacleAvoidance.getUpside()) && upside != obstacleAvoidance.getUpside())
|
|| (Objects.nonNull(obstacleAvoidance.getDownside()) && downside != obstacleAvoidance.getDownside());
|
}
|
}
|