Zum Inhalt

AcarsMessageLogPage (IPage)

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

Beschreibung

ACARS MESSAGE LOG Seite -- scrollbare Liste gespeicherter ACARS-Nachrichten. Zeigt 4 Nachrichten pro Seite mit UTC-Zeit, Absender/Betreff und RCD/SNT-Status an. Neue Nachrichten erscheinen in Normalschrift, bereits gelesene in Kleinschrift (@s). Seitenzaehler P/T wird aus der Nachrichtenanzahl berechnet. L1-L4 oeffnen die Detailansicht der jeweiligen Nachricht, R6 loescht alle Nachrichten, L6 kehrt zum ACARS Main Index 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.Messages und MessageScrollIndex --
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-L4, L6, R6) --
ctx McduContext MCDU-Kontext mit AcarsData fuer Nachrichtenzugriff --

Rueckgabewert (HandleLsk)

Typ Beschreibung
McduCommand NavigateTo(AcarsViewMessage) fuer L1-L4, EraseAllAcarsMessages fuer R6, NavigateTo(AcarsMainIndex) fuer L6, NoOp sonst

Ablaufdiagramm

flowchart TD
    A[Start Render] --> B[LISTCLEAR]
    B --> C[Nachrichten und ScrollIndex laden]
    C --> D[TotalPages berechnen]
    D --> E["Row 01: UTC-Zeit + MESSAGE LOG + P/T"]
    E --> F{4 Slots durchlaufen}
    F -->|Nachricht vorhanden| G[Zeit HH:MM formatieren]
    G --> H[Sender/Subject auf 14 Zeichen kuerzen]
    H --> I{Neu?}
    I -->|Ja| J[Normalschrift + RCD/SNT]
    I -->|Nein| K["Kleinschrift @s + RCD/SNT"]
    J --> F
    K --> F
    F -->|Alle Slots| L["Row 12: ERASE Label"]
    L --> M["Row 13: RETURN + ERASE ALL"]
    M --> N[ParseAndRender]
    N --> O[Ende]

Aufgerufen von

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

Ruft auf

Modul Sub/Function Kontext
McduCommandParser ParseAndRender Uebergibt die Befehlsliste an den Screen-Buffer
NavigateTo Konstruktor L1-L4 -> AcarsViewMessage, L6 -> AcarsMainIndex
EraseAllAcarsMessages Konstruktor R6 loescht alle gespeicherten Nachrichten

Beispiel

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

' Nachricht anzeigen:
Dim cmd = page.HandleLsk(McduLskKey.L1, ctx) ' -> NavigateTo(AcarsViewMessage)
' Alle loeschen:
Dim cmd2 = page.HandleLsk(McduLskKey.R6, ctx) ' -> EraseAllAcarsMessages()

Aenderungshistorie

Version Datum Aenderung
1.0 2026-04-16 Erstdokumentation