Zum Inhalt

AcarsWxPage (IPage)

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

Beschreibung

ACARS WEATHER REQUEST Stationsliste (VB6 CreateACARSWX). Zeigt 5 Stationsslots fuer ICAO-Eingabe an. Slot 0 leer wird als amber "~aaaaa" dargestellt, Slots 1-4 leer als cyan "[ ]". R1 zeigt immer "REQUEST*" an, R3 zeigt "RECEIVED WX N>" wenn mindestens eine Station bereit ist. L1-L5 uebernehmen ICAO-Codes aus dem Scratchpad (sequentiell: Slot N nur wenn Slot N-1 belegt). R1 sendet die Wetteranfrage, R3 navigiert zur empfangenen Wetteranzeige. L6 kehrt zur Enroute-Seite zurueck.

Implementierte Methoden

Render

Public Sub Render(ctx As McduContext, buffer As Inet.Arinc429ScreenBuffer) Implements IPage.Render
Name Typ Beschreibung Standard
ctx McduContext MCDU-Kontext mit AcarsData.WxData (Stationen, ReadyFlags) --
buffer Inet.Arinc429ScreenBuffer Zielpuffer fuer die ARINC-429-Screenausgabe --

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, R3 aktiv) --
ctx McduContext MCDU-Kontext mit Scratchpad und AcarsData --

Rueckgabewert (HandleLsk)

Typ Beschreibung
McduCommand ClearScratchpad fuer L1-L5, NavigateTo(AcarsEnroute) fuer L6, RequestWeather fuer R1, NavigateTo(AcarsWxReceived) fuer R3, NoOp sonst

Ablaufdiagramm

flowchart TD
    A[Start Render] --> B[LISTCLEAR]
    B --> C["Row 01: ACARS WEATHER REQUEST"]
    C --> D["Row 02: STATION Label"]
    D --> E{5 Slots durchlaufen}
    E -->|Slot belegt| F["Station ICAO cyan anzeigen"]
    E -->|Slot 0 leer| G["Amber aaaaa anzeigen"]
    E -->|Slot 1-4 leer| H["Cyan Klammern anzeigen"]
    F --> E
    G --> E
    H --> E
    E -->|Alle Slots| I["Row 13: RETURN"]
    I --> J["Row 03 col17: REQUEST*"]
    J --> K{WX verfuegbar?}
    K -->|Ja| L["Row 07: RECEIVED WX N>"]
    K -->|Nein| M[ParseAndRender]
    L --> M
    M --> N[Ende]

Aufgerufen von

Modul Sub/Function Kontext
McduActor Render-Dispatch Wenn McduPageType.AcarsWx aktiv ist

Ruft auf

Modul Sub/Function Kontext
McduCommandParser ParseAndRender Uebergibt die Befehlsliste an den Screen-Buffer
ClearScratchpad Konstruktor L1-L5 nach ICAO-Eingabe
RequestWeather Konstruktor R1 sendet Wetteranfrage fuer den ersten belegten Slot
NavigateTo Konstruktor L6=AcarsEnroute, R3=AcarsWxReceived

Beispiel

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

' ICAO eingeben (Scratchpad = "EDDF"):
Dim cmd = page.HandleLsk(McduLskKey.L1, ctx) ' -> ClearScratchpad, _stations(0) = "EDDF"
' Wetteranfrage senden:
Dim cmd2 = page.HandleLsk(McduLskKey.R1, ctx) ' -> RequestWeather("EDDF", "METAR")

Aenderungshistorie

Version Datum Aenderung
1.0 2026-04-16 Erstdokumentation