package com.ard.sample.manage.model.receiver; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.PropertyNamingStrategy; import com.fasterxml.jackson.databind.annotation.JsonNaming; import lombok.Data; import java.util.List; /** * @author sean.zhou * @version 0.1 * @date 2021/11/23 */ @Data @JsonIgnoreProperties(ignoreUnknown = true) @JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class) public class OsdSubDeviceReceiver { // zwy 2025-10-14 修改增加注解对应json字段 /** * 偏航轴角度 int * */ @JsonProperty("attitude_head") private Float attitudeHead; /** * 俯仰轴角度 float * */ @JsonProperty("attitude_pitch") private Double attitudePitch; /** * 横滚轴角度 float * */ @JsonProperty("attitude_roll") private Double attitudeRoll; /** * 相对起飞点高度 float * */ @JsonProperty("elevation") private Double elevation; /** * 飞行器电池信息 struct * */ @JsonProperty("battery") private BatteryReceiver battery; /** * 固件版本 text * */ @JsonProperty("firmware_version") private String firmwareVersion; /** * 档位 enum_int * "0":"A","1":"P","2":"NAV","3":"FPV","4":"FARM", * "5":"S","6":"F","7":"M","8":"G","9":"T"} * */ @JsonProperty("gear") private Integer gear; /** * 绝对高度 float * */ @JsonProperty("height") private Double height; /** * 距离 Home 点的距离 float * */ @JsonProperty("home_distance") private Double homeDistance; /** * 水平速度 float * */ @JsonProperty("horizontal_speed") private Float horizontalSpeed; /** * 当前位置纬度 float {"max":"3.4028235E38","min":"-1.4E-45","step":"0.1"} * */ @JsonProperty("latitude") private Double latitude; /** * 当前位置经度 float {"max":"3.4028235E38","min":"-1.4E-45","step":"0.1"} * */ @JsonProperty("longitude") private Double longitude; /** * 飞行器状态 enum_int * "0":"待机", * "1":"起飞准备", * "2":"起飞准备完毕", * "3":"手动飞行", * "4":"自动起飞", * "5":"航线飞行", * "6":"全景拍照", * "7":"智能跟随", * "8":"ADS-B 躲避", * "9":"自动返航", * "10":"自动降落", * "11":"强制降落", * "12":"三桨叶降落", * "13":"升级中", * "14":"未连接", * "15":"APAS", * "16":"虚拟摇杆状态", * "17":"指令飞行", * "18":"空中 RTK 收敛模式", * "19":"机场选址中" * 机场选址指飞行器在空中悬停,为机场选址以及检查 RTK 信号质量 * */ @JsonProperty("mode_code") private Integer modeCode; /** * 飞行器累计飞行总里程 float {"unit_name":"米 / m"} * */ @JsonProperty("total_flight_distance") private Double totalFlightDistance; /** * 飞行器累计飞行航时 float {"unit_name":"秒 / s"} * */ @JsonProperty("total_flight_time") private Double totalFlightTime; /** * 垂直速度 float {"unit_name":"米每秒 / m/s"} * */ @JsonProperty("vertical_speed") private Float verticalSpeed; /** * 当前风向 enum_int * "1":"正北","2":"东北","3":"东","4":"东南", * "5":"南","6":"西南","7":"西","8":"西北"} * */ @JsonProperty("wind_direction") private Double windDirection; /** * 风速 float {"unit_name":"0.1 米每秒 / m/s"} * */ @JsonProperty("wind_speed") private Float windSpeed; /** * 搜星状态 struct * */ @JsonProperty("position_state") private PositionStateReceiver positionState; @JsonProperty("payloads") private List payloads; /** * 存储容量 struct * */ @JsonProperty("storage") private StorageReceiver storage; /** * 飞行器夜航灯状态 enum_int {"0":"关闭","1":"打开"} * */ @JsonProperty("night_lights_state") private Integer nightLightsState; /** * 飞行器限高 int {"max":"1500","min":"20","step":"1","unit_name":"米 / m"} * */ @JsonProperty("height_limit") private Integer heightLimit; /** * 飞行器限远状态 struct * */ @JsonProperty("distance_limit_status") private DistanceLimitStatusReceiver distanceLimitStatus; /** * 飞行器避障状态 struct * */ @JsonProperty("obstacle_avoidance") private ObstacleAvoidanceReceiver obstacleAvoidance; }