Zum Inhalt

HistoryWindPage (IPage)

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

Beschreibung

MCDU-Seite zur Anzeige historischer Winddaten (nur lesend). Zeigt den Titel "HISTORY WIND" und bis zu 5 Eintraege aus ctx.WindData.HistoryEntries im kleinen gruenen Format (@s~g). L1-L5 sind nicht editierbar (NoOp). L6 navigiert zurueck zur ClimbWind-Seite. R6 (INSERT) kopiert die historischen Winddaten in die temporaeren Climb-Wind-Eintraege und navigiert zu ClimbWind, sodass der Pilot die uebernommenen Werte dort bearbeiten kann.

Implementierte Methoden

Render

Public Sub Render(ctx As McduContext, buffer As Inet.Arinc429ScreenBuffer) Implements IPage.Render
Name Typ Beschreibung Standard
ctx McduContext MCDU-Zustand mit WindData.HistoryEntries (historische Winddaten)
buffer Inet.Arinc429ScreenBuffer Zielpuffer fuer die ARINC-429-Bildschirmausgabe

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-Zustand fuer WindData-Zugriff

Rueckgabewert (HandleLsk)

Typ Beschreibung
McduCommand NoOp bei L1-L5 (nur lesend), NavigateTo ClimbWind (L6), SetHistoryWind (R6 mit kopierten Eintraegen), NoOp sonst

Ablaufdiagramm

flowchart TD
    A[HandleLsk aufgerufen] --> B{key = L1-L5?}
    B -- Ja --> C[NoOp - nur lesend]
    B -- Nein --> D{key = L6?}
    D -- Ja --> E[NavigateTo ClimbWind]
    D -- Nein --> F{key = R6?}
    F -- Ja --> G[HistoryEntries kopieren]
    G --> H["SetHistoryWind(histEntries)"]
    F -- Nein --> I[NoOp]

Aufgerufen von

Modul Sub/Function Kontext
McduActor Seitennavigation Ueber R1 (HISTORY WIND) auf der ClimbWindPage

Ruft auf

Modul Sub/Function Kontext
McduCommandParser ParseAndRender Render-Befehle in Bildschirmpuffer schreiben
ctx.WindData HistoryEntries Historische Winddaten auslesen
SetHistoryWind Konstruktor Historische Winddaten in Climb-Wind uebernehmen
NavigateTo Konstruktor Seitennavigation (ClimbWind)

Beispiel

' HistoryWindPage wird ueber ClimbWindPage R1 erreicht:
Dim page As New HistoryWindPage()
page.Render(ctx, buffer)

' Pilot drueckt R6 (INSERT) um History-Daten zu uebernehmen:
Dim cmd As McduCommand = page.HandleLsk(McduLskKey.R6, ctx)
' -> SetHistoryWind mit allen HistoryEntries, McduActor navigiert dann zu ClimbWind

Aenderungshistorie

Version Datum Aenderung
1.0 2026-04-16 Erstdokumentation