44 lines
1.4 KiB
Dart
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();
|
|
}
|