LatRevPage (IPage)
| Eigenschaft |
Wert |
| Modul |
Mcdu/Pages |
| Klasse |
LatRevPage |
| Typ |
IPage Implementation |
| Sichtbarkeit |
Public |
| Datei |
Mcdu/Pages/LatRevPage.vb |
Beschreibung
LATREV-Seite — laterale Revision am ausgewaehlten Waypoint. Drei Varianten je nach Leg-Typ: ADEP (Departures-Button, NEXT WPT, NEW DEST, AIRWAYS), ADES (Arrivals-Button, ALTN, ENABLE, NEXT WPT, NEW DEST, AIRWAYS) und En-Route (HOLD, ENABLE, ALTN, NEXT WPT, NEW DEST, AIRWAYS). Titel zeigt "LAT REV FROM {ident}" mit Inline-Font-Wechsel. Zeile 02 zeigt Lat/Lon im DDMMbMM.mH Format. SEC-Pfad-Erkennung ueber LastMainPage.Contains("SEC") — bei SEC wird HOLD durch INOP ersetzt.
LSK-Aktionen: L1 DEPARTURES (ADEP), R1 ARRIVALS (ADES), L4 HOLD Navigation, L5 DELETE Waypoint, L6 RETURN (FPLN oder SecFpln), R3 NEXT WPT Insert, R4 NEW DEST Insert, R5 AIRWAYS Navigation.
Implementierte Methoden
Render
Public Sub Render(ctx As McduContext, buffer As Inet.Arinc429ScreenBuffer) Implements IPage.Render
| Name |
Typ |
Beschreibung |
Standard |
| ctx |
McduContext |
MCDU-Zustandskontext mit SelectedLegIndex, FlightPlan, LastMainPage |
— |
| buffer |
Inet.Arinc429ScreenBuffer |
ARINC-429-Bildschirmpuffer fuer die MCDU-Anzeige |
— |
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-Zustandskontext mit Scratchpad, SelectedLegIndex, FlightPlan |
— |
Rückgabewert (HandleLsk)
| Typ |
Beschreibung |
| McduCommand |
Kommando-Objekt: NavigateTo (Hold, AdepRwy, AdesRwy, Airways, Fpln, SecFpln), InsertWaypoint, DeleteWaypoint, ShowScratchpadMessage oder NoOp |
Ablaufdiagramm
flowchart TD
A[Render Start] --> B{SelectedLegIndex gueltig?}
B -- Nein --> C[NO WPT SELECTED anzeigen]
B -- Ja --> D[Titel: LAT REV FROM ident]
D --> E[Lat/Lon Zeile 02 DDMMbMM.mH Format]
E --> F{Leg-Typ?}
F -- ADEP --> G[DEPARTURES, NEXT WPT, NEW DEST, AIRWAYS, RETURN]
F -- ADES --> H[ARRIVALS, ALTN, ENABLE, NEXT WPT, NEW DEST, AIRWAYS, RETURN]
F -- En-Route --> I{SEC Pfad?}
I -- Ja --> J[INOP statt HOLD]
I -- Nein --> K[HOLD, ENABLE, ALTN, NEXT WPT, NEW DEST, AIRWAYS, RETURN]
L[HandleLsk] --> M{Taste?}
M -- L1 + ADEP --> N[NavigateTo AdepRwy]
M -- R1 + ADES --> O[NavigateTo AdesRwy]
M -- L4 --> P[NavigateTo Hold]
M -- L5 --> Q[DeleteWaypoint]
M -- R3 --> R[InsertWaypoint aus Scratchpad]
M -- R5 --> S[NavigateTo Airways]
M -- L6 --> T{SEC Pfad?}
T -- Ja --> U[NavigateTo SecFpln]
T -- Nein --> V[NavigateTo Fpln]
Aufgerufen von
| Modul |
Sub/Function |
Kontext |
| McduActor |
Seitennavigation |
Von FplnPage L1-L5 bei leerem Scratchpad |
| FplnPage |
HandleLsk L1-L5 |
FplnSelectWaypoint mit McduPageType.LatRev |
Ruft auf
| Modul |
Sub/Function |
Kontext |
| McduCommandParser |
ParseAndRender |
Render-Kommandos in Bildschirmpuffer schreiben |
| FormatLatLon |
Private Methode |
Lat/Lon in DDMMbMM.mH/DDDMMbMM.mH Format konvertieren |
Beispiel
' LatRevPage wird ueber FplnPage Waypoint-Auswahl aufgerufen
Dim page As New LatRevPage()
' Render: Laterale Revision fuer ausgewaehlten Waypoint anzeigen
page.Render(ctx, screenBuffer)
' HandleLsk: Waypoint per NEXT WPT einfuegen (z.B. "WHISKY" im Scratchpad, R3)
Dim cmd As McduCommand = page.HandleLsk(McduLskKey.R3, ctx)
' -> InsertWaypoint("WHISKY", selectedLegIndex)
Änderungshistorie
| Version |
Datum |
Änderung |
| 1.0 |
2026-04-16 |
Erstdokumentation |