Monday, January 28, 2008

Review: Several Windows ACARS Programs

It all started when the hard core HFDL enthusiasts on the Yahoo! group told me that you could connect Charles Brain's great PC-HFDL program to other data processing applications via Windows DDE.

If this last sentence is total gobbledygook to you, well it would also have been to me about three months ago. I would imagine one of the fancy (and pricey) high-end ACARS packages would do all this stuff with a fraction of the geeking, but fortunately I like to geek. After all, this is amateur radio.

Acarsd and PC-HFDL

I'd read good things about a free program suite called acarsd. You can download it at acarsd.org. It's a rather comprehensive ACARS package, with all the features that the hard core aviation geeks have come to expect, such as real-time fetching of aircraft data, including photos, from plane spotting sites.

Acarsd contains a decoder, but for HF I really wanted to continue using PC-HFDL for the transport layer. You need the commercial PC-HFDL version to do DDE. It's a nice little program, especially in its newest 2.041 beta, which adds some features and generally improves the decode.

Unfortunately, Vista broke it, along with most other shareware/freeware sound card radio decoders. This is a problem since Charles, as of last year at least, didn't have access to a Vista box to develop the fixes. Users of GOOD operating systems, such as Windows XP Pro, will have no problems, though it definitely likes some sound cards more than others.

Getting back to acarsd, it's a remarkable package for the price (free, though donations are encouraged). It also has a Linux version. It is configurable to do just about anything, mostly by manually tweaking the self-documenting .ini file. Other documentation is pretty minimal.

In order to send PC-HFDL decodes to Acarsd, you need the "SkySpy Socket Collector," an accompanying DDE server application which is called acarsds. This program, which is bundled with newer versions of acarsd, works like a charm. Its documentation, though, is extremely out of date.

For example, you are told to download acarsds separately, and install it to its own directory. You don't have to. You are told that you need a specific Visual Basic runtime library. Unless your Windows is ME or older, you almost certainly don't. Finally, you are told not to even bother downloading it if you have Windows XP, because this OS isn't supported by SkySpy. Even if, years later, this is still the case, it's irrelevant for us.

The DDE setup is a complete no-brainer. Soon, you have this neat little server happily passing your ACARS messages to the cool acarsd graphic user interface. Not long after, you notice that many of the interesting HFDL downlinks don't display, because technically they are HFNPDU PERFORMANCE messages, not ACARS. Too bad, because most of these have the position of the aircraft.

POSFIX

Fear not. This is where POSFIX comes in. It's also free, and you get it right here. The latest version in January 2008 is 2.34, though a newer version that adds SBS and some other features is in beta. Posfix is also minimally documented at best, though the help does tell you how to make the program work.

What Posfix does is to reformat the HFDL positions into pseudo-ACARS messages which get sent to acarsd and displayed. Acarsd gets a lot more interesting, and your logs get bigger faster, though you also get a lot of NO-REG for missing registration numbers.

What you do is to set Posfix as a DDE client for PC-HFDL, and then set acarsds as a client for Posfix. This results in the following DDE path:

PC-HFDL > Posfix > acarsds > acarsd.

Also, things crash if you don't start servers first and clients second. This means you start PC-HFDL, get it going on a frequency, then work left to right along the path shown above. Posfix connects to PC-HFDL, and messages start appearing in its window. Acarsds connects to Posfix, and messages appear there. Acarsd connects to acarsds, and messages appear there, in its slick formatting, and including the position checks. Also you can plot with Posfix, though unless you're monitoring the North Atlantic run you'll want to make some more maps. Fortunately, this is stupidly easy.

This took me a couple hours of tweaking to get right, but the results are worth it.

UPDATE: This post has been split into two parts to decrease its length. The second part should be above.