hilink: expose runtime knob power through MSP VTX

This commit is contained in:
2026-09-30 12:05:33 +02:00
parent b04eeba139
commit 3be89cb70b
@@ -353,10 +353,10 @@ index 3e60a31..1fe1c28 100644
+// Advertise the actual local WFB configuration without resetting the FC table. +// Advertise the actual local WFB configuration without resetting the FC table.
+void msp_send_vtx_runtime_config(int serial_fd); +void msp_send_vtx_runtime_config(int serial_fd);
diff --git a/osd/util/interface.c b/osd/util/interface.c diff --git a/osd/util/interface.c b/osd/util/interface.c
index 089fdc2..1ddd350 100644 index 089fdc2..a783431 100644
--- a/osd/util/interface.c --- a/osd/util/interface.c
+++ b/osd/util/interface.c +++ b/osd/util/interface.c
@@ -153,3 +153,69 @@ void set_frequency(char *interface, int channel) { @@ -153,3 +153,81 @@ void set_frequency(char *interface, int channel) {
printf("Failed to set channel on %s\n", interface); printf("Failed to set channel on %s\n", interface);
} }
} }
@@ -400,10 +400,22 @@ index 089fdc2..1ddd350 100644
+} +}
+ +
+int read_wfb_txpower(void) { +int read_wfb_txpower(void) {
+ FILE *fp = fopen("/etc/wfb.yaml", "r"); + FILE *fp = fopen("/run/wfb-power", "r");
+ int txpower = -1;
+
+ // CH6 knob state wins while WFB is active; it is intentionally kept in
+ // tmpfs so power changes do not wear the overlay flash.
+ if (fp != NULL) {
+ if (fscanf(fp, "%d", &txpower) == 1 && txpower >= 0 && txpower <= 100) {
+ fclose(fp);
+ return txpower;
+ }
+ fclose(fp);
+ }
+
+ fp = fopen("/etc/wfb.yaml", "r");
+ char buffer[256]; + char buffer[256];
+ int in_wireless = 0; + int in_wireless = 0;
+ int txpower = -1;
+ +
+ if (fp == NULL) { + if (fp == NULL) {
+ return -1; + return -1;