InitBPage (IPage)
| Eigenschaft |
Wert |
| Modul |
Mcdu/Pages |
| Klasse |
InitBPage |
| Typ |
IPage Implementation |
| Sichtbarkeit |
Public |
| Datei |
Mcdu/Pages/InitBPage.vb |
Beschreibung
INIT B Seite — Treibstoffvorhersage-Tabelle. Zeigt links die Treibstoffwerte (Taxi, Trip/Time, RTE RSV/%, ALTN/Time, Final/Time, Extra/Time) und rechts die Gewichtsdaten (ZFW/ZFWCG, Block, TOW, LW) an. Der Titel wechselt zwischen "INIT" (unvollstaendig) und "INIT FUEL PRED" (vollstaendig: ZFW>0, Block>0, CI>=0, CRZAlt>0). Unterstuetzt KG/LBS-Umrechnung ueber ctx.WeightUnit.
LSK-Aktionen: L1 Taxi-Treibstoff, L3 RTE RSV (Slash-Praefix = Prozent, ohne Slash = Gewicht), L5 Final Time (HHMM mit /-Praefix), R1 ZFWCG/ZFW (komplexe Slash-Eingabe), R2 Block Fuel, R6 Navigation zu INIT A.
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 FuelTable, WeightUnit, CostIndex, 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, WeightUnit, FuelTable |
— |
Rückgabewert (HandleLsk)
| Typ |
Beschreibung |
| McduCommand |
Kommando-Objekt: SetTaxiFuel, SetFuelTableRteRsvPct, SetFuelTableRteRsvFuel, SetFuelTableFinalTime, SetZfwCgAndZfw, SetBlockFuel, NavigateTo oder NoOp |
Ablaufdiagramm
flowchart TD
A[Render Start] --> B[LISTCLEAR]
B --> C{ZFW>0 AND Block>0 AND CI>=0 AND CRZAlt>0?}
C -- Ja --> D[Titel: INIT FUEL PRED]
C -- Nein --> E[Titel: INIT]
D --> F[Linke Spalte: Taxi, Trip, RTE RSV, ALTN, Final, Extra]
E --> F
F --> G[Rechte Spalte: ZFW/ZFWCG, Block, TOW, LW]
G --> H[KG/LBS Konvertierung je nach WeightUnit]
H --> I[Manuell=gross, Berechnet=klein Schrift]
I --> J[ParseAndRender]
K[HandleLsk Start] --> L{Welche Taste?}
L -- L1 --> M[Taxi Fuel: Numerisch, KG/LBS Konvertierung]
L -- L3 --> N{Slash-Praefix?}
N -- /xx --> O[SetFuelTableRteRsvPct]
N -- xx --> P[SetFuelTableRteRsvFuel]
L -- L5 --> Q[Final Time: /HHMM Format]
L -- R1 --> R[ZFWCG/ZFW: CLR, /ZFW, CG, CG/ZFW]
L -- R2 --> S[Block Fuel: CLR oder numerisch]
Aufgerufen von
| Modul |
Sub/Function |
Kontext |
| McduActor |
Seitennavigation |
Navigation von INIT A via Pfeil-Taste (rechter Pfeil in Titel) |
Ruft auf
| Modul |
Sub/Function |
Kontext |
| McduCommandParser |
ParseAndRender |
Render-Kommandos in Bildschirmpuffer schreiben |
| FormatFuelTonnes |
Private Methode |
Treibstoffwert als Tonnen-String formatieren (F1) |
| ParseDoubleInvariant |
Private Methode |
VB6 val()-Equivalent mit InvariantCulture |
Beispiel
' InitBPage wird vom McduActor bei INIT B Navigation instanziiert
Dim page As New InitBPage()
' Render: Treibstofftabelle anzeigen
page.Render(ctx, screenBuffer)
' HandleLsk: ZFW/ZFWCG setzen (z.B. "25.0/62.5" im Scratchpad)
Dim cmd As McduCommand = page.HandleLsk(McduLskKey.R1, ctx)
' -> SetZfwCgAndZfw(zfwKg, cgVal, clearAll:=False, cgOnly:=False)
' HandleLsk: Block Fuel setzen (z.B. "15.5" im Scratchpad)
Dim blockCmd As McduCommand = page.HandleLsk(McduLskKey.R2, ctx)
' -> SetBlockFuel(blockKg, showDowngrad:=False)
Änderungshistorie
| Version |
Datum |
Änderung |
| 1.0 |
2026-04-16 |
Erstdokumentation |