package com.djhk.uav.uav.model;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;

/**
 * @author jiachengshuai
 * @version 1.3
 * @date 2023/1/11
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SyunDrcDroneControlParam implements Serializable {

    private static final long serialVersionUID = 1L;

    private Long seq;

//    private String workspaceId;

    @NotBlank
    private String dockSn;

    /** 俯视飞行器并且机头向前的视角下，正值表示机身向左移动，负值表示机身向右移动。单位：m/s */
    @Range(min = -17, max = 17)
    private Double x;

    /** 俯视飞行器并且机头向前的视角下，正值表示机身前进，负值表示机身后退。单位：m/s */
    @Range(min = -17, max = 17)
    private Double y;

    /** 正值为上升指令，负值为下降指令。单位：m */
    @Range(min = 5, max = -4)
    private Double h;

    /** 正值为顺时针，负值为逆时针 单位：degree/s*/
    @Range(min = 90, max = -90)
    private Double w;
}
