disabled auto connect when switching to fly mode and no disconnect when leavin fly mode, race condition fix for connectionType ( now telemetry not working anymore), UI optimizations: centered speed and alt, zoom to mission uses full screen

This commit is contained in:
Constantin Leue
2026-08-02 21:45:46 +02:00
parent 35c4129eb7
commit 0649ae4507
7 changed files with 94 additions and 66 deletions
@@ -135,18 +135,15 @@ class _WifiPanel extends ConsumerWidget {
final packetCount = ref.watch(wifiPacketCountProvider);
final connectedSsid = ref.watch(wifiConnectedSsidProvider).value;
// MSP-Telemetrie nur beobachten, wenn der Transport bereits verbunden
// ist - sonst wuerde allein das Oeffnen dieses Screens ueber
// telemetryProvider einen neuen Verbindungsversuch (samt Systemdialog)
// auslösen. Ist bereits eine echte Verbindung aktiv (z.B. weil der
// Fly-Modus sie aufgebaut hat), liefert dies denselben Provider/dieselbe
// MSP-Client-Instanz wie FlyScreen - keine zweite, konkurrierende
// Abfrage-Schleife. Der Telemetrie-Strom selbst ist nicht auf einen
// GPS-Fix gegated (siehe TelemetryFrame-Doku) - die Felder erscheinen
// hier also auch ohne Fix, sobald ueberhaupt eine MSP-Antwort ankommt.
final telemetry = linkState == LinkState.connected
? ref.watch(telemetryProvider).value
: null;
// telemetryProvider loest selbst keinen Verbindungsversuch aus, solange
// WLAN/MSP noch nicht ueber den "Connect"-Knopf verbunden ist (siehe
// dortige Doku) - hier also gefahrlos unbedingt beobachtbar. Liefert bei
// aktiver Verbindung denselben Provider/dieselbe MSP-Client-Instanz wie
// FlyScreen - keine zweite, konkurrierende Abfrage-Schleife. Der
// Telemetrie-Strom selbst ist nicht auf einen GPS-Fix gegated (siehe
// TelemetryFrame-Doku) - die Felder erscheinen hier also auch ohne Fix,
// sobald ueberhaupt eine MSP-Antwort ankommt.
final telemetry = ref.watch(telemetryProvider).value;
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
@@ -186,8 +183,12 @@ class _WifiPanel extends ConsumerWidget {
SwitchListTile(
contentPadding: EdgeInsets.zero,
title: const Text('Auto-connect when entering Fly mode'),
// Trigger aktuell bewusst deaktiviert (Doku: "kein connect beim
// Wechsel in den Fly-Modus, um das Debuggen auf echter Hardware
// zu vereinfachen") - die Einstellung bleibt fuer eine spaetere
// Reaktivierung erhalten, wirkt sich derzeit aber auf nichts aus.
subtitle: const Text(
'Only once a network has been remembered.',
'Currently inactive - connect manually above.',
style: TextStyle(fontSize: 11),
),
value: connectionSettings?.connectionAutoConnect ?? true,