diff --git a/gcs/src/components/dashboard/floatingToolbar.jsx b/gcs/src/components/dashboard/floatingToolbar.jsx index c0ae587e9..6bc815a07 100644 --- a/gcs/src/components/dashboard/floatingToolbar.jsx +++ b/gcs/src/components/dashboard/floatingToolbar.jsx @@ -5,6 +5,7 @@ // 3rd Party Imports import { ActionIcon, Tooltip } from "@mantine/core" import { useLocalStorage } from "@mantine/hooks" +import { centerOfMass, polygon } from "@turf/turf" import { IconAnchor, IconAnchorOff, @@ -47,10 +48,17 @@ export default function FloatingToolbar({ ) } - function centerMapOnFirstMissionItem() { + function centerMapOnMission() { if (filteredMissionItems.length > 0) { - let lat = parseFloat(filteredMissionItems[0].x * 1e-7) - let lon = parseFloat(filteredMissionItems[0].y * 1e-7) + let points = filteredMissionItems.map((item) => [ + item.x * 1e-7, + item.y * 1e-7, + ]) + points.push(points[0]) // Close the polygon + let geo = polygon([points]) + let center = centerOfMass(geo).geometry.coordinates + let lat = parseFloat(center[0]) + let lon = parseFloat(center[1]) mapRef.current.getMap().flyTo({ center: [lon, lat], }) @@ -95,7 +103,7 @@ export default function FloatingToolbar({ - {/* Center Map on first mission item */} + {/* Center Map on full mission */} 0 ? "No mission" : "Center on mission" @@ -103,7 +111,7 @@ export default function FloatingToolbar({ > diff --git a/gcs/src/components/fla/presetCategories.js b/gcs/src/components/fla/presetCategories.js index f37f7b56c..a2af3e5d4 100644 --- a/gcs/src/components/fla/presetCategories.js +++ b/gcs/src/components/fla/presetCategories.js @@ -59,7 +59,7 @@ const dataflashPresetCategories = [ filters: [ { name: "Battery Voltage vs Current", - filters: { BATT: ["Volt", "Curr"] }, + filters: { BAT: ["Volt", "Curr"] }, aircraftType: ["copter", "plane", "quadplane"], }, ], diff --git a/gcs/src/components/mainContent.jsx b/gcs/src/components/mainContent.jsx index 6aac22d7a..30a4d510f 100644 --- a/gcs/src/components/mainContent.jsx +++ b/gcs/src/components/mainContent.jsx @@ -11,6 +11,7 @@ import { SettingsProvider } from "../helpers/settingsProvider" // Routes import FLA from "../fla" import Graphs from "../graphs" +import Missions from "../missions" import Params from "../params" import Config from "../config" import CameraWindow from "./dashboard/webcam/webcam" @@ -34,6 +35,7 @@ export default function AppContent() { } /> + } /> } /> } /> } /> diff --git a/gcs/src/components/spotlight/commandHandler.js b/gcs/src/components/spotlight/commandHandler.js index 2291b2522..ffd86409d 100644 --- a/gcs/src/components/spotlight/commandHandler.js +++ b/gcs/src/components/spotlight/commandHandler.js @@ -83,7 +83,6 @@ export function AddCommand(id, command, shortcut = null, macShortcut = null) { export function RunCommand(id) { // Search for a command by id - console.log(`Running command, ${id}`) try { commands.find((entry) => entry.id == id).command() } catch {