Hi all, I've been experimenting with displaying the FSS E-Jets MCDU on a WinWing CDU, mainly inspired by the AAO approach and built with the help of Claude.
Wanted to share what I found and ask if anyone has gone down this path before.
Unlike FBW or FSLabs, the FSS E-Jets does not look to expose any SimVars or proprietary API for the MCDU, or so it looks to me.
The only accessible data source is the HTML panel rendered inside MSFS's Chromium engine.
The MCDU renders as a 24×14 grid of div id="cell-{col}-{row}" class="mcdu-display-cell" elements. Each cell carries:
Character as textContent (mixed case — label rows are lowercase, data rows uppercase)
Colour as CSS variable: --mcdu-white, --mcdu-cyan, --mcdu-green, --mcdu-magenta, --mcdu-amber, --mcdu-yellow, --mcdu-gray (disabled)
Size via font-family: FSS-EJET-MCDU = Large, FSS-EJET-MCDU-Small = Small
To read this, I'm currently connecting to the MSFS Chromium remote debugger on port 19999 via CDP (Chrome DevTools Protocol), targeting VCockpit01 (page 19), and polling the DOM every ~55ms via Runtime.evaluate.
This requires RemoteDebugging 1 in UserCfg.opt and that no DevTools tab is open on that page.
It works, but it's not ideal as a general solution since it requires users to enable remote debugging.
AAO solves this differently — they inject a JS file directly into the FSS panel via an import-script tag in MCDU.html, which POSTs the HTML to a local HTTP server.
No remote debugging needed, but it requires modifying the aircraft package files (which break on updates).
Has anyone already worked on this, or found a cleaner approach?
Specifically — does FSS expose any local WebSocket or HTTP stream for the MCDU (similar to FBW SimBridge on port 8380) that would avoid the need for remote debugging entirely?
Happy to share if useful!
I've also opened the same dicussion with the whole Script attached here:
https://github.com/MobiFlight/MobiFlight-Connector/discussions/2955
Leo