Zum Inhalt

ViaPage (IPage)

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

Beschreibung

MCDU-Seite zur Auswahl eines VIA-Verfahrens (Approach Transition). Zeigt den Titel "ARRIVALS TO {ADES}", die aktuelle APPR/VIA/STAR-Kombination und die verfuegbaren VIA-Prozeduren aus ProcedureCache.ApproachResult. L1-L4 waehlen ein VIA-Verfahren aus der scrollbaren Liste (max. 4 Slots). L5 und L6 navigieren zurueck zur STAR-Seite. Scroll-Pfeile erscheinen bei mehr als 4 VIAs.

Implementierte Methoden

Render

Public Sub Render(ctx As McduContext, buffer As Inet.Arinc429ScreenBuffer) Implements IPage.Render
Name Typ Beschreibung Standard
ctx McduContext MCDU-Zustand mit FlightPlan, ProcedureCache (ApproachResult) und ViaTopIndex
buffer Inet.Arinc429ScreenBuffer Zielpuffer fuer die ARINC-429-Bildschirmausgabe

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-Zustand fuer ProcedureCache-Zugriff

Rueckgabewert (HandleLsk)

Typ Beschreibung
McduCommand SelectVia bei L1-L4 (VIA-Auswahl), NavigateTo Star bei L5 und L6, NoOp sonst

Ablaufdiagramm

flowchart TD
    A[HandleLsk aufgerufen] --> B{key = L1-L4?}
    B -- Ja --> C{ProcedureCache.ApproachResult vorhanden?}
    C -- Nein --> D["ShowScratchpadMessage(NO VIA DATA)"]
    C -- Ja --> E[listIdx = ViaTopIndex + slot]
    E --> F{listIdx < viaList.Count?}
    F -- Nein --> G[NoOp]
    F -- Ja --> H["SelectVia(viaList[listIdx].Name)"]
    B -- Nein --> I{key = L5 oder L6?}
    I -- Ja --> J[NavigateTo Star]
    I -- Nein --> K[NoOp]

Aufgerufen von

Modul Sub/Function Kontext
McduActor Seitennavigation Ueber L1 (VIAS) auf der StarPage oder StarTransPage

Ruft auf

Modul Sub/Function Kontext
McduCommandParser ParseAndRender Render-Befehle in Bildschirmpuffer schreiben
ProcedureCache ApproachResult.Procedures Liste verfuegbarer VIA-Verfahren abfragen
SelectVia Konstruktor VIA-Auswahl an McduActor melden
NavigateTo Konstruktor Seitennavigation (Star)

Beispiel

' ViaPage wird ueber die StarPage erreichbar:
Dim page As New ViaPage()
page.Render(ctx, buffer)

' Pilot drueckt L2 (zweites VIA-Verfahren):
Dim cmd As McduCommand = page.HandleLsk(McduLskKey.L2, ctx)
' -> SelectVia mit dem Verfahrensnamen an Index ViaTopIndex + 1

Aenderungshistorie

Version Datum Aenderung
1.0 2026-04-16 Erstdokumentation