/* * 【机场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 psdkUiResource; /** * PSDK 控件值。 */ @JsonProperty("psdk_widget_values") private List 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; }