Zum Inhalt

VertRevPage (IPage)

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

Beschreibung

VERTREV-Seite — vertikale Revision am ausgewaehlten Waypoint. Zeigt EFOB/EXTRA (Zeile 02), CLB/DES SPD LIM (bedingt, Zeilen 04-05 links), UTC CSTR (Zeilen 04-05 rechts), SPD CSTR (Zeilen 06-07 links), ALT CSTR (Zeilen 06-07 rechts), WIND DATA (Zeilen 10-11 links) und STEP ALTS (Zeile 11 rechts). Titel verwendet Inline-Font-Wechsel: "VERT REV AT {ident}". Bei TMPY-Pfad wird gelbe Farbe und F-PLN Return verwendet. Hoehenconstraints werden als FL### oder Feet mit +/- Suffix dargestellt.

LSK-Aktionen: L2 Altitude Constraint, L3 Speed Constraint (100-400 kt), L5 WIND DATA Navigation (phasenabhaengig: ClimbWind/CruiseWind/DescendWind), R3 ALT CSTR Eingabe, L6/R6 RETURN (FPLN oder SecFpln).

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, TmpyFplnActive, VertRevPhase
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, VertRevPhase

Rückgabewert (HandleLsk)

Typ Beschreibung
McduCommand Kommando-Objekt: SetAltConstraint, SetSpeedConstraint, NavigateTo (ClimbWind, CruiseWind, DescendWind, Fpln, SecFpln), ShowScratchpadMessage oder NoOp

Ablaufdiagramm

flowchart TD
    A[Render Start] --> B{SelectedLegIndex gueltig?}
    B -- Nein --> C[NO WPT anzeigen]
    B -- Ja --> D[Titel: VERT REV AT ident]
    D --> E[EFOB + EXTRA Zeile 02]
    E --> F{CLB/DES LIM?}
    F -- CLB --> G[CLB SPD LIM Zeilen 04-05]
    F -- DES --> H[DES SPD LIM Zeilen 04-05]
    F -- Nein --> I[Weiter]
    G --> J[UTC CSTR + SPD CSTR + ALT CSTR]
    H --> J
    I --> J
    J --> K[WIND DATA + STEP ALTS]
    K --> L{TMPY aktiv?}
    L -- Ja --> M[TMPY + F-PLN Return gelb]
    L -- Nein --> N[RETURN]

    O[HandleLsk] --> P{Taste?}
    P -- L3 --> Q[Speed Constraint: 100-400 kt oder CLR]
    P -- L2/R3 --> R[ParseAltConstraint: FL###, +/-Praefix, Feet]
    P -- L5 --> S{VertRevPhase?}
    S -- Clb --> T[NavigateTo ClimbWind]
    S -- Crz --> U[NavigateTo CruiseWind]
    S -- Des --> V[NavigateTo DescendWind]
    P -- L6/R6 --> W[NavigateTo Fpln oder SecFpln]

Aufgerufen von

Modul Sub/Function Kontext
McduActor Seitennavigation Von FplnPage R1-R5 Waypoint-Auswahl
FplnPage HandleLsk R1-R5 FplnSelectWaypoint mit McduPageType.VertRev

Ruft auf

Modul Sub/Function Kontext
McduCommandParser ParseAndRender Render-Kommandos in Bildschirmpuffer schreiben
ParseAltConstraint Private Methode Hoehenconstraint parsen: FL###, +/-Praefix, Feet-Wert

Beispiel

' VertRevPage wird ueber FplnPage Waypoint-Auswahl (rechte LSKs) aufgerufen
Dim page As New VertRevPage()

' Render: Vertikale Revision anzeigen
page.Render(ctx, screenBuffer)

' HandleLsk: Hoehenconstraint setzen (z.B. "+FL350" im Scratchpad, R3)
Dim cmd As McduCommand = page.HandleLsk(McduLskKey.R3, ctx)
' -> SetAltConstraint(selectedLegIndex, 35000, "ABOVE")

' HandleLsk: Speed Constraint setzen (z.B. "250" im Scratchpad, L3)
Dim spdCmd As McduCommand = page.HandleLsk(McduLskKey.L3, ctx)
' -> SetSpeedConstraint(selectedLegIndex, 250)

Änderungshistorie

Version Datum Änderung
1.0 2026-04-16 Erstdokumentation