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 |