Ground Station adaptive level controller #18

Open
opened 2026-10-18 07:43:23 +02:00 by hermes · 1 comment
Collaborator

Goal

Implement a GS-only adaptive controller that changes one desired runtime level 0..127 using receiver-side WFB quality.

Inputs

  • acknowledged policy table;
  • GSObservedLink from issue #6;
  • temporary CH6 maxPower ceiling;
  • lifecycle permission.

Rules

start: 1080p60 / 8192k / 10%
bad:   power ↑ to ceiling → lower bitrate/video entries
healthy recovery: reverse through video/bitrate entries → power ↓

Use separate upgrade/downgrade thresholds, dwell windows, and hold-down. First implementation runs log-only; it must publish proposed level/reason but send no VTX command.

VTX must never independently calculate adaptation.

## Goal Implement a GS-only adaptive controller that changes one desired runtime level `0..127` using receiver-side WFB quality. ## Inputs - acknowledged policy table; - `GSObservedLink` from issue #6; - temporary CH6 maxPower ceiling; - lifecycle permission. ## Rules ```text start: 1080p60 / 8192k / 10% bad: power ↑ to ceiling → lower bitrate/video entries healthy recovery: reverse through video/bitrate entries → power ↓ ``` Use separate upgrade/downgrade thresholds, dwell windows, and hold-down. First implementation runs log-only; it must publish proposed level/reason but send no VTX command. VTX must never independently calculate adaptation.
Author
Collaborator

Tracked by #20. Final core step: log-only controller first, then live level changes after table provisioning and VTX acknowledgement are accepted.

Tracked by https://git.piksar.eu/piotr/groundstation/issues/20. Final core step: log-only controller first, then live level changes after table provisioning and VTX acknowledgement are accepted.
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: piotr/groundstation#18