drone status menue: fixed empty display bug without active telemetry stream
This commit is contained in:
@@ -43,6 +43,15 @@ SignalLevel _levelLowerIsBetter(double value, double greenMax, double redMax) {
|
||||
/// Reine Ableitung aus normalisierten Telemetriewerten + den
|
||||
/// Ampel-Schwellwerten des aktiven Drohnenprofils - kein MSP-/
|
||||
/// Protokollwissen, siehe computeDroneStatus-Doku.
|
||||
///
|
||||
/// [hasData] ist false, solange noch gar kein Telemetrie-Frame vorliegt
|
||||
/// (Doku: "Felder auch anzeigen koennen, bevor Daten empfangen wurden") -
|
||||
/// erzwingt dann fuer ALLE Felder rot, unabhaengig von den uebergebenen
|
||||
/// Platzhalterwerten. Ohne das wuerde z.B. "Current draw" (ein Feld, bei dem
|
||||
/// ein NIEDRIGER Wert gut ist) mit dem neutralen Platzhalter 0 faelschlich
|
||||
/// gruen erscheinen ("sehr niedriger Verbrauch" statt "keine Daten") - anders
|
||||
/// als bei den "hoeher ist besser"-Feldern, wo ein 0/negativer Platzhalter
|
||||
/// zufaellig schon unter der Rot-Schwelle liegt.
|
||||
TelemetryFieldStatus computeTelemetryFieldStatus({
|
||||
required int numSat,
|
||||
required bool hasFix,
|
||||
@@ -52,7 +61,18 @@ TelemetryFieldStatus computeTelemetryFieldStatus({
|
||||
required int linkQuality,
|
||||
required int snrDb,
|
||||
required DroneProfile profile,
|
||||
bool hasData = true,
|
||||
}) {
|
||||
if (!hasData) {
|
||||
return const TelemetryFieldStatus(
|
||||
numSat: SignalLevel.red,
|
||||
hdop: SignalLevel.red,
|
||||
currentA: SignalLevel.red,
|
||||
batteryVoltage: SignalLevel.red,
|
||||
rxQuality: SignalLevel.red,
|
||||
rxSnr: SignalLevel.red,
|
||||
);
|
||||
}
|
||||
return TelemetryFieldStatus(
|
||||
numSat: _levelHigherIsBetter(
|
||||
numSat.toDouble(),
|
||||
|
||||
Reference in New Issue
Block a user