Skip to content

Fleet tile

The Fleet tile is the multi-drone command console. Every aircraft in the operation — handhelds and DJI docks alike — appears here. Three tabs give you three different read-outs on the same roster.

The three tabs

Video Grid (default)

A thumbnail grid showing each drone’s live video. Each card:

  • Live thumbnail of the current FPV stream.
  • Drone name + current status (RTH, LANDING, DISCONNECTED badges as applicable).
  • Altitude (m), ground speed (m/s).
  • Battery % with colour-coded bar.
  • Per-row actions (recall / cancel recall / land / focus on map).

Battery Dashboard

A tabular view optimised for energy management:

  • Drone name.
  • Battery bar with gradient colour and a vertical tick marking the RTH threshold.
  • Voltage (V).
  • ETA-to-return-home (seconds or mm:ss).
  • Estimated remaining flight time.
  • Current flight mode (MANUAL / POSITION / RTH / etc.).

Status Overview

A 10-column grid designed for quick at-a-glance multi-drone reads:

Battery | Altitude | Speed | Heading | Vertical speed | GPS satellites | Signal quality | Flight mode | ETA RTH | Remaining flight time.

What’s in the roster

Every source merges into one list:

  • Handheld Android drones (via TACLINK peers).
  • DJI dock aircraft (via their DJI Cloud bindings).
  • Any other drone type integrated via the transport factory.

The peerId uniquely identifies each source — the tile doesn’t care about the source type at render time; it just reads the unified FleetService.drones() signal.

Per-row actions

The button set depends on the drone’s current state:

  • Recall — only when flying and not already returning home. Sends the RTH command to the drone’s transport.
  • Cancel Recall — only when already returning home. Sends cancel-RTH.
  • Land — only when flying and not already landing. Sends the land command.
  • Focus on Map — always visible. Emits focusLocation which the map tile listens for and pans to the drone’s current position.

No “open stream” button here — stream selection flows from the streams tile or by clicking the video preview inside the fleet-tile card.

The “Recall All” safety bar

Above the roster, when any drone is airborne, a gated confirmation bar offers Recall All flying drones. The bar is two-step on purpose:

  1. Click the bar to arm it.
  2. A confirm button appears; click again within a few seconds to actually recall.

Two clicks prevents an accidental fleet-wide RTH mid-operation.

Battery colour coding

The battery bar colours shift at hard thresholds:

BatteryColour
< 15 %Red
< 25 %Orange
< 50 %Yellow
≥ 50 %Green

Identical thresholds are used on the HUD overlay and the dashboard cards.

Filtering & sorting

The current build has no filter/search UI. Every drone visible to the mission always renders. Sort order is the FleetService’s natural order (typically join-time ascending).

If you have more than a dozen simultaneous aircraft, the Status Overview tab packs densely; Video Grid starts to feel cramped at that count and you’ll want to use individual drone-stream tiles for the active few.

Offline drones

Disconnected drones render with a DISCONNECTED badge and appear greyed out. They still count toward the roster — the tile doesn’t auto-hide them. To remove them entirely, unassign them from the mission in its detail page.

Interactions with other tiles

  • Clicking Focus on Map → emits a focusLocation event the map tile picks up → map pans + re-frames on the drone’s position.
  • Clicking a drone’s thumbnail → opens that drone in the drone stream tile.
  • Drone-stream tile, HUD overlay, telemetry tile, flight-log tile all re-bind to whatever drone you last focused.

Known limitations

  • No filter / search.
  • No drag-to-reorder.
  • “Recall All” ignores team scopes — it recalls every flying drone in the mission, not just drones on your team. Use the single-drone Recall buttons if you need team-scoped control.