WinWing sell replicas of various Airbus and Boeing CDUs. They plug in over USB, they have 24 x 14 alphanumeric colour displays, backlight buttons, two ambient light sensors, half-a-dozen LEDs and are very cool.
They come in very handy when flying airliners in flight simulators, but I want to them outside of flight sims as well.
This application can display output on, and accept input from, these CDU devices. The idea is that it can be left running all the time, it has its own built-in set of pages and it will let other applications connect to it and display their pages as well.
To avoid having to keep quitting and restarting whenever you want to use the CDU in a flight simulator the program lets you either stop driving the display so that other programs can use the device, or (for a small set of supported simulations) it can display the output from the simulator and control the simulated CDU.
The application should be able to run on any platform that .NET Core 8 supports. This includes Windows, most major Linux distros and macOS.
Download and run the latest Windows installer from the release page here:
https://github.com/vradarserver/cduhub/releases/latest
The intention is to build and release FlatPak bundles that can be run under any distro that supports FlatPak. However, this has not yet been done.
If you're comfortable with compiling .NET Core applications on your machine, and you have the .NET Core 8 SDK installed, then you can build and run the CLI version of the application by cloning the repository and running this:
dotnet run --project apps/cduhub-cli/cduhub-cli.csprojInstructions on how to get hold of the .NET Core SDK, clone the respository and build the source can be found here.
The current set of built-in pages can be found here.
| Panel | Supported |
|---|---|
| MCDU | Yes |
| PFP-7 | Yes |
| PFP-3N | Provisional |
| PFP-4 | Not yet |
CDU Hub uses the Fenix browser EFB's MCDU page to read and control the MCDU display for both the captain and first officer. You can flip between the two MCDUs using the BRT button and you can jump back to the CDU Hub menu using the DIM button.
You can configure brightness settings using the INIT or INIT REF button in the hub.
This uses FlyByWire's SimBridge remote MCDU to read and control the mirrored MCDU. When FlyByWire add support for separate pilot and first officer MCDUs the program should be able to read and control them separately, and switch between them using the BRT button.
You can jump back to the CDU Hub menu using the DIM button.
You can configure brightness settings using the INIT or INIT REF button in the hub.
Known issues:
- Centred text is not always perfectly aligned. The FBW A320 positions odd-length centred text at half-column positions, which I can't do on the WinWing. I don't see a way around this at the moment.
- There are disparities between the simulator MCDU and the EFB MCDU. The program uses the EFB MCDU, so if there are bits missing on the EFB MCDU (E.G. the page arrows are occasionally missing) then c'est la vie.
This uses ToLiss's custom datarefs to read and control the pilot and first-officer MCDUs. You can flip between the two MCDUs using the BRT button and you can jump back to the CDU Hub menu using the DIM button.
You can configure brightness settings using the INIT or INIT REF button in the hub.
Known issues:
- Pauses at startup. This is a side-effect of the mechanism used to interact with X-Plane.
- LEDs don't work. I've not actually seen them light up in the simulator yet so I'm not sure whether ToLiss simulate them.
This uses X-Plane's standard datarefs for CDUs to read and control the pilot and first-officer CDUs. You can flip between the two CDUs using the BRT button and you can jump back to the CDU Hub menu using the DIM button. X-Plane 12 only.
You can configure brightness settings using the INIT or INIT REF button in the hub.
Known issues:
- Only works on the local machine. I think I read somewhere that X-Plane 12's web server doesn't accept connections from the LAN? Not sure. However you can configure any address for the sim, if Laminar adds support for LAN access in the future then it should work with no code changes here.
- Laggy. This is a by-product of fetching the MCDU datarefs by REST instead of WebSockets (which gets aborted after 100 seconds) or UDP (which requires 3200+ datarefs for the generic MCDUs). If I can get web sockets working with X-Plane then I'll switch over to those and the lag should go away.
- Only the PFP-7 buttons have commands set up for them.
- LEDs don't work. I think I just need to find the commands for those.
The code for reading and writing the CDU USB device is in a separate library to the rest of CDU Hub, and can be used by applications that want to drive the devices for themselves.
The library is called mcdu-dotnet and it's in the library folder. The README
for it is here. It is available on NuGet here: