Five-layer architecture per DMC_Architektur_und_Design.md: FlightControllerLink abstraction (Mock + MSP stub), protocol-neutral mission domain layer, App-Mode state machine with Ready-to-Fly gate, Drift persistence schema, and placeholder UI screens wired via go_router. App icon generated from design/Y2_pink_dark.svg. Verified with flutter analyze and flutter test. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
40 lines
1.2 KiB
Dart
40 lines
1.2 KiB
Dart
import '../../domain/waypoint/flat_waypoint_list.dart';
|
|
import '../flight_controller_link.dart';
|
|
|
|
/// iNAV-Anbindung via MSP (Architektur-Doku 3.1). Eigenstaendiger Adapter,
|
|
/// da kein fertiges Dart-Paket fuer MSP verfuegbar ist (Doku 4.19).
|
|
///
|
|
/// Protokoll-Implementierung (Framing, MSP_SET_WP, MSP_NAV_STATUS, ...) ist
|
|
/// noch offen - dies ist bewusst nur das Geruest fuer die Abstraktion.
|
|
class MspFlightControllerLink implements FlightControllerLink {
|
|
MspFlightControllerLink({required this.host, required this.port});
|
|
|
|
final String host;
|
|
final int port;
|
|
|
|
@override
|
|
FcCapabilities get capabilities => throw UnimplementedError();
|
|
|
|
@override
|
|
Future<void> connect() => throw UnimplementedError();
|
|
|
|
@override
|
|
Future<void> disconnect() => throw UnimplementedError();
|
|
|
|
@override
|
|
Future<void> uploadMission(FlatWaypointList mission) =>
|
|
throw UnimplementedError();
|
|
|
|
@override
|
|
Future<void> setFlightMode(FlightMode mode) => throw UnimplementedError();
|
|
|
|
@override
|
|
Future<void> arm() => throw UnimplementedError();
|
|
|
|
@override
|
|
Stream<TelemetryFrame> subscribeTelemetry() => throw UnimplementedError();
|
|
|
|
@override
|
|
Future<int?> readActiveWaypointIndex() => throw UnimplementedError();
|
|
}
|