Zum Inhalt

SimFuelPage (IPage)

Eigenschaft Wert
Modul Mcdu/Pages
Klasse SimFuelPage
Typ IPage Implementation
Sichtbarkeit Public
Datei Mcdu/Pages/SimPages.vb

Beschreibung

FUEL Seite — zeigt alle fuenf Kraftstofftanks des A320 (Left Outer, Left Inner, Center, Right Inner, Right Outer) mit aktuellem Setzwert und Maximalwert an. Der Pilot gibt ueber das Scratchpad einen numerischen kg-Wert ein und weist ihn per LSK dem jeweiligen Tank zu. R4 (SET) sendet alle fuenf Tankwerte als Pipe-getrennten String ueber Register 5005. Portiert aus VB6 CreateSimFuel / ProcessSIMFUEL. Maximale Tankkapazitaeten: Outer 2070 kg, Inner 8250 kg, Center 8250 kg.

Implementierte Methoden

Render

Public Sub Render(ctx As McduContext, buffer As Inet.Arinc429ScreenBuffer) Implements IPage.Render
Name Typ Beschreibung Standard
ctx McduContext MCDU-Kontextdaten
buffer Inet.Arinc429ScreenBuffer Zielpuffer fuer die gerenderten ARINC-429-Bildschirmdaten

HandleLsk

Public Function HandleLsk(key As McduLskKey, ctx As McduContext) As McduCommand Implements IPage.HandleLsk
Name Typ Beschreibung Standard
key McduLskKey Gedrueckte LSK-Taste
ctx McduContext MCDU-Kontextdaten

Rückgabewert (HandleLsk)

Typ Beschreibung
McduCommand ClearScratchpad bei gueltigem Wert, ShowScratchpadMessage bei FORMAT ERROR, SendSimRegister(5005) bei SET, NavigateTo(Sim1) bei L6

Ablaufdiagramm

flowchart TD
    A[Start Render] --> B[LISTCLEAR senden]
    B --> C[Titel FUEL schreiben]
    C --> D[L1/R1: LEFT OUTER / RIGHT OUTER mit Set/Max]
    D --> E[L2/R2: LEFT INNER / RIGHT INNER mit Set/Max]
    E --> F[L3: CENTER mit Set/Max]
    F --> G[R4: SET* amber]
    G --> H[L6: RETURN]
    H --> I[ParseAndRender]
    I --> J[Ende]

Aufgerufen von

Modul Sub/Function Kontext
McduActor RenderActivePage Seitenrendering bei aktivem PageType.SimFuel

Ruft auf

Modul Sub/Function Kontext
McduCommandParser ParseAndRender Kommandoliste in Bildschirmpuffer rendern
SendSimRegister (McduCommand) Register 5005 mit Pipe-getrennten Tankwerten senden

Beispiel

Dim page As New SimFuelPage()
page.Render(ctx, buffer)

' Scratchpad "5000" eingeben, dann L2 druecken → Left Inner auf 5000 kg
Dim cmd = page.HandleLsk(McduLskKey.L2, ctx)
' cmd ist ClearScratchpad (interner Wert auf 5000 gesetzt)

' R4 druecken → alle 5 Tanks senden
Dim setCmd = page.HandleLsk(McduLskKey.R4, ctx)
' setCmd ist SendSimRegister(5005, "0|5000|0|0|0")

Änderungshistorie

Version Datum Änderung
1.0 2026-04-16 Erstdokumentation