Zum Inhalt

LatRevPage (IPage)

Eigenschaft Wert
Modul Mcdu/Pages
Klasse LatRevPage
Typ IPage Implementation
Sichtbarkeit Public
Datei Mcdu/Pages/LatRevPage.vb

Beschreibung

LATREV-Seite — laterale Revision am ausgewaehlten Waypoint. Drei Varianten je nach Leg-Typ: ADEP (Departures-Button, NEXT WPT, NEW DEST, AIRWAYS), ADES (Arrivals-Button, ALTN, ENABLE, NEXT WPT, NEW DEST, AIRWAYS) und En-Route (HOLD, ENABLE, ALTN, NEXT WPT, NEW DEST, AIRWAYS). Titel zeigt "LAT REV FROM {ident}" mit Inline-Font-Wechsel. Zeile 02 zeigt Lat/Lon im DDMMbMM.mH Format. SEC-Pfad-Erkennung ueber LastMainPage.Contains("SEC") — bei SEC wird HOLD durch INOP ersetzt.

LSK-Aktionen: L1 DEPARTURES (ADEP), R1 ARRIVALS (ADES), L4 HOLD Navigation, L5 DELETE Waypoint, L6 RETURN (FPLN oder SecFpln), R3 NEXT WPT Insert, R4 NEW DEST Insert, R5 AIRWAYS Navigation.

Implementierte Methoden

Render

Public Sub Render(ctx As McduContext, buffer As Inet.Arinc429ScreenBuffer) Implements IPage.Render
Name Typ Beschreibung Standard
ctx McduContext MCDU-Zustandskontext mit SelectedLegIndex, FlightPlan, LastMainPage
buffer Inet.Arinc429ScreenBuffer ARINC-429-Bildschirmpuffer fuer die MCDU-Anzeige

HandleLsk

Public Function HandleLsk(key As McduLskKey, ctx As McduContext) As McduCommand Implements IPage.HandleLsk
Name Typ Beschreibung Standard
key McduLskKey Gedrueckte LSK-Taste (L1-L6, R1-R6)
ctx McduContext MCDU-Zustandskontext mit Scratchpad, SelectedLegIndex, FlightPlan

Rückgabewert (HandleLsk)

Typ Beschreibung
McduCommand Kommando-Objekt: NavigateTo (Hold, AdepRwy, AdesRwy, Airways, Fpln, SecFpln), InsertWaypoint, DeleteWaypoint, ShowScratchpadMessage oder NoOp

Ablaufdiagramm

flowchart TD
    A[Render Start] --> B{SelectedLegIndex gueltig?}
    B -- Nein --> C[NO WPT SELECTED anzeigen]
    B -- Ja --> D[Titel: LAT REV FROM ident]
    D --> E[Lat/Lon Zeile 02 DDMMbMM.mH Format]
    E --> F{Leg-Typ?}
    F -- ADEP --> G[DEPARTURES, NEXT WPT, NEW DEST, AIRWAYS, RETURN]
    F -- ADES --> H[ARRIVALS, ALTN, ENABLE, NEXT WPT, NEW DEST, AIRWAYS, RETURN]
    F -- En-Route --> I{SEC Pfad?}
    I -- Ja --> J[INOP statt HOLD]
    I -- Nein --> K[HOLD, ENABLE, ALTN, NEXT WPT, NEW DEST, AIRWAYS, RETURN]

    L[HandleLsk] --> M{Taste?}
    M -- L1 + ADEP --> N[NavigateTo AdepRwy]
    M -- R1 + ADES --> O[NavigateTo AdesRwy]
    M -- L4 --> P[NavigateTo Hold]
    M -- L5 --> Q[DeleteWaypoint]
    M -- R3 --> R[InsertWaypoint aus Scratchpad]
    M -- R5 --> S[NavigateTo Airways]
    M -- L6 --> T{SEC Pfad?}
    T -- Ja --> U[NavigateTo SecFpln]
    T -- Nein --> V[NavigateTo Fpln]

Aufgerufen von

Modul Sub/Function Kontext
McduActor Seitennavigation Von FplnPage L1-L5 bei leerem Scratchpad
FplnPage HandleLsk L1-L5 FplnSelectWaypoint mit McduPageType.LatRev

Ruft auf

Modul Sub/Function Kontext
McduCommandParser ParseAndRender Render-Kommandos in Bildschirmpuffer schreiben
FormatLatLon Private Methode Lat/Lon in DDMMbMM.mH/DDDMMbMM.mH Format konvertieren

Beispiel

' LatRevPage wird ueber FplnPage Waypoint-Auswahl aufgerufen
Dim page As New LatRevPage()

' Render: Laterale Revision fuer ausgewaehlten Waypoint anzeigen
page.Render(ctx, screenBuffer)

' HandleLsk: Waypoint per NEXT WPT einfuegen (z.B. "WHISKY" im Scratchpad, R3)
Dim cmd As McduCommand = page.HandleLsk(McduLskKey.R3, ctx)
' -> InsertWaypoint("WHISKY", selectedLegIndex)

Änderungshistorie

Version Datum Änderung
1.0 2026-04-16 Erstdokumentation