-
Notifications
You must be signed in to change notification settings - Fork 28
Flight Log Design
Diese Klasse speichert die Daten zu einem Flug. Im Wesentlichen enthält die Klasse die folgenden Daten.
-
Startort und Zeitpunkt (falls bekannt)
-
Landeort und Zeitpunkt (falls bekannt)
-
Anzahl Landungen (falls bekannt)
-
Status (vollständig/unvollständig/ungültig)
-
optional: vollständige GPS-Aufzeichnung des Flugweges
Diese Klasse stellt QML eine Liste von FlightLogEntries zur Verfügung.
Diese Klasse nimmt GPS-Daten von der Klasse SatNav entgegen und generiert FlightLogEntries. Der Code muss auch in folgenden Situationen sinnvolle Ergebnisse liefern.
-
Die App oder das "FlightLog" wird erst während des Fluges eingeschaltet, so dass der Startort und Startzeitpunkt unbekannt sind.
-
Die App oder das "FlightLog" wird während des Fluges ausgeschaltet oder die App stürzt ab oder die Batterie ist leer, so dass der Landeort und -zeitpunkt unbekannt sind.
-
Die Klasse SatNav liefert für einen kürzeren Zeitraum keine Daten (z.B. vorübergehende Empfangsstörung).
-
Die Klasse SatNav liefert für einen längeren Zeitraum keine Daten.
-
Der Nutzer schaltet die App versehentlich während des Fluges aus und korrigiert den Fehler, indem er die App schnell wieder einschaltet.
Die Aufgaben der Klasse sind dann folgende:
-
Daten der Klasse SatNav entgegennehmen.
-
FlightLogEntries generieren und speichern, auf Wunsch mit detaillierter Aufzeichnung des Flugweges.
-
Vereinfachen der Aufzeichnung des Flugweges beim Abspeichern (sehr detaillierte Aufzeichnung nahe Start/Landung/Richtungsänderung, ansonsten reicht ein Datenpunkt pro NM)
-
Zusammenfassen von Einträgen bei mehreren Landungen auf dem gleichen Flugfeld/Touch-and-Go
-
Informieren der Klasse "FlightLog" über Änderungen
Ich plane für die GUI einen Eintrag "Flight Log" im Hauptmenü, dann eine eigene Seite für die Details.
Ein drei-Punkte-Menü mit
-
"Clear Flight Log" -> öffnet Dialog mit "Flights older than 6 months"/"All Flights", dann Bestätigungsdialog.
-
"Clear detailed flight paths" -> öffnet Dialog mit "Flights older than 6 months"/"All Flights", dann Bestätigungsdialog
-
Export (z.B. als PDF, CSV oder ähnlich)
-
Open in other app (z.B. als PDF, CSV oder ähnlich)
Von oben nach unten
-
Schieberegler "Enable automatic flight log"
-
Schieberegler "Include detailed flight path"
-
Liste der einzelnen Flüge (neuester Flug ganz oben), evtl mit Zwischenüberschriften ("Today", "Yesterday", "Last Week", "Last Month", …), bei leerer Liste einen Erläuterungstext
-
Kurzangabe Startzeit/Ort
-
Landezeit/Ort
-
Flugdauer
-
#Landungen
-
Farbcode für Status (vollständig/unvollständig/ungültig)
-
Icon für detaillierte Flugaufzeichnung
Zusätzlich hat jeder Eintrag drei-Punkte-Menü mit folgendem Inhalt
-
Flug löschen
-
Detailierte Flugaufzeichnung löschen
-
Flug exportierten (z.B. als GPX, Text, …)
-
Flug in anderer App öffnen
Enroute Flight Navigation is a project of Akaflieg Freiburg.