Skip to content

About

Build a tool where the aircraft tells you what it's doing, the AI tells you what it's thinking, and your only job is to make both of them smarter

Resources

Stars

5 stars

Watchers

0 watching

Forks

Repository files navigation

developer-gcs

Ground control station for swarm development. Requires bun.

Install

bun install

Run

bun run dev      # dev server
bun run dev:test # dev server with fake FPV drones (see Test mode)
bun run build    # production build to dist/
bun run preview  # serve the production build

Test mode

bun run dev:test runs the app with simulated FPV drones, so features can be developed and checked without hardware. Open the 3D view to see them fly.

Type commands in the same terminal where bun run dev:test runs; results print back as gcs: .... A browser tab must be open, since the drones are simulated in the page. Keep a single tab open: every tab runs its own drones and receives each command. Drones are numbered 1, 2, ….

demo
stop
reset
spawn 3
swarm 1 2 3
swarm.arm
swarm.takeoff 10
swarm.alt 100
watch swarm
goto 2 15 -5 8
land 1
Command Action
spawn n Add n drones near the origin (default 1)
arm id / disarm id Arm / disarm
takeoff id alt Take off to alt metres (default 5, must be armed)
goto id north east alt Fly to a local position in metres
alt id alt Climb or descend to alt metres at the current position
land id Land at the current position, then disarm
rtl id Return to launch: fly to its spawn point at 15 m (or higher if already above), then land
stop id Hover in place; stop alone also ends demo and stops every drone
reset Remove every drone; numbering starts from 1 again
demo n Spawn n drones (default 4), take off, then random gotos every 3 s
swarm 1 2 3 Select drones for swarm commands (swarm alone selects all)
watch id ... / watch swarm 3D camera follows those drones / the swarm (all drones if no swarm is selected)
unwatch Free the camera (same as watch alone)
swarm.<command> ... Send the same command to every selected drone, e.g. swarm.arm, swarm.takeoff 10, swarm.alt 100, swarm.stop

Console style works too: swarm(1,2,3), swarm.alt(100). Test only: there is no swarm collision avoidance yet, so swarm.goto north east alt moves the swarm's centre to that point and each drone keeps its offset from the centre; the other swarm commands are sent to each member as-is. Unknown commands print the list. Single-letter lines (r, u, o, c, q, h) stay Vite's own shortcuts. The same commands work in the browser console as gcs.takeoff(1, 10) and swarm.alt(100).

Shortcuts

Shortcut Action
Ctrl+, Toggle left pane
Ctrl+. Toggle bottom strip
Ctrl+/ Toggle right pane
Esc Close navbar / exit layout edit mode

The navbar is opened with the menu button in the status bar. The layout button (right of the status bar) splits the display into 1x1/1x2/2x2 and assigns a view to each cell.

Map

Left-drag pans, right-drag rotates and tilts (stops as soon as you let go), wheel zooms. The 2D/3D button switches between a top view and a tilted 3D view; the compass button turns the map back to north.

About

Build a tool where the aircraft tells you what it's doing, the AI tells you what it's thinking, and your only job is to make both of them smarter

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages