Perf5Page (IPage)
| Eigenschaft |
Wert |
| Modul |
Mcdu/Pages |
| Klasse |
Perf5Page |
| Typ |
IPage Implementation |
| Sichtbarkeit |
Public |
| Datei |
Mcdu/Pages/Perf5Page.vb |
Beschreibung
PERF APPR Seite (PERF 5/6) — umfangreichste Performance-Seite mit QNH (mbar/InHg), TEMP, MAG WIND (dir/speed), TRANS ALT, VAPP, VLS, LDG CONF (FULL/CONF3 Toggle) sowie F=/S=/O= Geschwindigkeiten und MDA/DH. PRIM-Pfad zeigt BARO/RADIO Labels, SEC-Pfad zeigt MDA/DH Labels. QNH < 100 wird automatisch mit 100 multipliziert (mbar Auto-Scale). MDA und DH sind exklusiv: Setzen eines Wertes loescht den anderen.
LSK-Aktionen: L1 QNH, L2 TEMP (CLR=-999), L3 MAG WIND (Slash-Parser: dir, /speed, dir/speed), L4 TRANS ALT (CLR=5000), L5 VAPP (CLR=computed), R2 MDA, R3 DH, R4 LDG CONF=CONF3, R5 LDG CONF=FULL, L6 PREV PHASE (zu Perf4), R6 NEXT PHASE (zu Perf6).
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 (QNH, Temp, Wind, VApp, MDA, DH, LdgConf), Zfw, Fob, CrzAltFt |
— |
| 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, PerfSnapshot, FlightPhaseInt |
— |
Rückgabewert (HandleLsk)
| Typ |
Beschreibung |
| McduCommand |
Kommando-Objekt: UpdatePerfSnapshot (diverse Felder), NavigateTo (Perf4, Perf6), ShowScratchpadMessage oder NoOp |
Ablaufdiagramm
flowchart TD
A[Render Start] --> B[Titel: DEST APPR oder SEC APPR]
B --> C[QNH + F= Speed + FINAL/ADES]
C --> D[TEMP + S= Speed + MDA]
D --> E[MAG WIND + O= Speed + DH]
E --> F[TRANS ALT + LDG CONF Toggle]
F --> G[VAPP + VLS]
G --> H[PREV/NEXT PHASE Navigation]
I[HandleLsk] --> J{Taste?}
J -- L1 --> K[QNH: < 100 Auto-Scale mal 100]
J -- L2 --> L[TEMP: CLR=-999, numerisch setzt]
J -- L3 --> M[MAG WIND: Slash-Parser dir/speed]
J -- L4 --> N[TRANS ALT: CLR=5000]
J -- L5 --> O[VAPP: CLR=computed, numerisch=manuell]
J -- R2 --> P[MDA: setzt MDA, loescht DH]
J -- R3 --> Q[DH: setzt DH, loescht MDA]
J -- R4 --> R[LDG CONF = CONF3]
J -- R5 --> S[LDG CONF = FULL]
J -- L6 --> T[NavigateTo Perf4]
J -- R6 --> U[NavigateTo Perf6]
Aufgerufen von
| Modul |
Sub/Function |
Kontext |
| Perf4Page |
HandleLsk R6 |
NEXT PHASE von PERF DES |
| Perf6Page |
HandleLsk L6/R6 |
PREV PHASE oder Navigation von PERF GA |
Ruft auf
| Modul |
Sub/Function |
Kontext |
| McduCommandParser |
ParseAndRender |
Render-Kommandos in Bildschirmpuffer schreiben |
| Trajectory.SpeedCalculations |
CalcFSpeed, CalcSSpeed, CalcGreenDot |
F/S/O Geschwindigkeiten aus Gewicht berechnen |
Beispiel
' Perf5Page wird ueber NEXT PHASE von Perf4 aufgerufen
Dim page As New Perf5Page()
' Render: APPR Performance Seite anzeigen
page.Render(ctx, screenBuffer)
' HandleLsk: QNH setzen (z.B. "1013" im Scratchpad, L1)
Dim cmd As McduCommand = page.HandleLsk(McduLskKey.L1, ctx)
' -> UpdatePerfSnapshot(updated mit Qnh=1013)
' HandleLsk: VAPP manuell setzen (z.B. "142" im Scratchpad, L5)
Dim vappCmd As McduCommand = page.HandleLsk(McduLskKey.L5, ctx)
' -> UpdatePerfSnapshot(updated mit VApp=142)
' HandleLsk: LDG CONF auf CONF3 umschalten (R4)
Dim confCmd As McduCommand = page.HandleLsk(McduLskKey.R4, ctx)
' -> UpdatePerfSnapshot(updated mit LdgConf=1)
Änderungshistorie
| Version |
Datum |
Änderung |
| 1.0 |
2026-04-16 |
Erstdokumentation |