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 |