Fix 3rd autopilot UI (Bezel APController) + wire dead PATHWAY/APTSIGNS keys

Line-by-line control audit. APController (the MFD left-bezel autopilot mode
controller) still decoded the unreliable autopilot_state bitfield — the same bug
already fixed in AutopilotPanel and KAP140, missed in the third AP UI. Now reads
per-mode *_status datarefs so every mode key lights correctly.

PATHWAY and APTSIGNS softkeys were dead (sim-mirror only). PATHWAY now draws the
flight-plan route on the synthetic-vision terrain; APTSIGNS toggles the runway
labels. Threaded via App svtOpts → PFD → SVT.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-04 02:05:06 +02:00
parent 5f1339f8b3
commit 3d6d3f710e
4 changed files with 60 additions and 22 deletions
+5 -1
View File
@@ -74,6 +74,9 @@ export default function App() {
// profile/chevrons, fpa is the descent angle (°), offsetNm levels off that far
// before the waypoint. See FplPage CURRENT VNV PROFILE + PFD chevrons.
const [vnavCfg, setVnavCfg] = useState({ enabled: true, fpa: 3, offsetNm: 0 });
// Synthetic-vision display options (PFD submenu): PATHWAY draws the flight-plan
// route on the 3D terrain; APTSIGNS shows runway/airport labels.
const [svtOpts, setSvtOpts] = useState({ pathway: true, aptSigns: true });
// Altimeter barometric units (false = inHg, true = hectopascal) — PFD ALT UNIT softkey.
const [baroHpa, setBaroHpa] = useState(false);
// Barometric minimums (set in TMR/REF) — shown on the PFD altimeter as BARO MIN.
@@ -139,6 +142,7 @@ export default function App() {
<main className="screen">
{tab === 'pfd' && (
<Bezel variant="pfd" xp={xp} knobMode={knobMode} svt3d={svt3d} onToggleSvt={() => setSvt3d((v) => !v)}
svtOpts={svtOpts} onSvtOpt={setSvtOpts}
inset={inset} onSetInset={setInset} insetMode={insetMode} onInsetMode={setInsetMode}
nrst={nrst} onToggleNrst={() => toggleWin('nrst')} onDirect={() => toggleWin('dto')}
tmr={tmr} onToggleTmr={() => toggleWin('tmr')} dme={dme} onToggleDme={() => toggleWin('dme')}
@@ -147,7 +151,7 @@ export default function App() {
<PFD xp={xp} values={xp.values} command={xp.command} connected={xp.xpConnected} svt={svt3d} inset={inset} insetMode={insetMode} nrst={nrst} onCloseNrst={() => setWin(null)}
tmr={tmr} onCloseTmr={() => setWin(null)} dme={dme} onCloseDme={() => setWin(null)}
alerts={alerts} onCloseAlerts={() => setWin(null)} baroHpa={baroHpa} obs={obs}
minimums={minimums} onMinimums={setMinimums} flightPlan={xp.flightPlan} fp={xp.fp} vnav={vnavCfg} />
minimums={minimums} onMinimums={setMinimums} flightPlan={xp.flightPlan} fp={xp.fp} vnav={vnavCfg} svtOpts={svtOpts} />
{dialogs}
</Bezel>
)}