dji_log_parser/frame/
home.rs1use serde::Serialize;
2#[cfg(target_arch = "wasm32")]
3use tsify_next::Tsify;
4
5use crate::record::home::{CompassCalibrationState, GoHomeMode, IOCMode};
6
7#[derive(Serialize, Debug, Default, Clone)]
8#[serde(rename_all = "camelCase")]
9#[cfg_attr(target_arch = "wasm32", derive(Tsify))]
10pub struct FrameHome {
11 pub latitude: f64,
13 pub longitude: f64,
15 pub altitude: f32,
17 pub height_limit: f32,
19 pub is_home_record: bool,
21 #[cfg_attr(target_arch = "wasm32", tsify(optional))]
23 pub go_home_mode: Option<GoHomeMode>,
24 pub is_dynamic_home_point_enabled: bool,
26 pub is_near_distance_limit: bool,
28 pub is_near_height_limit: bool,
30 pub is_compass_calibrating: bool,
32 #[cfg_attr(target_arch = "wasm32", tsify(optional))]
34 pub compass_calibration_state: Option<CompassCalibrationState>,
35 pub is_multiple_mode_enabled: bool,
37 pub is_beginner_mode: bool,
39 pub is_ioc_enabled: bool,
41 #[cfg_attr(target_arch = "wasm32", tsify(optional))]
43 pub ioc_mode: Option<IOCMode>,
44 pub go_home_height: u16,
46 #[cfg_attr(target_arch = "wasm32", tsify(optional))]
48 pub ioc_course_lock_angle: Option<i16>,
49 pub max_allowed_height: f32,
51 pub current_flight_record_index: u16,
53}