Zum Inhalt

Perf2Page (IPage)

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

Beschreibung

PERF CLB Seite (PERF 2/6) — zeigt Steigflug-Performance mit ACT MODE (MANAGED/SELECTED), UTC DEST EFOB Header, Cost Index, Managed Climb Speed/Mach (Format: "KTS/.MACH"), PRED TO FL und PRESEL/SELECTED Speed Eingabe. SEC/PRIM Dual-Pfad. PRESEL (Phase < 2) zeigt Bracket-Eingabe, SELECTED (Phase >= 2) zeigt aktuelle Auswahl. APPR PHASE arm/confirm bei Phase >= 2, PREV PHASE bei Phase < 2. NEXT PHASE zu Perf3 immer verfuegbar.

LSK-Aktionen: L2 CI Eingabe (0-99 SEC, 0-999 PRIM), L4 PRESEL Speed (nur Phase < 2), L6 PREV PHASE oder APPR PHASE, R6 NEXT PHASE zu Perf3.

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 PerfSnapshot, CostIndex, LastMainPage, FlightPhaseInt, AdesEfobKg
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, FlightPhaseInt, LastMainPage, FlightPlan

Rückgabewert (HandleLsk)

Typ Beschreibung
McduCommand Kommando-Objekt: SetCostIndex, NavigateTo (Perf1, Perf3), ClearScratchpad, ShowScratchpadMessage oder NoOp

Ablaufdiagramm

flowchart TD
    A[Render Start] --> B[Titel: SEC/CLB, Phase-abhaengige Farbe]
    B --> C[ACT MODE + UTC + EFOB Header]
    C --> D[CI Zeile 04-05]
    D --> E[MANAGED Speed: KTS/.MACH]
    E --> F[PRED TO FL rechts]
    F --> G{Phase < 2?}
    G -- Ja --> H[PRESEL + Bracket]
    G -- Nein --> I[SELECTED Label]
    H --> J[PREV PHASE links, NEXT PHASE rechts]
    I --> K[APPR PHASE links, NEXT PHASE rechts]

    L[HandleLsk] --> M{Taste?}
    M -- L2 --> N[CI Eingabe: 0-99/999]
    M -- L4 --> O{Phase < 2?}
    O -- Ja --> P[PRESEL Speed Eingabe]
    M -- L6 --> Q{Phase < 2?}
    Q -- Ja --> R[NavigateTo Perf1]
    Q -- Nein --> S[APPR PHASE Logik]
    M -- R6 --> T[NavigateTo Perf3]

Aufgerufen von

Modul Sub/Function Kontext
McduActor Seitennavigation NEXT PHASE von Perf1 oder PREV PHASE von Perf3
Perf1Page HandleLsk R6 NavigateTo McduPageType.Perf2

Ruft auf

Modul Sub/Function Kontext
McduCommandParser ParseAndRender Render-Kommandos in Bildschirmpuffer schreiben

Beispiel

' Perf2Page wird ueber NEXT PHASE von Perf1 aufgerufen
Dim page As New Perf2Page()

' Render: CLB Performance Seite anzeigen
page.Render(ctx, screenBuffer)

' HandleLsk: Cost Index setzen (z.B. "45" im Scratchpad, L2)
Dim cmd As McduCommand = page.HandleLsk(McduLskKey.L2, ctx)
' -> SetCostIndex(45)

Änderungshistorie

Version Datum Änderung
1.0 2026-04-16 Erstdokumentation