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 |