Implement the HiLink side of table-driven WFB/video control. VTX is a bounded executor, never an adaptive policy decision-maker.
Inputs
complete policy table provisioned through separate authenticated GS ↔ VTX control path;
runtime level 0..127 arriving on dedicated ELRS CH7/AUX3 via FC/MSP channel callback.
VTX behavior
0 → WFB OFF / management
1..127 → apply acknowledged_table[level]
A table entry contains only allowlisted values:
power_pct
video mode enum
bitrate
MCS
FEC K/N
Requirements
validate table schema, generation, hash, bounds and capability allowlist before accepting;
decode level deterministically from PWM buckets with hysteresis;
only apply complete table entries, serialized through current link-mode/video ownership;
preserve the single persistent msposd UART owner;
VTX reports table generation/hash, requested/applied level, actual applied config, lifecycle and error back to GS;
VTX never evaluates RSSI/loss/FEC and never chooses a new level;
reject/stale/invalid control preserves last valid configuration and reports state.
Acceptance
Piotr manually selects 1080p60, 720p60, lower-FPS and OFF table entries. GS OSD shows matching table identity and applied level after each controlled transition.
## Goal
Implement the HiLink side of table-driven WFB/video control. VTX is a bounded executor, never an adaptive policy decision-maker.
## Inputs
- complete policy table provisioned through separate authenticated GS ↔ VTX control path;
- runtime level `0..127` arriving on dedicated ELRS CH7/AUX3 via FC/MSP channel callback.
## VTX behavior
```text
0 → WFB OFF / management
1..127 → apply acknowledged_table[level]
```
A table entry contains only allowlisted values:
```text
power_pct
video mode enum
bitrate
MCS
FEC K/N
```
## Requirements
- validate table schema, generation, hash, bounds and capability allowlist before accepting;
- decode level deterministically from PWM buckets with hysteresis;
- only apply complete table entries, serialized through current link-mode/video ownership;
- preserve the single persistent msposd UART owner;
- VTX reports table generation/hash, requested/applied level, actual applied config, lifecycle and error back to GS;
- VTX never evaluates RSSI/loss/FEC and never chooses a new level;
- reject/stale/invalid control preserves last valid configuration and reports state.
## Acceptance
Piotr manually selects 1080p60, 720p60, lower-FPS and OFF table entries. GS OSD shows matching table identity and applied level after each controlled transition.
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 HiLink side of table-driven WFB/video control. VTX is a bounded executor, never an adaptive policy decision-maker.
Inputs
0..127arriving on dedicated ELRS CH7/AUX3 via FC/MSP channel callback.VTX behavior
A table entry contains only allowlisted values:
Requirements
Acceptance
Piotr manually selects 1080p60, 720p60, lower-FPS and OFF table entries. GS OSD shows matching table identity and applied level after each controlled transition.