sct_reader/loaders/vnas_crc/
eram.rs1use aviation_calc_util::geo::GeoPoint;
2use serde::{Deserialize, Serialize};
3
4use super::facility::BeaconCodeBank;
5
6
7#[derive(Debug, Clone, Default, Serialize, Deserialize)]
8#[serde(rename_all = "camelCase")]
9pub struct EramConfig {
10 pub nas_id: String,
11 pub geo_maps: Vec<EramGeoMap>,
12 pub emergency_checklist: Vec<String>,
13 pub position_relief_checklist: Vec<String>,
14 pub internal_airports: Vec<String>,
15 pub beacon_code_banks: Vec<BeaconCodeBank>,
16 pub neighboring_stars_configurations: Vec<NeighborStarsConfig>,
17 pub reference_fixes: Vec<String>,
18 pub asr_sites: Vec<AsrSite>,
19 pub conflict_alert_floor: u32,
20 pub airport_single_chars: Vec<String>
21}
22
23#[derive(Debug, Clone, Default, Serialize, Deserialize)]
24#[serde(rename_all = "camelCase")]
25pub struct EramGeoMap {
26 pub id: String,
27 pub name: String,
28 pub label_line_1: String,
29 pub label_line_2: String,
30 pub filter_menu: Vec<EramFilterMenu>,
31 pub bcg_menu: Vec<String>,
32 pub video_map_ids: Vec<String>
33}
34
35#[derive(Debug, Clone, Default, Serialize, Deserialize)]
36#[serde(rename_all = "camelCase")]
37pub struct EramFilterMenu {
38 pub id: String,
39 pub label_line_1: String,
40 pub label_line_2: String
41}
42
43#[derive(Debug, Clone, Default, Serialize, Deserialize)]
44#[serde(rename_all = "camelCase")]
45pub struct NeighborStarsConfig {
46 pub id: String,
47 pub facility_id: String,
48 pub stars_id: String,
49 pub single_character_stars_id: Option<String>,
50 pub field_e_format: Option<String>,
51 pub field_e_letter: Option<String>
52}
53
54#[derive(Debug, Clone, Default, Serialize, Deserialize)]
55#[serde(rename_all = "camelCase")]
56pub struct AsrSite {
57 pub id: String,
58 pub asr_id: String,
59 pub location: GeoPoint,
60 pub range: u32,
61 pub ceiling: u32
62}