You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: AGENTS.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,8 +28,10 @@ The video path has priority over everything else. `GlideView` should be able to
28
28
- A development preview backend exists using SDL2 plus OpenGL ES. It is for WSL/Windows-style development only and does not replace the production DRM/KMS path.
29
29
-`glide-ui` now uses LVGL v9.2.2 with LVGL's SDL backend for WSL development. Do not revive the hand-drawn GLES UI path.
30
30
-`openhd-glide --preview-stack` runs the WSL development stack by launching `glide-flow` first and an LVGL/SDL `glide-ui` sidebar preview over the left side.
31
+
-`examples/run-wsl-ui-preview.sh` now launches the full WSL preview stack by default so Flow OSD controls are visible with the UI; set `GLIDE_UI_ONLY=1` for the old standalone LVGL UI preview.
31
32
-`openhd-glide --kms-stack` is the target-device stack entry point. It validates DRM/KMS probing, process startup, CPU assignment, Unix-socket IPC, and starts `glide-flow` with a direct GBM/EGL KMS scanout surface. `--kmd-stack` is accepted as a typo-compatible alias.
32
33
- The WSL preview stack starts a controller-owned Unix socket at `/tmp/openhd-glide.sock` by default. Workers register with `hello <worker>`. `glide-ui` toggles the Flow FPS overlay by sending `set fps 0/1`; the controller broadcasts `state fps 0/1` to `glide-flow`.
34
+
-`openhd-glide --preview-stack` and `--kms-stack` include a controller-owned MAVLink UDP bridge on port 14550 by default. It decodes common MAVLink telemetry and OpenHD/QOpenHD parameter/status traffic into the existing `mav ...` IPC state lines for OSD/UI use, and translates UI `mav set ...` / `mav command ...` actions back to MAVLink packets once a UDP peer is known.
33
35
-`glide-ui` has a first LVGL QOpenHD-style sidebar shell: large icon rail, `Find Air Unit` scan panel, and an FPS overlay toggle in the `MISC` panel. In WSL the UI window is sized as a sidebar surface, not a transparent full-screen overlay.
34
36
- On the device stack, `glide-ui --headless` is used until the LVGL shared-buffer/plane backend exists. Do not make the UI a DRM/KMS master.
35
37
-`glide-view --udp-video --udp-port 5600` uses GStreamer to receive RTP/H.264 over UDP and decode into `appsink`. It must not use `kmssink` because only `openhd-glide` should own KMS. It prefers `v4l2h264dec`/`v4l2slh264dec` and warns if it falls back to `avdec_h264`.
Copy file name to clipboardExpand all lines: docs/architecture.md
+6-4Lines changed: 6 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -91,10 +91,12 @@ uses before drawing the FPS overlay. The socket path can be changed with `--ipc-
91
91
92
92
The LVGL UI is intentionally backend-isolated: the current SDL display driver is for WSL/Windows-style iteration. The target backend should render the same LVGL tree into shared buffers or a plane-owned buffer path supplied by `openhd-glide`, without letting `glide-ui` become DRM/KMS master.
93
93
94
-
The UI and Flow consume a small controller-broadcast `mav ...` IPC vocabulary while the real MAVLink bridge is being
95
-
built. This keeps the rendering processes decoupled from MAVLink transport details: a bridge can publish snapshots such
96
-
as `mav alive air 1`, `mav link 5745 20 2 1200`, `mav scan 50`, and `mav message ...`; UI actions emit `mav set ...` or
97
-
`mav command ...` for the bridge to translate into OpenHD `PARAM_EXT_*` writes and command-long calls.
94
+
The UI and Flow consume a small controller-broadcast `mav ...` IPC vocabulary. The controller owns the MAVLink UDP
95
+
bridge by default on `0.0.0.0:14550` (`--mavlink-udp-port`, `--no-mavlink`) and keeps rendering processes decoupled
96
+
from transport details. It decodes common flight messages into snapshots such as `mav attitude ...`, `mav position ...`,
97
+
`mav speed ...`, `mav battery ...`, `mav rc ...`, plus OpenHD/QOpenHD-style `PARAM_VALUE` and `PARAM_EXT_VALUE` settings
98
+
into `mav param ...`. UI actions emit `mav set ...` or `mav command ...`; the controller translates those back into
99
+
MAVLink parameter writes or command-long packets once it has seen a UDP peer.
The UI `OSD` panel has switches for the video FPS overlayand the compact Flow coordinate field. The coordinate switch sends `set coords 0/1` through the preview IPC socket.
93
+
The UI `OSD` panel has switches for the video FPS overlay, coordinates, and the speed/altitude ladder versus compact text mode. The wind indicator is drawn by Flow in the performance horizon, so run the controller-owned preview stack or `examples/run-wsl-ui-preview.sh` without `GLIDE_UI_ONLY=1` when checking it.
0 commit comments