Files
dmc/app/lib/transport/msp/msp_flight_controller_link.dart
T

44 lines
1.4 KiB
Dart

import '../../domain/waypoint/flat_waypoint_list.dart';
import '../flight_controller_link.dart';
import '../link_transport.dart';
/// iNAV-Anbindung via MSP (Architektur-Doku 3.1). Eigenstaendiger Adapter,
/// da kein fertiges Dart-Paket fuer MSP verfuegbar ist (Doku 4.19).
///
/// Kennt nur die protokollneutrale [LinkTransport]-Abstraktion (Doku
/// Kommunikationsschicht Abschnitt 2) - ob darunter Bluetooth Classic (MVP)
/// oder spaeter WLAN/UDP steckt, ist fuer diese Klasse unsichtbar.
///
/// 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.transport});
final LinkTransport transport;
@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();
}