Zum Inhalt

StarPage (IPage)

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

Beschreibung

MCDU-Seite zur Auswahl einer STAR (Standard Terminal Arrival Route) fuer den Zielflughafen. Zeigt den Titel "ARRIVALS TO {ADES}", die aktuelle APPR/VIA/STAR-Kombination in Zeile 3 sowie die STAR-Transition in Zeile 5. L1 navigiert zur VIA-Seite, L2-L4 waehlen eine STAR aus der scrollbaren Liste (max. 3 Slots pro Seite), L5 navigiert zur ADESRWY-Seite, L6 zurueck zu LatRevAdes. Scroll-Pfeile erscheinen bei mehr als 4 STARs.

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 (StarResult) und StarTopIndex
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 NavigateTo Via (L1), SelectStar (L2-L4), NavigateTo AdesRwy (L5), NavigateTo LatRevAdes (L6), NoOp sonst

Ablaufdiagramm

flowchart TD
    A[HandleLsk aufgerufen] --> B{key = L1?}
    B -- Ja --> C[NavigateTo Via]
    B -- Nein --> D{key = L2-L4?}
    D -- Ja --> E{ProcedureCache vorhanden?}
    E -- Nein --> F["ShowScratchpadMessage(NO STAR DATA)"]
    E -- Ja --> G[listIdx = StarTopIndex + slot]
    G --> H["SelectStar(stars[listIdx].Name, rwy)"]
    D -- Nein --> I{key = L5?}
    I -- Ja --> J[NavigateTo AdesRwy]
    I -- Nein --> K{key = L6?}
    K -- Ja --> L[NavigateTo LatRevAdes]
    K -- Nein --> M[NoOp]

Aufgerufen von

Modul Sub/Function Kontext
McduActor Seitennavigation Wenn Pilot STAR-Auswahl ueber LatRev ADES oeffnet

Ruft auf

Modul Sub/Function Kontext
McduCommandParser ParseAndRender Render-Befehle in Bildschirmpuffer schreiben
ProcedureCache StarResult.Procedures Liste verfuegbarer STARs abfragen
SelectStar Konstruktor STAR-Auswahl an McduActor melden
NavigateTo Konstruktor Seitennavigation (Via, AdesRwy, LatRevAdes)

Beispiel

' StarPage wird vom McduActor instanziiert:
Dim page As New StarPage()
page.Render(ctx, buffer)

' Pilot drueckt L2 (erste STAR in der Liste):
Dim cmd As McduCommand = page.HandleLsk(McduLskKey.L2, ctx)
' -> SelectStar mit dem Namen der STAR an Index StarTopIndex + 0

Aenderungshistorie

Version Datum Aenderung
1.0 2026-04-16 Erstdokumentation