-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtypes.ts
More file actions
65 lines (57 loc) · 1.26 KB
/
types.ts
File metadata and controls
65 lines (57 loc) · 1.26 KB
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
export interface Waypoint {
id: string;
lat: number;
lng: number;
alt: number;
speed: number;
altType: 'MSL' | 'AGL'; // Mean Sea Level (Absolute) vs Above Ground Level (Relative)
terrain_alt?: number; // Ground elevation at this point
}
export interface Mission {
id:string;
name: string;
waypoints: Waypoint[];
homePosition?: { lat: number; lng: number };
boundary?: { lat: number; lng: number }[];
terrainProfile?: { elevation: number }[];
}
export interface Telemetry {
lat: number;
lng: number;
alt: number;
heading: number;
speed: number;
battery: number;
signal: number;
}
export interface ForecastDetail {
day: string;
temp_min: number;
temp_max: number;
humidity: number;
precipitation: number; // Probability
weather_icon: string;
weather_main: string;
wind_speed: number;
wind_deg: number;
}
export interface Alert {
sender_name: string;
event: string;
start: number;
end: number;
description: string;
}
export interface WeatherData {
metar: string;
taf: string;
forecast: ForecastDetail[];
alerts?: Alert[];
}
export enum ActivePanel {
EDITOR = 'Mission Editor',
LIBRARY = 'Mission Library',
WEATHER = 'Weather',
SETTINGS = 'Settings',
}
export type UnitSystem = 'metric' | 'imperial';