Zum Inhalt

Migration

Diese Seite wurde aus der AirSimTech MediaWiki migriert.

Human Verification Tests

Overview

This page tracks all MCDU page features that require live human testing on the A320 MCDU display. These items were identified during automated phase verification but cannot be confirmed without a running simulator session.

Each test has a status:

  • PENDING — Not yet tested
  • PASSED — Confirmed working in live MCDU session
  • FAILED — Issue found, tracked for gap closure
  • DEFERRED — Blocked by missing infrastructure (noted in remarks)

Summary

Phase Page(s) Total Tests Passed Pending Failed Deferred
Phase 11 INIT A/B, PERF 1-6 6 0 4 0 2
Phase 12 FPLN, DIR, HOLD, LATREV, VERTREV 5 0 5 0 0
Phase 13 SID, SID TRANS, STAR, STAR TRANS, VIA, ADEP RWY, ADES RWY, AIRWAYS 26 0 26 0 0
Phase 14 RADNAV, Climb Wind, Cruise Wind, Descend Wind, History Wind 32 0 32 0 0
Phase 15 ACARS (index, sub, WX, messages), AOC, ATSU, DATA, STATUS 35 0 35 0 0
Phase 16 MCDU Menu, Display Adjust, Sim, Xload, Nav Search, Co Rte, Sec FPLN, Misc 40 4 36 0 0
Phase 17 Missing VB6 Pages, Startup Loading Progress 5 4 1 0 0
Phase 18 INET 5339 Screen Buffer + Non-Screen Items 8 4 4 0 0
Phase 20 PERF1 Performance Engine 3 3 0 0 0
Phase 21 FPLN MCDU Page Overhaul 6 0 6 0 0
Phase 22 FPLN State Recording and Replay 5 3 2 0 0
Phase 23 FPLN Modification (Insert/Delete/Overfly/TMPY/DuplicateNames/Navigation/NavDb) 23 0 23 0 0
Phase 24 FPLN Behaviour with ADEP/ADES (PPOS plan, partial entry, CLR protection, DISC-aware insert) 8 0 8 0 0
Phase 30 SID Selection (E2E, RWY-only, revision re-stringing, response time) 4 0 4 0 0
Direct Fixes TMPY toggle, ADEP/PPOS ident, sideview render, PPOS trajectory 8 2 6 0 0

Phase 11: INIT, PERF, PROG, FUEL PRED

# Page Test Description Expected Behaviour Status Tested Remarks
1 INIT A SimBrief block conditional SimBrief-loaded flight plan shows populated fields; manual entry shows dashes/blanks — visual distinction matches VB6 PENDING Branch exists at InitAPage.vb line 85
2 INIT B ZFWCG/ZFW CLR multi-field side effect Clearing ZFWCG or ZFW clears all three related fields (ZFW, ZFWCG, block fuel) and shows scratchpad confirmation message PENDING
3 PERF 1 SEC/PRIM V-speed color distinction SEC path: cyan brackets around V-speeds; PRIM path: amber dashes — color and bracket formatting must match VB6 PENDING Critical visual difference
3a PERF 1 V1/VR/V2 entry persists across ticks Enter V1 (e.g. 148) on PERF TAKEOFF. Value remains displayed after 2+ seconds (survives KernelTick snapshot cycle). CLR removes it. PASSED 2026-04-03 Fixed: McduActor now sends SetKernelPerfSnapshot to KernelActor
3b INIT B ZFWCG default 25, RTE RSV/FINAL large font INIT B shows ZFWCG=25.0 by default. RTE RSV 5.0% and FINAL 0030 displayed in large (manual) font, not small (computed) PASSED 2026-04-03 Fixed: FuelTableSnapshot defaults match VB6
4 PERF 5 QNH placeholder size branching QNH field uses correct font size based on distance-to-destination threshold (large when far, small when near) PENDING Depends on DistToDest not yet in McduContext; uses conservative large placeholder
5 PERF 2/3 APPR PHASE CONFIRM toggle APPR PHASE arm/confirm toggle works correctly on CLB and CRZ pages DEFERRED Requires APPR_PHASE_ARM in PerfSnapshot
6 PERF 5 ADES approach/RWY display (row 03) Row 03 right side shows ADES approach type and runway DEFERRED Requires ADES_APPR / ADES_RWY in McduContext

Phase 12: FPLN, DIR, HOLD, LATREV, VERTREV

# Page Test Description Expected Behaviour Status Tested Remarks
7 FPLN Visual column alignment at MCDU display Load a flight plan with 5+ waypoints and trajectory result. FPLN1 shows UTC at col 9, IAS/ALT at cols 15/18/19-25; toggle R6 to FPLN2 shows EFOB right-justified at col 14, T WIND at col 17. Columns visually match VB6 A320_MCDU display output PENDING Column alignment depends on ARINC 429 encoding and MCDU display renderer
8 FPLN Circular scroll with large flight plan Load 12+ waypoint flight plan. Scroll down past last waypoint using R6 scroll. Display wraps to show first waypoint again at bottom of visible slots (circular) PENDING Circular wrap depends on runtime topIndex state managed by McduActor
9 DIR INSERT executes Direct-To and navigates to FPLN Enter DIR page, select waypoint (L1-L4), confirm post-selection state (yellow title), press R6 INSERT. Active leg changes to selected waypoint; FPLN page displays with new active leg highlighted PENDING SetDirectTo + NavigateTo(Fpln) involves McduActor and FlightPlanActor coordination
10 HOLD INSERT creates holding in flight plan Select waypoint on FPLN, press R2 (LATREV), press L4 (HOLD), enter inbound course and turn direction, press R6 INSERT. HOLD pattern appears in FPLN display at selected waypoint PENDING SetHolding command flows through McduActor to FlightPlanActor
11 LATREV Three-variant routing (ADEP vs en-route vs ADES) Select ADEP leg, mid-route waypoint, and ADES leg on FPLN in sequence, pressing L2 (LATREV) for each. ADEP variant shows DEPARTURES at L2, no HOLD. En-route shows HOLD at L4. ADES shows ARRIVALS at R2, ALTN at L4 PENDING Variant selection depends on leg type in live flight plan

Phase 13: SID, STAR, VIA, RWY, AIRWAYS

SID / SID TRANS

# Page Test Description Expected Behaviour Status Tested Remarks
12 SID DEPARTURES title with green ADEP Title shows "DEPARTURES FROM {ADEP}" with ADEP name in green at col 17+ PENDING fromFix rendered with ~g prefix
13 SID Selected SID name in green at row 03 Selected SID appears at row 03 col 09 in green; replaced on re-selection PENDING SidPage.HandleLsk -> SetDepartureSid
14 SID SID list scroll by 4 entries Press R6 scroll with 5+ SIDs. List shifts down by 4 entries PENDING sidTopIndex in McduContext
15 SID L5 navigates to ADEP RWY page Press L5 on SID page. Navigation goes to ADEP RWY page PENDING NavigateTo(AdepRwy) from HandleLsk L5
16 SID TRANS Selected SID shown with green-space prefix Selected SID at row 03 in green with leading space (not arrow >) PENDING Space prefix distinguishes selected from unselected
17 SID TRANS Unselected SIDs with cyan arrow prefix Unselected SID names shown in cyan with > prefix on left column PENDING VB6 CreateSIDTRANS arrow prefix
18 SID TRANS TRANS list right-justified with > suffix Transition names right-justified in right column with > suffix PENDING Right column layout per VB6

STAR / STAR TRANS / VIA

# Page Test Description Expected Behaviour Status Tested Remarks
19 STAR ARRIVALS title with ADES name Title shows "ARRIVALS TO {ADES}" with ADES name in green PENDING toFix rendered with ~g prefix
20 STAR APPR+RWY compound display at row 03 Approach+runway concatenated at row 03 right side in large font PENDING Requires approach+runway both set
21 STAR Selected STAR name in green Selected STAR appears at row 03 col 01 in green PENDING StarPage.HandleLsk -> SetArrivalStar
22 STAR L1 (VIAS) navigates to VIA page Press L1 on STAR page. Navigation goes to VIA page PENDING NavigateTo(Via) from HandleLsk L1
23 STAR TRANS Selected STAR with green-space prefix Selected STAR at row 03 in green with space prefix PENDING Same pattern as SID TRANS
24 STAR TRANS Unselected STARs with cyan arrow prefix Unselected entries shown with > prefix in cyan PENDING VB6 CreateSTARTRANS arrow prefix
25 VIA VIA list from approach procedures VIA list shows available approach transitions for selected approach PENDING From ProcedureQueryCache.ViaResult
26 VIA Selected VIA appears on STAR page row 03 Select VIA, page returns to STAR. STAR row 03 reflects selection PENDING SetArrivalVia command

ADEP RWY / ADES RWY

# Page Test Description Expected Behaviour Status Tested Remarks
27 ADEP RWY Runway list shows airport runways List shows actual airport runway designators (not SID-derived), 4 per screen PENDING RunwayRecord data from NavDb
28 ADEP RWY Two-line runway: designator, length, CRS + ILS Line 1: designator, length (m), 3-digit magnetic CRS. Line 2: ILS ident + frequency (if equipped) PENDING ILS lines absent until McduActor NavDb wiring complete
29 ADEP RWY Scroll shifts list by 4 entries Press R6 scroll with 5+ runways. List shifts by 4 PENDING adepRwyTopIndex in McduContext
30 ADEP RWY Runway selection navigates to SID page Press L1-L4 to select runway. Page navigates to SID page PENDING SetDepartureRunway -> NavigateTo(Sid)
31 ADES RWY Magnetic course differs from ADEP CRS uses (TrueHeading - Variation) with 360 wraparound at ADES airport PENDING Magnetic variation applied at ADES
32 ADES RWY Scroll shifts list by 3 entries Press R6 scroll with 4+ runways. List shifts by 3 (not 4 as ADEP) PENDING VB6 different scroll step for ADES RWY
33 ADES RWY Chr(0) designator shows NO IFR APPR AVAIL Runway with Chr(0) designator shows "NO IFR APPR AVAIL" in green PENDING Special case in VB6 CreateADESRWY

AIRWAYS

# Page Test Description Expected Behaviour Status Tested Remarks
34 AIRWAYS Title color cyan initially Title "AIRWAYS FROM {wpt}" in cyan with no entries PENDING Color variable starts as ~b
35 AIRWAYS Title turns yellow with TMPY entry Enter airway + TO point. Title turns yellow indicating TMPY chain PENDING Color ~y when complete entry exists
36 AIRWAYS INSERT* yellow on PRIM, plain on SEC PRIM: R6 "~yINSERT". SEC: R6 "INSERT" (no color) PENDING VB6 line 8339 vs 8352
37 AIRWAYS ERASE without yellow on SEC path PRIM: L6 "~y<ERASE". SEC: L6 "<ERASE" (no color) PENDING VB6 line 8342 vs 8355

Phase 14: RADNAV, Wind Pages

RADNAV

# Page Test Description Expected Behaviour Status Tested Remarks
38 RADNAV Two-column VOR1/VOR2 layout VOR1 left-justified, VOR2 right-justified at col 14. Frequencies on row below PENDING Two-column header per VB6 CreateRADNAV
39 RADNAV Three-variant dispatch Standard mode, ILSOwn mode (Nav1IlsMode=True), ILSFS mode (OriginalIlsFreq set) render different layouts PENDING VB6 three-variant CreateRADNAV/Own/OwnILSFS
40 RADNAV VOR2 OBS at col 22 VOR2 OBS value displays at column 22 on right side PENDING VB6 VOR2 OBS right-aligned col 22
41 RADNAV ILS label "ILS /FREQ" with space ILS row label shows space between "ILS" and "/FREQ" PENDING Exact VB6 spacing confirmed
42 RADNAV ADF1/ADF2 two-column layout ADF1 on left, ADF2 on right with matching header/frequency rows PENDING VB6 lines 10-11
43 RADNAV L1 VOR1 freq, L2 ILS freq, L3 VOR2 freq, L5 ADF1, R5 ADF2 input Each LSK accepts correct frequency range and updates display PENDING ProcessRADNAV frequency entry handlers
44 RADNAV R1 VOR1 OBS entry 0-360 OBS value accepted 0-360; 361+ rejected with FORMAT ERROR PENDING VB6 OBS range check

Climb Wind

# Page Test Description Expected Behaviour Status Tested Remarks
45 CLIMB WIND Cyan bracket prompt "[ ]b/[ ]/[ ]" Empty row shows cyan bracket prompt with b/ color switch PENDING VB6 line 609
46 CLIMB WIND Filled row cyan with b/ color switch Entered wind shows "{dir}b/{spd:D3}/{alt}" with color change at b/ PENDING VB6 line 607
47 CLIMB WIND Speed over 250 rejected Speed > 250 shows "ENTRY OUT OF RANGE" in amber PENDING VB6 speed range 0-250
48 CLIMB WIND Partial edit /ALT and DIR/SPD Enter "/35000" to change altitude only; enter "270/015" to change dir+speed only PENDING VB6 partial-edit input
49 CLIMB WIND R1 navigates to HISTORY WIND Press R1 without scratchpad. Navigates to History Wind page PENDING VB6 Case 6

Cruise Wind

# Page Test Description Expected Behaviour Status Tested Remarks
50 CRUISE WIND Per-waypoint pager (not table) Single wind entry per waypoint with PREV/NEXT navigation, not a 5-row table PENDING VB6 CreateCRUISEWIND is structurally different from CLB/DES
51 CRUISE WIND Title shows "CRUISE WIND AT {wpt}" Title includes active cruise waypoint ident PENDING VB6 uses FPLNID waypoint name
52 CRUISE WIND Direction no zero-padding Direction=90 displays "90" not "090" (VB6 CStr) PENDING VB6 CStr(dir) confirmed no padding

Descend Wind

# Page Test Description Expected Behaviour Status Tested Remarks
53 DESCEND WIND ALTN WIND label + data on right side Lines 02-03 right side show "ALTN WIND" label and ALTN wind entry (DIR/SPD only) PENDING VB6 lines 678-686
54 DESCEND WIND R1 ALTN wind entry DIR/SPD only Enter "180/020" via R1. Two-part format accepted, no altitude PENDING VB6 ProcessDESCENDWIND ALTN handler
55 DESCEND WIND Main rows cyan b/ format Same b/ color switch as Climb Wind for filled entries PENDING VB6 line 671

History Wind

# Page Test Description Expected Behaviour Status Tested Remarks
56 HISTORY WIND Entries in small green (@s~g) History entries display in small green font with b/ color switch PENDING VB6 line 739
57 HISTORY WIND Bottom row always CLIMB WIND + INSERT No CANCEL mode — L6 and R6 always shown PENDING VB6 lines 743-744 unconditional
58 HISTORY WIND L1-L5 are read-only (no input) Scratchpad not consumed on L1-L5; history rows are read-only PENDING VB6 only handles Case 5 (L6) and Case 11 (R6)
59 HISTORY WIND R6 INSERT copies to climb wind History entries copied to temp climb wind, navigates to Climb Wind page PENDING VB6 Case 11: WindDataTMPY(0) = WindData(4)
60 HISTORY WIND Direction no zero-padding Direction=90 displays "90" not "090" (VB6 CStr) PENDING VB6 CStr(dir) confirmed

Phase 15: ACARS, AOC, ATSU, DATA, STATUS

ACARS Index + Sub-pages

# Page Test Description Expected Behaviour Status Tested Remarks
61 ACARS MAIN Left+right column links Title "ACARS MAIN INDEX", L1-L5 left links, R1-R5 right links (COMM>, REQUESTS>, etc.) PENDING VB6 CreateFAA_ACARS_MAIN_INDEX
62 ACARS SUB Preflight/Enroute/Postflight L6 MAIN All three sub-index pages show "<MAIN" at L6 navigating to main index PENDING VB6 ProcessFAA_ACARS_*_INDEX Case 5

ACARS Weather

# Page Test Description Expected Behaviour Status Tested Remarks
63 ACARS WX 5-station slot entry 5 ICAO entry slots, REQUEST* at R6 PENDING VB6 CreateACARSWX
64 ACARS WX RECV 23-char text wrap Weather text wraps at 23 chars per line (not 24) PENDING VB6 CreateACARSWXReceived wrap algorithm

ACARS Messages

# Page Test Description Expected Behaviour Status Tested Remarks
65 ACARS MSG LOG 4-msg scroll with page counter 4 entries per page, P/T counter, new/old font distinction PENDING VB6 CreateFAA_ACARS_MESSAGE_LOG
66 ACARS CREATE Line-by-line text entry Scrollable 8-line array, bracket prompts, SEND> at R5 PENDING VB6 CreateFAA_ACARS_CREATE_MESSAGE
67 ACARS VIEW Green small font message body @s~g font, subject in title, ERASE L5, PRINT> R6 PENDING VB6 CreateFAA_ACARS_VIEW_MESSAGE

AOC Pages

# Page Test Description Expected Behaviour Status Tested Remarks
68 AOC MAIN MENU Full layout with correct LSK mapping L1 GROUND SERVICE, R1 FLT LOG, L4 COMPANY MSG, R4 REPORTS, etc. PENDING VB6 CreateAOC_MAIN_MENU
69 AOC CONFIG Amber brackets for unset Pilot ID ~a[ ] when empty, white text when set PENDING VB6 CreateAOC_CONFIG
70 AOC WX REQ 3-airport slots with per-slot msg type METAR/TAF label per slot, SEND* at R6 PENDING VB6 CreateAOC_WEATHER_REQ
71 AOC GROUND SVC 2-page scroll with task line Page 1/2 indicator, 5 items per page, task at row 12 PENDING VB6 CreateAOC_GroundService

ATSU / DATA / STATUS

# Page Test Description Expected Behaviour Status Tested Remarks
72 ATSU Only 2 links (ATC MENU, AOC MENU) No extra rows — just L1 and R2 PENDING VB6 CreateATSU1
73 DATA 1 Complete layout with MONITOR links 3 MONITOR links, A/C STATUS, PRINT, AOC FUNCTION, DATA 2> at R6 PENDING VB6 CreateDATA1
74 DATA 2 Waypoint/navaid/runway grid 4-row grid with PILOTS labels, F-PLN WINDS links, <DATA 1 at L6 PENDING VB6 CreateDATA2
75 STATUS Dynamic A/C type from OPCAMI Title shows actual aircraft type, not hardcoded "A320-200" PENDING VB6 CreateSTATUS OPCAMI.ACType
76 STATUS Dynamic engine type in green Row 3 green engine type from OPCAMI.EngType PENDING VB6 CreateSTATUS
77 STATUS IDLE/PERF factors and PILOT STORED Dynamic factors, conditional waypoint count display, DELETE ALL> PENDING VB6 CreateSTATUS lines 3570-3585

Phase 16: Menus, Display, Sim, Xload, NavSearch, CoRoute, SecFPLN, Misc

MCDU Menus

# Page Test Description Expected Behaviour Status Tested Remarks
78 MCDU MENU 1 Green FMGC at L1, skip L2 when active L1 green "<FMGC", L2 empty when FMGCActive=True, L3 "<AIDS", L4 "<CFDS", L6 "<ATSU" PENDING VB6 CreateMCDUMENU1 row skip
79 MCDU MENU ILS Paginated ILS correction editor State A: amber placeholder. State B: ICAO+RWY, IDENT, AIRAC vs SIM FREQ/CRS, PREV/NEXT PENDING Major rewrite from placeholder
80 MCDU MENU 2 Blue RESET FMGC at L5 Title "MCDU SETUP", ~b<RESET FMGC at L5 PENDING VB6 CreateMCDUMENU2

Display Adjust / Sim / Xload

# Page Test Description Expected Behaviour Status Tested Remarks
81 MOVE LINES 6-row selection with green/yellow highlight Per-row ~gSELECTED/~y<LSKn driven by SetupSelectedLsk PASSED VB6 CreateMOVELINES
82 SIM POSITION Lat/lon entry and INET register send HandleLsk R6 sends position via INET registers PENDING VB6 ProcessSIMPOSITION
83 XLOAD 1-7 All 7 pages show static P/N layout Each page shows part number, no CO RTE import flow PASSED VB6 CreateXLOAD1-7 confirmed static
# Page Test Description Expected Behaviour Status Tested Remarks
84 SEARCH WPT Two-state: entry → rich result State A: amber ident entry. State B: blue ident, green LAT/LONG, PBD data, N/M pagination PENDING Major rewrite from entry-only stub
85 SEARCH NAVAID ILS right-column overlay For ILS results: RWY IDENT, CATEGORY, COURSE at absolute lines 02-07 PENDING VB6 CreateSEARCHNAVAID ILS overlay

Company Routes / SecFPLN

# Page Test Description Expected Behaviour Status Tested Remarks
86 SAVE CORTE Amber placeholder without brackets Title "SAVE CORTE", ~aaaaaaaaa placeholder (not ~a[ ]) PENDING VB6 CreateSAVECORTE
87 SEC INDEX White SEC F-PLN, asterisk-prefix ACTIVATE No ~b prefix, ~a*ACTIVATE SEC with asterisk before text PENDING VB6 CreateSECINDEX
88 SEC FPLN Full trajectory columns (UTC/SPD/ALT) 5-row waypoint display with sub-page toggle (SECFPLN1/SECFPLN2) PENDING Major rewrite from ident-only stub

Misc Pages

# Page Test Description Expected Behaviour Status Tested Remarks
89 SCREENING White text, EPRMode logic, INET registers No ~b prefix, sends registers 2208/2731/2620 via HandleLsk PASSED VB6 CreateSCREENING; EPR state from reg 2731 via McduContext
90 GPS MONITOR Dual GPS1+GPS2 layout Two-column GPS status matching VB6 PASSED VB6 CreateGPSMONITOR
91 REGION WARNING dialog per VB6 Shows region warning before region change PENDING VB6 CreateREGION

Phase 17: Missing VB6 Pages and Startup Loading Progress

STARTUP Sequence (FEAT-01)

# Test Steps Expected Status
17.1 Startup SEQ shows on both MCDUs Launch application, observe both Captain and F/O MCDU displays during startup Both MCDUs show "START-UP" title with loading progress items appearing sequentially (AIRPORTS, NAVAIDS, WAYPOINTS, USER WAYPOINTS, SERVER DATA) PASSED
17.2 Loading items show yellow LOADING/RECEIVING Watch each item as it appears during startup sequence Each new item shows yellow "LOADING..." (or "RECEIVING..." for SERVER DATA), previous items show green "COMPLETED" PASSED
17.3 Startup completes to STATUS page Wait for startup sequence to finish (all items show COMPLETED) Both MCDUs automatically navigate to STATUS page after all items complete (not MCDU MENU 1) PASSED
17.4 VB6 trailing dots quirk preserved During startup, observe the NAVAIDS COMPLETED line after waypoints start loading (SEQ 4+) Row 05 shows "COMPLETED..." with trailing dots (VB6 copy-paste artifact, not a bug to fix) PASSED

Gap Audit (FEAT-03)

# Test Steps Expected Status
17.5 No missing MCDU pages Navigate through all MCDU menu paths that exist in VB6 Every page accessible in VB6 is also accessible in .NET (excluded: FAA Domestic Reports, McduMenu1_FAA, NewRouteFromFsFlightControl) PENDING

Phase 18: INET Screen Buffer Fixes and Final Verification

Software MCDU Display End-to-End (FEAT-02)

# Feature Test Description Expected Behaviour Status Tested Remarks
18.1 Screen Buffer INIT A page renders on software MCDU Launch .NET FMGC with A320_MCDU connected. Navigate to INIT A page. MCDU display shows INIT A layout with title, field labels, and color codes matching VB6 output. PASSED -- Verifies INET 5339 lstMCDU path (sub-address 02631/02632)
18.2 Screen Buffer Page navigation updates display From INIT A, press NEXT PAGE to go to INIT B. Display updates within 1 second to show INIT B layout. Return via PREV PAGE shows INIT A again. PASSED -- Verifies differential screen buffer updates
18.3 Heartbeat Display stays active over 60 seconds Leave .NET FMGC running on any page for 60+ seconds. Software MCDU display must NOT show "connection lost" or go blank. Heartbeat (sub-address 02637/02638) keeps display alive. PASSED -- Verifies heartbeat wraparound at 254 boundary. Fixed: RenderActivePage on every KernelStateSnapshot tick
18.4 Heartbeat Both CPT and FO displays active If two A320_MCDU instances are running (CPT + FO), both receive independent heartbeats and both stay active simultaneously. PASSED -- Verifies separate _heartbeatCpt and _heartbeatFo counters
18.5 Non-Screen 02251 Altitude constraint received by display Enter a flight plan with altitude constraints. Navigate past departure. Software MCDU constraint display (if supported) shows active constraint value matching the active waypoint. PENDING -- May require A320_MCDU display version that reads 02251
18.6 Non-Screen 02706 ADEP/ADES pair received by display Enter EGLL as origin and LFPG as destination on INIT A page. A320_MCDU display title bar (if supported) shows EGLL/LFPG. PENDING -- Dependent on A320_MCDU display feature support
18.7 Screen Buffer Scratchpad entry and error display Type an invalid entry (e.g. "ZZZ" in CRZ FL field). Scratchpad shows error message in amber. Clear with CLR key. Error clears and scratchpad returns to empty. PENDING -- Verifies scratchpad color encoding in lstMCDU
18.8 Screen Buffer FPLN page scroll Enter a flight plan with 10+ waypoints. Open FPLN page. Press scroll down. Display updates to show next set of waypoints. Scroll up returns to previous view. PENDING -- Verifies multi-page screen buffer differential updates
QT-ihu.1 GPS MONITOR Live lat/lon display With simulator connected and aircraft at a known position, navigate to GPS MONITOR page (MCDU MENU > GPS MONITOR). Row 3 shows GPS1 latitude in DDdMM.MN/S format and longitude in DDDdMM.ME/W format matching simulator position. PASSED -- Verifies 260401-ihu KernelActor reg 1703/1704 -> McduContext pipeline
QT-ihu.2 GPS MONITOR Live TTRK and GS On GPS MONITOR page with aircraft moving, Row 5 shows TTRK (true track in 000.0 format), UTC time (HH:MM:SS), and ground speed right-justified. All values update each second. PASSED -- Verifies reg 1768 (TTRK) and reg 1766 (GS) forwarding
QT-ihu.3 GPS MONITOR Live GPS ALT On GPS MONITOR page, Row 7 shows GPS ALT (barometric altitude in feet) left-padded to 5 chars, and "NAV/6" at column 18. Altitude updates as aircraft climbs/descends. PASSED -- Verifies reg 1009 (altitude) and 5-char padding

Phase 20: PERF1 Performance Engine

# Feature Test Description Expected Behaviour Status Tested Remarks
20.1 Live MDB Integration Run full application with real FMGCPERF1.MDB. Observe log line "Perf1Engine: decrypted ok=N fail=M". IsLoaded = True after LoadAndDecrypt; grid counts for VSCLB, FFCLB, VSDES, FFDES, FFCRZ all > 0. PASSED 2026-04-03 Test suite uses injected in-memory grids; actual MDB decryption requires real file.
20.2 Trajectory V/S plausibility during climb Fly a full climb profile in the simulator. Observe trajectory log output for GetPerformanceCached V/S values. Climb V/S values decrease with altitude (e.g., ~4500 ft/min near FL050 down to ~500 ft/min near FL350), clearly distinct from old hardcoded formula (2000 - alt/1000*40). PASSED 2026-04-03 Requires live sim session with trajectory computation against real MDB data.
20.3 Checksum validation coverage Inspect Perf1Engine log output for decryptFail count after MDB load. decryptFail should be 0 or very low. A high fail count indicates checksum formula deviates from VB6. PASSED 2026-04-03 Exact behaviour depends on real PERF table data.

Phase 21: FPLN MCDU Page Overhaul

# Feature Test Description Expected Behaviour Status Tested Remarks
21.1 FPLN Color Paths VB6 color paths match on MCDU display Load a flight plan with trajectory. Normal waypoints and ADEP render in white (no color prefix). TMPY-flagged waypoints render in yellow (~y). MISSAPPR leg types (12, 15, 19, 21) render in cyan (~b). No green (~g) prefix on any waypoint ident. PENDING -- Visual rendering on hardware MCDU; no automated pixel comparison
21.2 Constraint Markers Speed and altitude constraint markers render correctly Create a flight plan with speed/altitude constraints and active trajectory. Matched constraints show magenta asterisk (~m*) before IAS/altitude value. Unmatched constraints show yellow asterisk (~y*). No constraint shows plain value with no asterisk. PENDING -- Requires constrained waypoints with trajectory predictions for match comparison
21.3 TRK Label Magnetic track label on waypoint after active During simulated flight with active guidance and non-zero magnetic variation, the waypoint immediately after the active WPT shows "TRK###°" in the label row, computed as prevLeg.TrackToNextDeg - ctx.MagneticVariationDeg, normalised 0-359. PENDING -- Requires simulated flight state with active guidance
21.4 BRG/DIST Labels BRG/DIST from Guidance on active WPT when not slot 0 When the active waypoint is scrolled so it appears in slot 1-4 (not slot 0), the label row shows "BRG###° DIST###" sourced from ctx.Guidance.MagTrackToWaypointDeg and ctx.Guidance.DistanceToWaypointNm. PENDING -- Requires active guidance with live BRG/DIST values
21.5 Fallback Mode FPLN page displays before first trajectory compute Start FMGC, enter a flight plan, open FPLN page before trajectory compute completes. Waypoints display from raw FlightPlan.GetAllLegs() wrapped with FromLeg(). No crash, no empty page. Prediction columns show dashes. PENDING -- Requires FMGC startup state before TrajectoryActor produces ComputedFlightPlan
21.6 Slot 0 Headers Column headers when active WPT is in slot 0 When active WPT is in slot 0 on FPLN1, label row shows "UTC SPD/ALT" in small font. On FPLN2 shows "EFOB T WIND". Hold leg in slot 0 shows "HOLD SPD/ALT". PENDING -- Requires active waypoint visible in slot 0 position on simulator

Phase 22: FPLN State Recording and Replay

# Area Test Description Expected Behaviour Status Tested Remarks
22.1 Record Button Manual Record button saves valid JSON Click Record on frmComputedFlightPlan toolbar with an active flight plan. A JSON file appears in recordings/ named yyyy-MM-dd_HHmmss_ADEP-ADES.json with all schema sections populated (FlightPlan, TrajectoryResult, KernelState, InetCache, trigger metadata). PASSED 2026-04-04 Requires running FMGC with active flight plan and computed trajectory
22.2 Auto-Record Build() exception triggers auto-recording Induce a Build() error (e.g. corrupt trajectory data). A recording appears in recordings/ with TriggerType=Exception and the exception message in TriggerMessage. KernelActor continues running. PENDING -- Requires inducing a runtime error inside the actor pipeline
22.3 Auto-Record Trajectory sanity failure triggers auto-recording A trajectory with negative FuelRemainingKg, NaN altitude, or altitude >FL500 triggers a SanityFailure recording before Build() proceeds. PENDING -- Requires live trajectory data satisfying sanity failure conditions
22.4 Replay Form frmReplay lists files and performs actor pipeline replay Open Diagnostics > Replay. Recording files appear in lvRecordings with route, timestamp, and trigger info. Click Replay — D-10 pipeline injection executes and replay log shows injection steps, Build() timing, and leg count. PASSED 2026-04-04 Requires running actor system and at least one recording on disk
22.5 Replay Accuracy Replay produces identical ComputedFlightPlan Replay a recording made from a known-good state. The comparison panel shows zero differences between the original and replayed ComputedFlightPlan. PASSED 2026-04-04 Requires a valid recording and deterministic Build() output

Phase 23: FPLN Modification via MCDU-FPLN Page

# Area Test Description Expected Behaviour Status Tested Remarks
23.1 Insert Ident Scratchpad ident insert via L3 Type "BPK" in scratchpad, press L3 on FPLN page. TMPY activates (yellow legs, INSERT*/ERASE on bottom row). Waypoint at correct position. Scratchpad clears. PENDING -- NavDb LookupByIdent resolves ident; single match inserts directly
23.2 Insert LatLon Lat/lon insert via scratchpad Type "N48W012" in scratchpad, press L3. Lat/lon waypoint inserted with ident "N48W012". PENDING -- WaypointInputParser handles N48W012, 48N012W, 4800N/01200W
23.3 Insert PBD Place/bearing/distance insert Type "BPK/045/10", press L3. PBD waypoint at computed position (045 bearing, 10 NM from BPK). PENDING -- Great-circle bearing+distance formula
23.4 DISC After New Waypoint DISC inserted after new waypoint Insert waypoint where target is not DISC. New waypoint inserted BEFORE target; DISC inserted AFTER new waypoint (between new and target). Double DISCs coalesced. PENDING -- VB6 InsertToFPLN behaviour; two sequential ApplyTmpyInsert messages
23.5 NOT IN DATA BASE Unknown ident error Type "ZZZZZ", press L3. Scratchpad shows "NOT IN DATA BASE". No TMPY activation. PENDING -- NavDb returns 0 matches
23.6 CLR Delete CLR+LSK waypoint deletion Press CLR, then L2 next to deletable waypoint. TMPY activates, waypoint removed; DISC inserted at deletion point (unless deleted leg was DISC). PENDING -- ClearCommand + scratchpad " CLR"; TmpyActor replaces deleted waypoint with DISC
23.7 NOT ALLOWED Guard on ADEP/ADES Press CLR then LSK on ADEP or ADES. Scratchpad shows "NOT ALLOWED". PENDING -- Leg type guard
23.8 Overfly Toggle "i"+LSK toggles overfly Type "i", press L3 on en-route waypoint. Circle marker appears. TMPY activates. PENDING -- FlightPlanLeg.WithOverfly copy-on-write
23.9 Overfly Guard "i"+LSK on ADEP/ADES/DISC Type "i", press LSK on ADEP, ADES, or DISC. "NOT ALLOWED" shown. PENDING -- Guard on non-modifiable leg types
23.10 TMPY Yellow Yellow rendering when TMPY active Make any FPLN modification. All legs render yellow. Title shows flight number + "TMPY" in yellow. L6= yellow. VNAV markers (T/C, T/D) appear when TmpyComputedFlightPlan available. PENDING -- McduFplnLegBuilder prefers TmpyComputedFlightPlan over raw TmpyFlightPlan
23.11 Undo L6 undo reverts last change Make TMPY modification, press L6. Last change reverts. Single-step undo only. PENDING -- TmpyActor._undoSlot one-step backup
23.12 INSERT Accept R6 accepts TMPY into active plan Press R6 (INSERT*). TMPY accepted via CopyFromSecondary. White/green rendering restored without flicker. VNAV markers preserved. PENDING -- McduActor caches plan, promotes _tmpyComputedFp for seamless first render
23.13 ERASE Discard R6 discards TMPY Make TMPY modification, press R6. Plan reverts to original. Green rendering restored. PENDING -- TmpyActor publishes TmpyErased
23.14 Trajectory Recompute Trajectory updates on TMPY mutation Make TMPY modification, observe side view and map view. Trajectory profile reflects TMPY plan immediately. Diagnostic forms auto-switch to TMPY view; toggle syncs across all forms. PENDING -- TmpyComputedFlightPlanResult; DiagnosticTmpyToggleChanged cross-form sync
23.15 Duplicate Names Multi-match ident shows disambiguation Type 3-letter ident with multiple matches, press L3. DUPLICATE NAMES page shows distance/lat-lon/frequency, sorted by distance. PENDING -- VB6 CreateDUPLICATENAMES layout
23.16 Duplicate Select Selecting match inserts waypoint On DUPLICATE NAMES page, press L1-L6. Selected waypoint inserted into TMPY at stored position. PENDING -- Routes through InsertWaypointFromScratchpad pipeline
23.17 Cursor Scrolling Cursor up/down on FPLN page On FPLN with >5 legs, up (14) scrolls list down, down (15) scrolls up (inverted, VB6 parity). Circular wrap. No scroll when <5 legs. PENDING -- ScrollFplnCursor modular arithmetic
23.18 FPLN Title Row FPLN page title layout Title shows flight number followed by page content. No spurious "F-PLN" prefix. Matches VB6. PENDING -- VB6 parity fix
23.19 DEST Row Colors FPLN page DEST row DEST label and data (ADES, UTC, DIST, EFOB) render white, not green. Label small font, ADES large font. PENDING -- ~w (white) instead of ~g (green)
23.20 Scratchpad Output Scratchpad to external MCDU Scratchpad content appears on external MCDU software display. Clear sends "a" prefix. CPT=02257, FO=02356 on register 5339. PENDING -- McduActor.SendScratchpad via INET 5339
23.21 FPLN Page Reset F-PLN hardkey resets scroll Press F-PLN from any page. FPLN opens at top (_fplnTopIndex=0). PENDING -- NavigateToPage resets on McduPageType.Fpln
23.22 Navaid Coordinates Navaid position on map Insert VOR/NDB via scratchpad. Navaid appears at correct position. ParseSignedDecimalCoord format. PENDING -- Navaid lat/lon uses signed decimal, not DMS
23.23 Waypoint Coordinates Waypoint position on map Insert waypoint via scratchpad. Waypoint at correct position. ParseSignedDecimalCoord format. PENDING -- Waypoint lat/lon also signed decimal

Phase 24: FPLN Behaviour with ADEP/ADES

# Page Test Description Expected Behaviour Status Tested Remarks
24.1 FPLN PPOS plan at startup Start FMGC, navigate to FPLN page immediately. Should show: PPOS (line 1), DISC (line 2), END OF F-PLN, END OF ALTN F-PLN. PPOS displayed in white/default color. PENDING -- FlightPlanActor initialises with WithPposInitialLegs(0,0,0)
24.2 INIT A Single ADEP entry stores without plan change On INIT A, type "EGLL" in scratchpad, press R1. R1 should show "EGLL/aaaa" (partial display). Navigate to FPLN — structure still shows PPOS plan (unchanged per D-08). PENDING -- _pendingAdep stores value; SetOriginDestination updates display only
24.3 INIT A Single ADES completes pair and creates plan On INIT A (after 24.2), type "/EDDM" in scratchpad, press R1. Both ADEP and ADES now set. Navigate to FPLN — should show ADEP (EGLL) → DISC → ADES (EDDM) → END OF F-PLN → END OF ALTN F-PLN. PENDING -- Both pending set triggers NavDb lookup then InitializeFlightPlan
24.4 FPLN CLR on ADEP leg blocked On FPLN page with ADEP/ADES plan, press CLR then press L1 (on ADEP line). Should show "NOT ALLOWED" in white scratchpad. PENDING -- ScratchpadError renders in McduColor.White
24.5 FPLN CLR on ADES leg blocked On FPLN page, press CLR then press LSK on ADES line. Should show "NOT ALLOWED" in white scratchpad. PENDING -- Existing isAdes guard
24.6 INIT A CLR on R1 (FROM/TO) blocked in amber On INIT A page, press CLR then press R1. Should show "NOT ALLOWED" in amber scratchpad (not white). PENDING -- ShowScratchpadMessage with Inet.McduColor.Amber
24.7 FPLN DISC insert on ADEP/ADES plan On FPLN page with ADEP/ADES plan, type a waypoint ident (e.g. "BIBOS") in scratchpad, press LSK on DISC line. Should create TMPY with: ADEP → BIBOS → DISC → ADES. Multiple inserts accumulate: ADEP → WPT1 → WPT2 → DISC → ADES. PENDING -- ElseIf targetIsDisc branch inserts before DISC
24.8 FPLN DISC insert on PPOS plan Restart app (fresh PPOS plan). Type waypoint ident on DISC line of PPOS plan. Should create TMPY with: PPOS → DISC → WPT → DISC → END OF F-PLN. The permanent DISC after PPOS remains. PENDING -- If targetIsDisc AndAlso isPposPlan inserts after DISC + adds trailing DISC

Quick Task 260411-k5l: Sideview Internal Points

# Area Test Steps Status Remarks
QT-k5l.1 Sideview Internal points visible, curve points hidden Load any flight plan with curved turns (SID/STAR). Open frmSideView and frmMapView side-by-side. Confirm: (1) small grey filled-circle dots appear along the sideview altitude profile at the same longitudinal positions as the grey dots on frmMapView (structural internal points); (2) NO dots appear on the sideview at the positions corresponding to frmMapView's ORANGE curve-point dots; (3) named waypoint diamonds still render on top; (4) phase lines, T/C, T/D, speed overlay, selection marker, click popup, and cross-view sync are unchanged. PENDING --

Direct Fixes 2026-04-12: TMPY Toggle, ADEP/PPOS Tagging, Sideview

# Area Test Steps Status Remarks
DF-01 Layer 2 ADEP ident tagged in Layer 2 Load a flight plan with ADEP (e.g. EDDF). Open Layer 2 list. Confirm the first path point at ADEP position carries the ADEP ident label. PENDING --
DF-02 Sideview Abeam-tagged curve-point labels visible Load a plan with curved turns. Open sideview. Confirm abeam-projected labels (e.g. "NATOR") appear on curve points. Labels starting with ** should NOT appear. PENDING --
DF-03 Sideview Sideview populates instantly on flight plan load Load a flight plan. Confirm the sideview chart appears at the same time as the map view (no 2-3 second delay). PASSED 2026-04-12
DF-04 TMPY toggle Single master TMPY toggle on Layer 2 form Create a TMPY (e.g. insert a waypoint). Confirm: (1) the TMPY/ACT toggle appears only on the Layer 2 list form; (2) frmRawFpln, frmMapView, frmSideView have no toggle control; (3) toggling on Layer 2 switches all 4 views simultaneously. PENDING --
DF-05 MapView TMPY path rendered in map view Create TMPY, toggle to TMPY on Layer 2. Confirm map view shows the TMPY flight path (different route) instead of the ACT path. Toggle back — ACT path returns. PENDING --
DF-06 Sideview TMPY path rendered in side view Same as DF-05 but for the side view altitude profile. PENDING --
DF-07 PPOS Bare PPOS plan populates all views Start app fresh (bare PPOS plan, no ADEP/ADES). Confirm: (1) MCDU FPLN tab shows PPOS + DISC + END OF F-PLN; (2) Layer 1 shows same; (3) Layer 2 shows one point labeled "PPOS" with phase "Cruise"; (4) map view shows PPOS dot at aircraft position; (5) side view shows PPOS point. PENDING --
DF-08 frmRawFpln No crash on slider toggle with empty data Switch between Raw/MCDU/Layer1 tabs on frmRawFpln when no trajectory data is available. Should not throw VirtualMode exception. PASSED 2026-04-12

Phase 30: SID Selection

# Area Test Steps Status Remarks
30.1 DEPARTURE / FPLN End-to-End SID Selection On DEPARTURE page, select a SID for the active runway. Confirm: (1) TMPY flight plan is created with yellow TMPY header on FPLN page; (2) ND shows yellow dashed SID legs from runway to first en-route waypoint; (3) SID name appears on DEPARTURE page; (4) INSERT prompt appears on FPLN page. PENDING --
30.2 DEPARTURE / FPLN RWY-Only Fallback (no SID) On DEPARTURE page, select a runway but do NOT select a SID. Confirm: (1) FPLN page shows a single CA leg at 1500ft AGL from the runway; (2) a F-PLN DISCONTINUITY follows the CA leg; (3) no SID name appears on DEPARTURE page; (4) TMPY is created correctly. PENDING --
30.3 DEPARTURE / FPLN SID Change with Revisions (FM Guide Example 4) (1) Select initial SID (e.g. TOBAK1G). (2) INSERT the TMPY. (3) On FPLN page, INSERT a user waypoint between two SID legs. (4) Return to DEPARTURE, select a different SID (e.g. ANEKI5G). Confirm: (5) new TMPY shows new SID legs; (6) user-inserted waypoint from step 3 is preserved (re-stringing via revision prepend); (7) old SID legs are replaced, not duplicated. PENDING --
30.4 MCDU MCDU Response Time During SID Selection While selecting a SID (steps in 30.1), observe MCDU page responsiveness. Confirm: page updates (key presses, line select) respond in under 100ms with no visible freeze or lag, even while the trajectory is recomputing in the background. PENDING --

How to Test

  1. Start the A320 FMGC .NET application
  2. Connect an MCDU display (A320_MCDU software or hardware panel)
  3. Navigate to the page under test
  4. Verify the expected behaviour matches exactly
  5. Report result: update this page and the corresponding HUMAN-UAT.md in .planning/phases/

Change Log

  • 2026-04-13 — Phase 30 SID selection human verification items (4 tests: E2E SID selection, RWY-only fallback, SID change with revisions, MCDU response time)
  • 2026-04-12 — Direct fixes: TMPY single-master toggle, ADEP/PPOS Layer 2 ident tagging, sideview instant render, bare PPOS trajectory synthesis, VirtualMode crash fix (8 tests: 2 PASSED, 6 PENDING)
  • 2026-04-11 — Quick task 260411-k5l sideview internal points rendering (1 test: parity with mapview grey dots, curve points excluded)
  • 2026-04-05 — Phase 24 FPLN behaviour with ADEP/ADES human verification items (8 tests: PPOS plan startup, partial ADEP/ADES entry, CLR protection on FPLN and INIT A, DISC-aware insert for both plan types)
  • 2026-04-05 — Phase 23 expanded to 23 tests: added cursor scrolling, FPLN title/DEST colors, scratchpad INET output, page reset, NavDb coordinate parsing; updated DISC/CLR/INSERT/TMPY descriptions for post-phase fixes
  • 2026-04-04 — Phase 23 FPLN modification human verification items (16 tests: insert ident/latlon/PBD, DISC normalization, CLR delete, overfly toggle, TMPY yellow/undo/insert/erase, trajectory recompute, duplicate names)
  • 2026-04-04 — Phase 22 tests 22.1, 22.4, 22.5 marked PASSED
  • 2026-04-04 — Phase 22 FPLN state recording and replay human verification items (5 tests: manual record, auto-record on exception, sanity failure auto-record, replay form, replay accuracy)
  • 2026-04-03 — Phase 21 FPLN MCDU page overhaul human verification items (6 tests: color paths, constraint markers, TRK label, BRG/DIST labels, fallback mode, slot 0 headers)
  • 2026-04-03 — Phase 20 PERF1 performance engine human verification items (3 tests: MDB integration, V/S plausibility, checksum coverage)
  • 2026-04-01 — Quick task 260401-ihu GPS Monitor live data human verification items (3 tests)
  • 2026-04-01 — Phase 18 INET screen buffer and non-screen data items human verification items (8 tests)
  • 2026-04-01 — Phase 17 startup loading progress and gap audit human verification items (5 tests)
  • 2026-03-31 — Phase 16 final audit human verification items (14 tests: Menus, Display, Sim, Xload, NavSearch, CoRoute, SecFPLN, Misc)
  • 2026-03-31 — Phase 15 ACARS/AOC/ATSU/DATA/STATUS human verification items (17 tests)
  • 2026-03-31 — Phase 14 RADNAV and wind page human verification items (23 tests: RADNAV, Climb Wind, Cruise Wind, Descend Wind, History Wind)
  • 2026-03-31 — Phase 13 procedure page human verification items (26 tests: SID, SID TRANS, STAR, STAR TRANS, VIA, ADEP RWY, ADES RWY, AIRWAYS)
  • 2026-03-31 — Added Phase 12 human verification items (5 tests: FPLN, DIR, HOLD, LATREV)
  • 2026-03-31 — Initial page created with Phase 11 human verification items (6 tests)