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:
@@ -22,6 +22,11 @@ class MockFlightControllerLink implements FlightControllerLink {
|
||||
|
||||
@override
|
||||
Future<void> connect() async {
|
||||
// Idempotent (Doku flightControllerLinkProvider: "Verbindung bleibt
|
||||
// ueber Moduswechsel hinweg aktiv") - sonst wuerde jeder erneute
|
||||
// Eintritt in den Fly-Modus einen zweiten Timer/Controller anlegen und
|
||||
// den vorherigen verwaist weiterlaufen lassen.
|
||||
if (_telemetryController != null) return;
|
||||
_telemetryController = StreamController<TelemetryFrame>.broadcast();
|
||||
_ticker = Timer.periodic(const Duration(seconds: 1), (_) {
|
||||
// Kurs dreht sich langsam weiter statt fest zu stehen, damit die
|
||||
|
||||
@@ -43,6 +43,13 @@ class MspFlightControllerLink implements FlightControllerLink {
|
||||
|
||||
@override
|
||||
Future<void> connect() async {
|
||||
// Idempotent (Doku flightControllerLinkProvider: "Verbindung bleibt
|
||||
// ueber Moduswechsel hinweg aktiv") - jeder erneute Eintritt in den
|
||||
// Fly-Modus ruft connect() erneut auf derselben, weiterhin
|
||||
// bestehenden Instanz auf; ohne diese Sperre wuerde das einen zweiten
|
||||
// MspClient/-Poller nebenher starten, der um MSP-Antworten race
|
||||
// (MSP kennt keine Request-IDs, siehe MspClient-Doku).
|
||||
if (_poller != null) return;
|
||||
await transport.connect();
|
||||
final client = MspClient(transport);
|
||||
_client = client;
|
||||
|
||||
Reference in New Issue
Block a user