Zum Inhalt

ProgPage (IPage)

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

Beschreibung

PROG-Seite — Fortschrittsanzeige mit flugphasenabhaengigem Titel (PREFLIGHT, TAKE OFF, CLIMB, CRUISE, DESCENT, APPROACH). Zeigt CRZ FL (blau), OPT FL (gruen), REC MAX FL (magenta) in Zeile 03. Weitere Felder: REPORT-Button, UPDATE AT Eingabefeld, BRG/DIST mit Stations-Ident, und NAV ACCUR (Required/Estimated) in Zeilen 12-13.

LSK-Aktionen: L1 CRZ Altitude aendern (numerisch oder FL-Praefix, CLR = NOT ALLOWED), L3 REPORT Navigation zur ProgPositionReport-Seite.

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 FlightPhaseInt, FlightNumber, CrzAltFt, OptFl, RecMaxFl, ProgIdent, ProgBearing, ProgDist
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

Rückgabewert (HandleLsk)

Typ Beschreibung
McduCommand Kommando-Objekt: SetProgCrzAlt, NavigateTo (ProgPositionReport), ShowScratchpadMessage oder NoOp

Ablaufdiagramm

flowchart TD
    A[Render Start] --> B[LISTCLEAR]
    B --> C{FlightPhaseInt?}
    C -- 0 --> D[PREFLIGHT Titel]
    C -- 1 --> E[TAKE OFF Titel]
    C -- 2 --> F[CLIMB Titel]
    C -- 3 --> G[CRUISE Titel]
    C -- 4 --> H[DESCENT Titel]
    C -- 5 --> I[APPROACH Titel]
    D --> J[CRZ/OPT/REC MAX Zeile 02-03]
    E --> J
    F --> J
    G --> J
    H --> J
    I --> J
    J --> K[REPORT Button Zeile 05]
    K --> L[UPDATE AT Eingabe Zeile 06-07]
    L --> M{ProgIdent leer?}
    M -- Ja --> N[Dashes + Bracket fuer BRG/DIST]
    M -- Nein --> O[BRG/DIST + Ident rechtsbuendig]
    N --> P[NAV ACCUR Zeilen 12-13]
    O --> P
    P --> Q[ParseAndRender]

    R[HandleLsk] --> S{Taste?}
    S -- L1 --> T{CLR?}
    T -- Ja --> U[NOT ALLOWED]
    T -- Nein --> V{Numerisch oder FL-Praefix?}
    V -- Ja --> W[SetProgCrzAlt: FL * 100]
    V -- Nein --> X[FORMAT ERROR]
    S -- L3 --> Y[NavigateTo ProgPositionReport]

Aufgerufen von

Modul Sub/Function Kontext
McduActor Seitennavigation PROG Hardkey-Taste

Ruft auf

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

Beispiel

' ProgPage wird vom McduActor bei PROG-Taste instanziiert
Dim page As New ProgPage()

' Render: Fortschrittsseite anzeigen
page.Render(ctx, screenBuffer)

' HandleLsk: CRZ Altitude aendern (z.B. "390" im Scratchpad, L1)
Dim cmd As McduCommand = page.HandleLsk(McduLskKey.L1, ctx)
' -> SetProgCrzAlt(39000)

Änderungshistorie

Version Datum Änderung
1.0 2026-04-16 Erstdokumentation