SidTransPage (IPage)
| Eigenschaft |
Wert |
| Modul |
Mcdu/Pages |
| Klasse |
SidTransPage |
| Typ |
IPage Implementation |
| Sichtbarkeit |
Public |
| Datei |
Mcdu/Pages/SidTransPage.vb |
Beschreibung
MCDU-Seite zur Auswahl einer SID-Transition. Links werden die verfuegbaren SIDs angezeigt (ausgewaehlte SID gruen mit Leerzeichen-Praefix, nicht ausgewaehlte cyan mit Pfeil), rechts die verfuegbaren SID-Transitions (rechtsbuendig, erster Eintrag ist "NONE"). L2-L4 waehlen eine andere SID, R2-R5 waehlen eine SID-Transition. L5 navigiert zur ADEPRWY-Seite, L6 zurueck zu LatRevAdep (oder F-PLN bei TMPY). Scroll-Pfeile erscheinen wenn mehr SIDs als 4 Slots vorhanden sind.
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 FlightPlan, ProcedureCache (SidResult + SidTransResult) und Scroll-Indizes |
— |
| 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 ProcedureCache-Zugriff und TMPY-Status |
— |
Rueckgabewert (HandleLsk)
| Typ |
Beschreibung |
| McduCommand |
SelectSid bei L2-L4 (SID wechseln), SelectSidTrans bei R2-R5 (Transition waehlen inkl. NONE), NavigateTo bei L5 (AdepRwy) und L6 (Fpln/LatRevAdep), TmpyInsertCommand bei R6, NoOp sonst |
Ablaufdiagramm
flowchart TD
A[HandleLsk aufgerufen] --> B{key = L5?}
B -- Ja --> C[NavigateTo AdepRwy]
B -- Nein --> D{key = L6?}
D -- Ja --> E{TMPY aktiv?}
E -- Ja --> F[NavigateTo Fpln]
E -- Nein --> G[NavigateTo LatRevAdep]
D -- Nein --> H{key = R6 + TMPY?}
H -- Ja --> I[TmpyInsertCommand]
H -- Nein --> J{key = L2-L4?}
J -- Ja --> K["SelectSid(sids[topIdx+slot].Name, rwy)"]
J -- Nein --> L{key = R2-R5?}
L -- Ja --> M{entryIdx = 0?}
M -- Ja --> N["SelectSidTrans(NONE)"]
M -- Nein --> O["SelectSidTrans(transName)"]
L -- Nein --> P[NoOp]
Aufgerufen von
| Modul |
Sub/Function |
Kontext |
| McduActor |
Seitennavigation |
Nach SID-Auswahl auf SidPage, wenn Transitions vorhanden sind |
Ruft auf
| Modul |
Sub/Function |
Kontext |
| McduCommandParser |
ParseAndRender |
Render-Befehle in Bildschirmpuffer schreiben |
| ProcedureCache |
SidResult.Procedures |
Liste verfuegbarer SIDs (linke Seite) |
| ProcedureCache |
SidTransResult.Procedures |
Liste verfuegbarer SID-Transitions (rechte Seite) |
| SelectSid |
Konstruktor |
SID neu waehlen |
| SelectSidTrans |
Konstruktor |
SID-Transition waehlen oder NONE setzen |
| NavigateTo |
Konstruktor |
Seitennavigation (AdepRwy, Fpln, LatRevAdep) |
Beispiel
' SidTransPage wird nach SID-Auswahl angezeigt:
Dim page As New SidTransPage()
page.Render(ctx, buffer)
' Pilot drueckt R3 (zweite Transition in der Liste):
Dim cmd As McduCommand = page.HandleLsk(McduLskKey.R3, ctx)
' -> SelectSidTrans mit dem Transitions-Namen an Index SidTransTopIndex + 1
Aenderungshistorie
| Version |
Datum |
Aenderung |
| 1.0 |
2026-04-16 |
Erstdokumentation |