SimPositionPage (IPage)
| Eigenschaft |
Wert |
| Modul |
Mcdu/Pages |
| Klasse |
SimPositionPage |
| Typ |
IPage Implementation |
| Sichtbarkeit |
Public |
| Datei |
Mcdu/Pages/SimPages.vb |
Beschreibung
SIM POSITION Seite — ermoeglicht die Neupositionierung des Flugzeugs an einem Flughafen. Der Pilot gibt einen 4-stelligen ICAO-Code ueber L1 ein, waehlt optional ein Gate (R1), LINE UP (R2), 6 NM FINAL (R3) oder 10 NM FINAL (R4) und bestaetigt mit SET (R6). Die Auswahl wird gruen hervorgehoben. Portiert aus VB6 CreateSimPosition / ProcessSIMPosition. Register 5001 (Reposition) und 5002 (Gate) werden per INET gesendet.
Implementierte Methoden
Render
Public Sub Render(ctx As McduContext, buffer As Inet.Arinc429ScreenBuffer) Implements IPage.Render
| Name |
Typ |
Beschreibung |
Standard |
| ctx |
McduContext |
MCDU-Kontextdaten (Scratchpad, Flugplan, Zustandsfelder) |
— |
| buffer |
Inet.Arinc429ScreenBuffer |
Zielpuffer fuer die gerenderten ARINC-429-Bildschirmdaten |
— |
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-Kontextdaten |
— |
Rückgabewert (HandleLsk)
| Typ |
Beschreibung |
| McduCommand |
ClearScratchpad bei gueltigem ICAO/Gate, SendSimRegister(5001/5002) bei SET, NavigateTo bei RETURN, NoOp sonst |
Ablaufdiagramm
flowchart TD
A[Start Render] --> B[LISTCLEAR senden]
B --> C[Titel POSITION schreiben]
C --> D{Airport gesetzt?}
D -- Nein --> E[L1: Amber Platzhalter aaaaa]
D -- Ja --> F[L1: Gruener ICAO-Code]
F --> G[R1: GATE Eingabefeld]
E --> H[R2-R4: LINE UP / 6NM / 10NM]
G --> H
H --> I{Airport + Selection?}
I -- Ja --> J[R6: SET* amber]
I -- Nein --> K[R6: SET weiss oder leer]
J --> L[L6: RETURN]
K --> L
L --> M[ParseAndRender]
M --> N[Ende]
Aufgerufen von
| Modul |
Sub/Function |
Kontext |
| McduActor |
RenderActivePage |
Seitenrendering bei aktivem PageType.SimPosition |
Ruft auf
| Modul |
Sub/Function |
Kontext |
| McduCommandParser |
ParseAndRender |
Kommandoliste in Bildschirmpuffer rendern |
| SendSimRegister |
(McduCommand) |
Register 5001 (Reposition) oder 5002 (Gate) senden |
Beispiel
Dim page As New SimPositionPage()
page.Render(ctx, buffer)
' ICAO eingeben ueber Scratchpad "EDDF", dann L1 druecken
Dim cmd = page.HandleLsk(McduLskKey.L1, ctx)
' cmd ist ClearScratchpad (Airport intern auf "EDDF" gesetzt)
Änderungshistorie
| Version |
Datum |
Änderung |
| 1.0 |
2026-04-16 |
Erstdokumentation |