News:

Precision Simulator update 10.188 (22 June 2026) is now available.
Navburo update 13 (23 November 2022) is now available.
NG FMC and More is released.

Main Menu

PSX WINCTRL PFPx

Started by Jamie, Mon, 15 Jun 2026 19:56

Jamie

While existing solutions work very well, I wanted to explore an approach that more closely replicates the appearance and behavior of the original CDU hardware. I wanted to get rid of MobiFlight as wel, Mac compatibilty, etc. And, admittedly, I seem to have far too much free time on my hands ;D  I release the code here.

I currently own a WINCTRL PFP7 only, it seems to work on other PFP systems as well.

Check the .ini file for the right unit (captain/co setup WINCTRL).

v1.54 GUI version
----------------------
Download the Windows and macOS version here: The GUI version 1.54
- bugfix Mini is always on top

v1.53 GUI version
----------------------
- bugfix wrong Qi sends/demands
- keep-USB-alive-test > sends brightness value every 15s to unit
- window position fixes (Mini/Full positions)

v1.50 GUI version
----------------------
- macOS version included, you can simply rename it (e.g. Aerowinx PFPx) and place it in your Applications folder
- easy CDU switching
- mini controls -> always on top
- more features and fixes

Important to mention if you run macOS:
1) If you get the error "The application "Aerowinx PFPx GUI" can't be opened."
You can solve it by opening a terminal: Applications/ Utilities/ Terminal

then type (copy/paste):
chmod +x /Applications/Aerowinx\ PFPx\ GUI.app/Contents/MacOS/psx_winctrl_pfp
Try again: it opens a popup > Choose Done

Settings -> Privacy & Security -> scroll a bit down and click Open Anyway -> again Open Anway on the popup. You might need to enter your password. Done.

2) for the MacOS version you have to rightclick the App then Show Package Contents > Contents > MacOS.
There you will find the .ini file to edit.
Maybe I change this later to add the PID and DID fields in the GUI.










v1.30
------------
Download Win/macOS/py version: PSX WinCTRL PFPx - 29 june 2026 v1.30

- This is the 'old' Terminal/Console version. Works fine, no GUI :)
- Major cleanup
- Cryptography removed
- Aerowinx MCDU fonts by Martin and Hardy
- JSON removed
- FIX: color inverted chars (e.g. RTE DATA > Wind)

v1.24
------------
Fallback version: PSX WinCTRL PFPx - 23 june 2026 v1.24

Changes:
- Brightness bar showing on scratchpad + it matches timings as in PSX :)
\_ this works on the Legacy CDUs as well, not quite as real as it gets, but it matches the funtction of the WINCTRL - BRT + button.

- Less output when reconnecting to PSX

Old Console version 1.30 description
--------------------------------------
For the scratchpad I have a gimmick:
+-----------------------------+
| Scratchpad commands       
+-----------------------------+
| CDU-L    Left CDU         
| CDU-C    Center CDU       
| CDU-R    Right CDU       
| CDU-ATC  ATC key mode     
| CDU-ALTN  ALTN page mode   
+-----------------------------+

- *No need for MobiFlight*
- Works on macOS and Windows (Linux might work as well, run the .Py)
- It autodetects Legacy or LCD CDU, so green letters or fullcolor/white.
- Screen blanking implemented
- Full color CDU LCD support
- Has all the special characters like [] and ° like in 52°.
- Also uses the compressed or smaller fonts and normal fonts
- CLR keep pressed wipes the scratchpad
- BRT+/- keep pressed, changes brightness in 3s from full dim to full max vise versa
- ATC/ALTN key swap per CDU command: CDU-ATC (PFP4) or CDU-ALTN (PFP7)
- CTRL-C Saves the CDU selection + Brightness in the INI.
- auto reconnect in case you restart PSX, just leave the app running, it reconnects automatically.
- heavily vibe-coded  ;)

Could work with multiple CDUs if someone can test please?
You need to run in a separate directory for each CDU as active CDU is being saved in the INI.

Windows: psx_winctrl_pfp.exe
macOS:  macOS unzip and place in Applications 'Aerowinx PFPx.zip'
Python3: psx_winctrl_pfp.py*

Github: https://github.com/JamieJanssen/PSX-WINCTRL-PFPx
* if you want to build or run the Python version, install hidapi and cryptography first:
pip install hidapi
Jamie

PanosI

Great work Jamie!

If you only had PAP3/3NPDC/3MPDC to work your magic on them.

Jamie

Quote from: PanosI on Mon, 15 Jun 2026 20:54Great work Jamie!

If you only had PAP3/3NPDC/3MPDC to work your magic on them.
I might plan my vacation in LGAV ;) Seriously
Jamie

PanosI

Quote from: Jamie on Mon, 15 Jun 2026 20:58I might plan my vacation in LGAV ;) Seriously

You are most welcomed.

roccod

Hi Jamie, how do I get this to work on my Mac?  I'm not getting anything if I click on the Mac file?

Jamie

#5
Quote from: roccod on Mon, 15 Jun 2026 23:39Hi Jamie, how do I get this to work on my Mac?  I'm not getting anything if I click on the Mac file?
I see, try to open a terminal: Applications / Utilities / Terminal
go to the directory where you unpacked the zip.

Then start with

./psx_winctrl_pfp_MacOS

Optionally you can try this .app bundles MacOS app:
https://www.jamiejets.com/psx/psx_winctrl_pfpx_macos.zip

Mac is safe but sometimes cumbersome: it may say "This is not safe, Move to trash" and "Done". Then go to Settings > Privacy & Security > below Open Anyway. Try again and select "Open Anyway" then "Allow".

You need to allow permissions when it asks for it.
Jamie

Jeroen Hoppenbrouwers

I need to convince the other half of my brain to hit <order> on that web site.

PanosI

I had the same problem with my MacBook Air. With your app is now working perfectly !

PanosI

Quote from: Jeroen Hoppenbrouwers on Tue, 16 Jun 2026 06:37I need to convince the other half of my brain to hit <order> on that web site.

Don't overthink it Jeroen 
WINCTRL products for the price are no brainer.
You can buy 4 FMC at the price that the next cheapest competitor offers their.

Jamie

Quote from: Jeroen Hoppenbrouwers on Tue, 16 Jun 2026 06:37I need to convince the other half of my brain to hit <order> on that web site.
One pair of shoes = one PFP (FMC/CDU)
A purse = a computer part
Jewelry = maybe an M2 or, if you have the money, a 8Gb ram-stick
Jamie

roccod

Works perfectly now!  Thank you once again.

PanosI

Quote from: Jeroen Hoppenbrouwers on Tue, 16 Jun 2026 06:37I need to convince the other half of my brain to hit <order> on that web site.


Jeroen Hoppenbrouwers

"Die Auslandssendung wurde im Export-Paketzentrum bearbeitet und ist auf dem Weg in die Region des Empfängers."

...

Hardy Heinlin

They send from Germany?

andrej

If I remember correctly, they have regional websites (Europe, US, UK?). So it is very likely.
Andrej

Jeroen Hoppenbrouwers

Fr, 19.06.2026, 10:54, Lahr, Deutschland
Die Auslandssendung wurde im Export-Paketzentrum bearbeitet und ist auf dem Weg in die Region des Empfängers.

Do, 18.06.2026, 12:40, Neumark, Deutschland
Die Auslandssendung wurde an DHL übergeben und wird für den Weitertransport in das Zielland/Zielgebiet vorbereitet.

Jamie

#16
I uploaded v1.24

Changes:
- Brightness bar showing on scratchpad + it matches timings as in PSX :)
- Less output when reconnecting to PSX

as always:
It has an .EXE/ Macos app/ Pyton code (python3 psx_winctrl_pfpx.py)

In case of problems, v1.21: https://www.jamiejets.com/psx/psx_winctrl_pfpx_1.21.zip
Jamie

PanosI

Jamie, I have this with the new version

Starting...
[CDU] loading Font to PFP

[ERROR] Encrypted font detected, but cryptography is not installed.
Install with: python -m pip install cryptography

Press ENTER to exit...

Jamie

aah oke sorry
I update the zip, just a minute...
Jamie

Jamie

Quote from: PanosI on Tue, 23 Jun 2026 20:59Jamie, I have this with the new version

Starting...
[CDU] loading Font to PFP

[ERROR] Encrypted font detected, but cryptography is not installed.
Install with: python -m pip install cryptography

Press ENTER to exit...

Can you try again please? Just re-download. Zip should be around 22mb.
Jamie