Running changelog for AdaptPSX — the PSX ⇄ Aerosoft MCP / hardware adapter.
Version source of truth: src/AdaptPSX/Master.java (version). Format follows
standards/APP_STANDARDS.md (B3).
HANDOVER <station> or NEXT DATA AUTHORITY <station> uplink now sends REQUEST LOGON to the next station automatically, as the tdammers/fg-cpdlc-lib Hoppie driver does. When that station accepts, PSX switches to it (silent handover). If it rejects, you stay with the current station and EICAS shows >LOGON REJECTED. The CDU shows HANDOVER TO <station> instead of LOG ON TO NEXT ATC. A LOGOFF from the station you just left is ignored, so it cannot switch you back.@_@ element in an uplink now shows as an empty line on the CDU.Fans.downlinkRa), following fg-cpdlc-lib. Replies and reports (WILCO, ROGER, CLIMBING TO, LEVEL reports and similar) go out with N (no reply needed). Requests, emergencies and free text go out with Y. Before, every downlink asked ATC for a reply, so reports could stay "open" on the controller's screen. hoppie.nl itself does not require Y.LOGOFF with N, as fg-cpdlc-lib sends it (was LOG OFF with Y).FansBasics value.l shows as ←). ; and ^ are replaced so they cannot break PSX's message fields.>NO FLT NUMBER on EICAS. Before, it silently switched off the Hoppie link.AdaptPSX.jar on Windows. Windows keeps the running jar locked, so the update helper, which ran from that same jar, could not overwrite it (AccessDeniedException). The helper now runs from a copy (AdaptPSX-updater.jar) in the same folder and exits as soon as it relaunches the app, and the next normal start deletes the copy. The update error dialog now explains when a file is in use.https://update.simulatorsolutions.com.au/ver/adaptpsx/adaptpsx.html. The GitHub Pages feed remains the fallback..../ver/adaptpsx/adaptpsx.html). The retired simulatorsolutions.com.au feed served a bogus v B8.0 with no download URL, which triggered a false "new version available / visit website" popup on every launch. Existing Adapt.ini files are auto-migrated off the legacy com.au URL — a blank or com.au value is ignored in favour of the built-in default, while any other custom feed you set is still honoured.<label> MSG INDEX, taking the label from the configurable ACARS name that already drives the CDU MENU prompt, instead of the hard-coded HACARS.enableSATCOM=true in Adapt.ini, so the still-in-development SATCOM controls stay out of the way by default.FmcRoute) reads PSX's live FMC route ahead of the aircraft (CduRteLa Qs407) to derive the Next / Next+1 waypoints and the cross-track distance from the active leg. This is what feeds the v3.1.20 ADS-C waypoint-change (WCE) and lateral-deviation (LDE) event contracts, and it deliberately reads the active route source so "next waypoint" is the true upcoming fix rather than an already-passed one.REQUEST DEMAND (a single on-request report), REQUEST PERIODIC <sec> (minimum 64 s, default 304 s) and REQUEST EVENTS, and evaluates the four standard event contracts on a 1 Hz tick (ICAO Doc 10037 §1.2.5.3.6): waypoint change (WCE), level-range deviation (LRDE), vertical-rate (VRE) and lateral deviation (LDE). Each event report is tagged with the triggering event; WCE re-fires on every change while the others arm once per contract.EMERGENCY and periodic contracts report at 64 s; onset and cancellation are pushed to every station holding a contract without waiting for the next interval.enableRichReports) appends an earth-reference group (true track, ground speed, vertical speed) and a predicted-route group (Next / Next+1 waypoints) to the downlinked reports; the basic position prefix is unchanged so simpler parsers still work.SATCOM MAIN MENU → DIRECTORY / CATEGORY NUMBERS, MANUAL DIAL, and a SATCOM SUBMENU covering LOG-ON / GES selection, channel status and the maintenance report pages, with the real wording and symbols. It is selectable from the SATCOM tab ("Honeywell SDU page style", satcomRenderStyle, default Honeywell); the earlier composite page set is kept as a fallback. Both styles drive the same underlying call model.[NAME]) and are editable from the CDU CATEGORY NUMBERS page; the standalone directory editor gains a Protected column.<HACARS REFUELING page now reads the aircraft weight unit from PSX pin programming (CfgPinProg Qi30, bit 20 0x100000) and labels the WEIGHTS column KGS X 1000 / LBS X 1000, converting the QTY BEFORE / SUPPLIED / ON BOARD / DIFF readouts to the selected unit. DIFF is now ON BOARD − (QTY BEFORE + SUPPLIED) — the uplift discrepancy. On refuel start (Refueling Qi220 0→1) QTY BEFORE snapshots ON BOARD and SUPPLY VOL / SUPPLIED zero. FUEL TYPE now defaults from the PSX FuelType (Qi192 → JETA / JETA1 / TS1 / JETB) and stays crew-overwritable; SUPPLIER defaults to SH.SEND> prompt appears at 6R and downlinks the report (ACFT TO DISPATCH / FPL DATA REPORT: / BLOCK FUEL / TAXI FUEL / MATOW) to the DISPATCH ACARS-directory address; SEND> then stays hidden until a fresh entry is made. If the DISPATCH entry has no address, NO DISP ADDR shows on the scratchpad and lights the CDU MSG light until the crew clears it (CLR / typing).<ATIS / <TAF / <WX, with its title on the line above), freeing 5R as a fifth origin/ICAO slot; the network name no longer prefixes the ATIS request type.REQUEST PERIODIC <sec>, REQUEST EVENTS and CANCEL from any ground station and downlinks REPORT <flight> <DDHHMM> <lat> <long> <alt> <hdg> position reports — built from the live PSX position feed — back to the requester at the contract interval. Availability is gated by the ADS-C checkbox (enableADSC, on by default) and the aircraft's ADS arm state, read from the native PSX ATC LOGON/STATUS page 5L prompt (SELECT OFF = armed, SELECT ARM = off). Turning ADS off (or unticking the box) drops every contract and stops reporting. New AdsC subsystem + HoppieClient.downlinkAdsC.<HACARS REQUEST page adds ATIS and TAF requests alongside METAR — one shared airport field feeds REQ METAR / REQ TAF / REQ ATIS buttons that run SENDING → SENT. ATIS routes to the network chosen in the new Hoppie network dropdown (VATSIM / IVAO / PilotEdge).DELETE + a line-select key blanks that entry field, and CLR now cancels a pending DELETE.addon= commands addressed to it, so any PSX client can remotely toggle the master Enable Printer Output. Send addon=adaptpsx;printer;;;enable=1 (on) or addon=adaptpsx;printer;;;enable=0 (off). The change is immediate — no stop/start — because OutputPrinter.printData reads the flag on every job; the GUI checkbox and status label are kept in sync. New Addon.java parses the addon=<dest>;<destsub>;<src>;<srcsub>;<data> wire protocol (dispatched from NetThread, case-insensitive dest); add future remote commands as extra <destsub> cases.dlurl= (preferring it and keeping updateurl= as a fallback). The shared Updater publishing tool and the sibling apps (Loader / SimMix / SwitchFS) all write dlurl=, so with a tool-generated feed AdaptPSX previously never saw its download URL and fell back to the website dialog instead of self-installing (standards/APP_STANDARDS.md B8).EventForwarder, gated by a GDPR privacy-consent dialog (LoggingConsent) and disabled by default. EDT crashes are funnelled to the forwarder.major.minor.patch (3.1.0); the auto-update check now compares versions part-by-part instead of as a decimal number, so three-part versions compare correctly and no longer break the update prompt (standards/APP_STANDARDS.md B1/B8).java.net.http.HttpClient used by Aggregator logging; requires a Java 11+ runtime).Version renumbered to 3.0 to end the earlier 1.x / B2.3 numbering confusion — the single
source of truth is now Master.version, and the auto-update feed compares against it.
package-for-store target, .appmap.json and commit hook added — app brought up to the Simulator Solutions application standard for WorkHub deploy.