diff --git a/src/lib/telemetry.ts b/src/lib/telemetry.ts new file mode 100644 index 0000000..fb2e525 --- /dev/null +++ b/src/lib/telemetry.ts @@ -0,0 +1,58 @@ +import { writable } from "svelte/store" +import type { LatLngExpression } from "leaflet"; + +import L from "leaflet"; + +interface TelemetryPoint { + altitude: number; + datetime: string; + latitude: number; + longitude: number; + payload: string; +} + +interface ParsedTelemetry { + flight_path: [number, number, number][]; + launch: { + latlng: LatLngExpression; + datetime: Date; + }; + datapoints: TelemetryPoint[]; +} + +export const latestTelemetry = writable({ + metadata: { + complete_datetime: "", + start_datetime: "" + }, + telemetry: [ + { + altitude: 0.0, + datetime: "", + latitude: 0.0, + longitude: 0.0, + payload: "" + } + ] +}); + +export const latestTelemetryParsed = writable({} as ParsedTelemetry); + +export function parseTelemetry(telemetry: TelemetryPoint[]): ParsedTelemetry { + const flight_path: [number, number, number][] = telemetry.map((point) => [ + point.latitude, + point.longitude, + point.altitude + ]); + + const launch = { + latlng: L.latLng(telemetry[0].latitude, telemetry[0].longitude), + datetime: new Date(telemetry[0].datetime) + }; + + return { + flight_path, + launch, + datapoints: telemetry + }; +} \ No newline at end of file diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 594580f..f961cbf 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,26 +1,7 @@
- - -
\ No newline at end of file diff --git a/src/routes/Navbar.svelte b/src/routes/Navbar.svelte index 5451707..6c90297 100644 --- a/src/routes/Navbar.svelte +++ b/src/routes/Navbar.svelte @@ -21,10 +21,10 @@