0 is WFB OFF/no runtime command. Level order is increasingly conservative: GS increments level when link worsens and decrements it when link recovers.
Important policy rule
Bitrate is the primary continuous axis. Resolution/FPS/MCS/FEC are selected to make the image/link sensible at that bitrate. An automatic downgrade must reduce payload demand; 720p60 @ 8192k is not a valid link-recovery step merely because resolution changed.
Initial target:
1080p60 / 8192 kbit/s / 10% power
Degrade:
power up to temporary CH6 maxPower → lower bitrate with 720p60/50 → lower bitrate with lower FPS → tested sub-720p fallback
Recover in inverse order with longer dwell/hysteresis.
Scope
deterministic table generator and hash;
strict bounds/capabilities;
immutable policy snapshot for OSD;
unit tests for generation, monotonic ordering, and ceiling.
No VTX command transport in this issue.
## Goal
Implement the Ground Station side of the table-driven link-control architecture.
## Contract
A policy table contains 127 explicit operating points plus identity:
```text
generation
hash
maxPower ceiling
level 1..127: power, video mode, bitrate, MCS, FEC
```
`0` is WFB OFF/no runtime command. Level order is increasingly conservative: GS increments level when link worsens and decrements it when link recovers.
## Important policy rule
Bitrate is the primary continuous axis. Resolution/FPS/MCS/FEC are selected to make the image/link sensible at that bitrate. An automatic downgrade must reduce payload demand; `720p60 @ 8192k` is not a valid link-recovery step merely because resolution changed.
Initial target:
```text
1080p60 / 8192 kbit/s / 10% power
```
Degrade:
```text
power up to temporary CH6 maxPower → lower bitrate with 720p60/50 → lower bitrate with lower FPS → tested sub-720p fallback
```
Recover in inverse order with longer dwell/hysteresis.
## Scope
- deterministic table generator and hash;
- strict bounds/capabilities;
- immutable policy snapshot for OSD;
- unit tests for generation, monotonic ordering, and ceiling.
No VTX command transport in this issue.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Goal
Implement the Ground Station side of the table-driven link-control architecture.
Contract
A policy table contains 127 explicit operating points plus identity:
0is WFB OFF/no runtime command. Level order is increasingly conservative: GS increments level when link worsens and decrements it when link recovers.Important policy rule
Bitrate is the primary continuous axis. Resolution/FPS/MCS/FEC are selected to make the image/link sensible at that bitrate. An automatic downgrade must reduce payload demand;
720p60 @ 8192kis not a valid link-recovery step merely because resolution changed.Initial target:
Degrade:
Recover in inverse order with longer dwell/hysteresis.
Scope
No VTX command transport in this issue.
Tracked by #20. Start after #3, #6 and alternate FC telemetry contracts are established.