telemetry fix gate for telemetry stream removed

This commit is contained in:
Constantin Leue
2026-08-02 20:44:20 +02:00
parent f42d997d4c
commit 11f894919b
6 changed files with 59 additions and 15 deletions
@@ -21,6 +21,12 @@ import 'msp_telemetry_codec.dart';
/// hat aktuell keine Felder dafuer; sobald die UI das braucht, ist ein
/// dritter, noch selteners abgefragter Zweig (`MSP2_INAV_ANALOG`) trivial
/// ergaenzt.
///
/// Der Strom wird NICHT auf einen gueltigen GPS-Fix gegated - jeder Zyklus
/// emittiert ein [TelemetryFrame], auch ohne Fix (dann mit `hasFix: false`
/// und der vom FC gemeldeten, ggf. bedeutungslosen Position). Konsumenten
/// wie FlyScreen entscheiden selbst anhand von [TelemetryFrame.hasFix], ob
/// sie die Position anzeigen.
class MspTelemetryPoller {
MspTelemetryPoller(this._client);
@@ -77,17 +83,12 @@ class MspTelemetryPoller {
);
}
// Sicherheitsrelevante Anzeigen nie mit Platzhaltern fuellen (Doku 9):
// ohne GPS-Fix gibt es keine sinnvolle Position - dann lieber gar kein
// Telemetrie-Frame senden, statt (0,0) oder einen eingefrorenen alten
// Wert zu zeigen. Die bestehende Fly-Anzeige zeigt ohne Frame ohnehin
// keinen Drohnen-Marker (siehe telemetryProvider/FlyScreen).
if (!gps.hasFix) return;
if (!_framesController.isClosed) {
_framesController.add(TelemetryFrame(
lat: gps.lat,
lon: gps.lon,
hasFix: gps.hasFix,
numSat: gps.numSat,
altitudeM: altitudeM,
speedMs: gps.speedMs,
headingDeg: gps.headingDeg,