News:

Precision Simulator update 10.187 (9 June 2027) is now available.
Navburo update 13 (23 November 2022) is now available.
NG FMC and More is released.

Main Menu

PSX native CPDLC for Hoppie's ACARS

Started by Jeroen Hoppenbrouwers, Thu, 14 Nov 2024 18:13

Jeroen Hoppenbrouwers

This release of PSX-ACARS peeks at an interval of between 30 and 60 seconds, randomly selected. This is possibly a bit on the high end of realism, but ACARS is not a speed monster by any means. Especially in areas where there is traffic pressure, it can easily take 20 seconds for anything to reach the airplane. Add to this the pilot response time and you get about a minute. This matches real life quite well. However, you can change the peek interval in the file modules/acars.py on line 206. Don't overdo it. 5 to 10 seconds is really not good for the network.

In the log you posted, you need to look at the "relayed" time (the second time) to see when the airplane picked it up. It takes about three seconds from there for the "avionics" to process it and display dong the ATC message. If it takes longer than that, something is delaying the "avionics" and we may want to look at this. If you look at the PSX-ACARS console output, you see exactly what is going on, and when.

For the nerds among us: here's recent real life CPDLC stuff that may be interesting, to see where the real problems are.
https://www.hoppie.nl/tmp/realworld.pdf


Hoppie

macroflight

As a test, I have enabled filtering (in the frankenrouter) of Qs119 (printer) messages from BACARS that appears to be CPDLC messages not related to PDC.

Current filter list:
                cpdlc_regexp_suffixes = [
                    r'CURRENT ATC UNIT',
                    r'LOGON ACCEPTED',
                    r'CLIMB TO',
                    r'ATC SERVICE TERMINATED',
                    r'LOGOFF',
                    r'STANDBY',
                    r'PROCEED DIRECT',
                    r'HANDOVER',
                    r'MAINTAIN',
                    r'DESCEND TO',
                    r'CONTACT',
                    r'.*REQUEST REJECTED',
                ]
The point of this is to not have BACARS give advance warning of CPDLC messages that have not made its way into PSX yet. And to save a few trees. :)

Gary Oliver

So to be clear if any of the above are received by ACARS don't process them in BACARS?

macroflight

Quote from: Gary Oliver on Wed, 29 Oct 2025 16:07So to be clear if any of the above are received by ACARS don't process them in BACARS?

No, I just prevent them from being printed by blocking the Qs119 sent from BACARS if the message text matches. The messages are still received by BACARS and visible in its message list.

Jeroen Hoppenbrouwers

Can you turn it upside down, so that BACARS only processes the (CPDLC) messages it understands, and ignores everything else? I expect more CPDLC message types to get used out there with time passing.

macroflight

If by you "you" you mean me, then no. :)

BACARS talks directly to Hoppie's ACARS over its own TCP connection. The router cannot filter that traffic.

What I did is simply a cosmetic fix - preventing BACARS from printing things I do not want it to print by filtering PSX network traffic from BACARS to the printer.

A better fix would be if BACARS could be made to ignore the CPDLC messages it cannot do anything with anyway. But that's something Gary would need to do.

Jeroen Hoppenbrouwers

Yes I meant to address Gary there ...

Jeroen Hoppenbrouwers

In just over a week I will be back at home base and could fix up the CPDLC stuff. I understand there is little to fix up on that front? So I could refocus on the ACARS part again?

macroflight

Quote from: Jeroen Hoppenbrouwers on Wed, 12 Nov 2025 18:33In just over a week I will be back at home base and could fix up the CPDLC stuff. I understand there is little to fix up on that front? So I could refocus on the ACARS part again?

I haven't done a lot of testing (too few controllers offering CPDLC during WorldFlight :)), but I have not found any new problems.

macroflight

#149
I had a simple idea for how to make BACARS and CPDLC coexist better - let BACARS ignore (do not display, do not print) all messages of type "cpdlc" when on the ground.

I think this should work since the only time I know of(*) when BACARS would need to handle a "cpdlc" type message is for PDC (which is a "telex" request from the aircraft and then a handful of "cpdlc" messages to and from the aircraft).

On VATSIM today, you will only ever send a PDC when on the ground, and you will never logon to CPCLC on the ground.

BACARS would have to remember the messages it has ignored so they're not all printed after takeoff.

(*) I have to confess I don't know what the "OCEANIC CLRNCE" feature in BACARS does. Is it even relevant anymore when https://nattrak.vatsim.net exists?

Gary Oliver


Kurt

Hey Hoppie - Have been using CPDLC for quite some flights now after worldflight and so far all is working absolutely fine including handovers between centers etc.

As I have my main PSX sim deplyed in a "non keyboard and mouse" environment not to ruin immersion I have tried to create .EXE file following different online resourses just like what Macroflight has created for all his amazing frankenXXXX stuff but I cant seem to get it working. Any chance you could compile a CPDLC.EXE file based on the current .py version as it seems to work aas intended?

Thanks in advance.

Kurt
Best regards
Kurt
PSX Shared Cockpit Crew

Jeroen Hoppenbrouwers

Yes absolutely, that was always the plan, this is still "beta." I will upgrade it to "charlie" asap rsn  :-)

In theory you should be able to create a .bat file with the required command, and that .bat file should function pretty much like an .exe would.


Hoppie

Kurt

Quote from: Jeroen Hoppenbrouwers on Tue, 25 Nov 2025 06:13In theory you should be able to create a .bat file with the required command, and that .bat file should function pretty much like an .exe would.

Ahh yes that is also an option - will use that in the meantime :)

Thanks Hoppie
Best regards
Kurt
PSX Shared Cockpit Crew

SwissMark

Good day Hoppie,

Is the V5 of the CPDLC the current last active?

As I now am a lucky bastard having yet another MCDU hardware (CockpitSimulator), I would like to project the ACARS & CPDLC onto my Center MCDU .... browsed your website .... do I still need IPC3 to link the virtual MCDU  output to my physical MCDU?

Thanks much for the guidance.

Mark
Keep the blue skies up!
B744F N475MC

Jeroen Hoppenbrouwers

Ha yes I knew there was something that got stuck   :-/

I am currently over the top busy with other stuff so the ACARS client isn't really making much progress.

I am not sure what to say about your IPC3 question. The ACARS client (that does not do much AOC, but all of CPDLC) just dumps itself on all three MCDUs. What PSX then broadcasts to hardware is not visible to me. You can disable the L and R MCDU if you want, by hashing out some lines in the code.


Hoppie

SwissMark

Keep the blue skies up!
B744F N475MC

SwissMark

Howdy Jeroen,

Apologies for being pesky bugger .... anything further on this re "something that got stuck"?

Happy Easter

Cheers,

Mark
Keep the blue skies up!
B744F N475MC

Jeroen Hoppenbrouwers

Same stuck ... no progress ... need to figure out what to do first.