/*
|
* 【机场1】M30 / M30T 飞行器 OSD 接收器。
|
* 共享层 OsdSubDeviceReceiver 只覆盖机场2/3 机型字段,这里在其基础上补充 M30 专属字段;
|
* 不影响共享类与机场2/3 的解析逻辑。
|
*/
|
package com.ard.sample.dock1.manage.model.receiver;
|
|
import com.ard.sample.manage.model.receiver.OsdSubDeviceReceiver;
|
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 lombok.EqualsAndHashCode;
|
|
import java.util.List;
|
|
/**
|
* 机场1(M30 / M30T)飞行器 OSD 数据。
|
*
|
* @author ard
|
*/
|
@Data
|
@EqualsAndHashCode(callSuper = true)
|
@JsonIgnoreProperties(ignoreUnknown = true)
|
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
|
public class Dock1OsdSubDeviceReceiver extends OsdSubDeviceReceiver {
|
|
/**
|
* 国家/地区代码。
|
*/
|
@JsonProperty("country")
|
private String country;
|
|
/**
|
* 当前指挥官飞行模式。
|
* 注意:M30/M30T 不同固件可能上报枚举整数或布尔值,用 Object 兼容,避免整帧 OSD 解析失败。
|
*/
|
@JsonProperty("current_commander_flight_mode")
|
private Object currentCommanderFlightMode;
|
|
/**
|
* 遥控器失联后是否退出航线。
|
* 注意:M30/M30T 不同固件可能上报枚举整数或布尔值,用 Object 兼容。
|
*/
|
@JsonProperty("exit_wayline_when_rc_lost")
|
private Object exitWaylineWhenRcLost;
|
|
/**
|
* PSDK UI 资源。
|
*/
|
@JsonProperty("psdk_ui_resource")
|
private List<Object> psdkUiResource;
|
|
/**
|
* PSDK 控件值。
|
*/
|
@JsonProperty("psdk_widget_values")
|
private List<Object> psdkWidgetValues;
|
|
/**
|
* 遥控器失联动作。
|
* 注意:M30/M30T 不同固件可能上报枚举整数或布尔值,用 Object 兼容。
|
*/
|
@JsonProperty("rc_lost_action")
|
private Object rcLostAction;
|
|
/**
|
* RID 状态。
|
* 注意:M30T 实测上报布尔值(false/true),部分固件上报整数,
|
* 原定义为 Integer 会导致整帧 OSD 反序列化失败(状态/遥测全部丢失),这里用 Object 兼容。
|
*/
|
@JsonProperty("rid_state")
|
private Object ridState;
|
|
/**
|
* 返航高度。
|
*/
|
@JsonProperty("rth_altitude")
|
private Integer rthAltitude;
|
|
/**
|
* 航线文件版本。
|
*/
|
@JsonProperty("wpmz_version")
|
private String wpmzVersion;
|
|
}
|