Drone Status Menue: rohe GPS-Hoehe im Altitude-Feld ergaenzt
MSP_RAW_GPS liefert bereits eine eigene Hoehe (gpsSol.llh.alt, Offset 10,
u16 Meter) - bislang ungenutzt/uebersprungen. Jetzt als eigenes Feld
(MspGpsReading.altitudeM -> TelemetryFrame.gpsAltitudeM) geparst und im
selben "Altitude"-Feld wie die bisherige barometrisch/GPS-fusionierte
Schaetzung angezeigt ("120 m (GPS 119 m)"), statt einer eigenen Kachel -
nur bei vorhandenem Fix angehaengt, analog zur bestehenden hasFix-Handhabung
bei GPS coordinates/HDOP.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
9cece7dbb6
commit
13e2827344
@@ -185,7 +185,7 @@ class _DroneStatusMessagesPanelState extends ConsumerState<DroneStatusMessagesPa
|
||||
: '—',
|
||||
),
|
||||
_statusRow('Heading', frame != null ? '${frame.headingDeg.round()}°' : '—'),
|
||||
_statusRow('Altitude', frame != null ? '${frame.altitudeM.toStringAsFixed(0)} m' : '—'),
|
||||
_statusRow('Altitude', _formatAltitude(frame)),
|
||||
_statusRow('Speed', frame != null ? '${frame.speedMs.toStringAsFixed(1)} m/s' : '—'),
|
||||
// Ans Ende der Liste (Doku: "ans ende der liste noch die
|
||||
// steig/sinkrate hinzufuegen") - bildet mit "Speed" das letzte
|
||||
@@ -347,6 +347,18 @@ class _DroneStatusMessagesPanelState extends ConsumerState<DroneStatusMessagesPa
|
||||
);
|
||||
}
|
||||
|
||||
// Rohe GPS-Hoehe im selben Feld wie die barometrisch/GPS-fusionierte
|
||||
// Schaetzung (Doku: "GPS Höhe auch anzeigen im gleichen Feld wie die
|
||||
// normale Höhe") statt einer eigenen Kachel - nur bei hasFix angehaengt,
|
||||
// da die GPS-Hoehe ohne Fix bedeutungslos/veraltet ist (analog zu GPS
|
||||
// coordinates/HDOP oben).
|
||||
String _formatAltitude(TelemetryFrame? frame) {
|
||||
if (frame == null) return '—';
|
||||
final estimated = '${frame.altitudeM.toStringAsFixed(0)} m';
|
||||
if (!frame.hasFix) return estimated;
|
||||
return '$estimated (GPS ${frame.gpsAltitudeM.toStringAsFixed(0)} m)';
|
||||
}
|
||||
|
||||
String _formatTemperatures(TelemetryFrame? frame) {
|
||||
if (frame == null) return '—';
|
||||
return frame.temperaturesC.map((t) => t == null ? '—' : '${t.round()}°').join(' / ');
|
||||
|
||||
Reference in New Issue
Block a user