nishiwei
5 days ago 3f43e40ed1a1e9f66b3ad2862da9dbc4b710c712
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
/*
 * 【机场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;
 
}