One of my favorite activities on the radio is making contacts using digital modes. I'm not talking about FT8. I mean real conversations using modes such as Olivia, Contestia, Domino, PSK31, etc. To make these contacts I use a software called Fldigi. I think I have made at least one contact on each of the digital modes available through that software. Once I am done with a QSO1 I log my contact in a software called MacLoggerDX.

Until a few days ago, I was using an AppleScript program originally written by Ryan Clarke KJ6MSJ, called Log2MLDX.scpt. This script can be found in the utility directory of the MLDX2 installation image. It works fine but has a few issues.
Sometimes it takes a long time to establish the communication channel between Fldigi and the logging software. This is particularly annoying because Fldigi freezes until the Log2MLDX is done running. During that time the radio sends an empty carrier.
I also wanted to be able to use an IP connection instead of the internal AppleScript inter-process communication mechanism. This would allow me to run Fldigi on a Raspberry Pi, or a Linux machine and log the contacts on my Mac.
The new version of WSJT-X3 logs the contact made with this software exactly the way I want. The author4 of WSJT-X had the good idea of releasing the source code for WSJT-X. I was able to look into the design of the protocol that provides an interface between WSJT-X and the external logger.
With the information learned reading WSJT-X code, I wrote a python program called fllog. The program is run from a Fldigi macro. Fllog crafts a UDP packet containing an ADIF5 line containing the information provided by Fldigi, The packet is then sent through IP to MacLoggerDX.
In the new version of his software, Joe Taylor has standardized how WSJT-X talks to the external world. I haven't tested it but fllog should also work with other logging software.
The fllog program can be found on my github account.
Installation
To install fllog
follow the next steps
Download from GitHub
$ git clone https://github.com/0x9900/fllog
Cloning into 'fllog'...
remote: Enumerating objects: 26, done.
remote: Counting objects: 100% (26/26), done.
remote: Compressing objects: 100% (16/16), done.
remote: Total 26 (delta 10), reused 21 (delta 9), pack-reused 0
Unpacking objects: 100% (26/26), done.
$
Install the software
By default, the fllog
program will be installed in
/usr/local/bin/fllog
You can edit the installation script if you
want to install fllog
in a different place. You can also copy the
program fllog
into the Fldigi script directory. This directory is
usually located in $HOME/.fldigi/scripts/
.
$ cd fllog
/Users/fred/src/fllog
$ sudo ./install.sh
Installing fllog into /usr/local/bin
To complete the installation, you need to create a logging macro
containing the following line:
<EXEC>/usr/local/bin/fllog</EXEC>
As an example, here is the macro I use when I am done with my QSO:
<NAME>, Thank you for the QSO on <BAND> / <MODE>.
I look forward to seeing your signal on my waterfall, 73.
QSL: LoTW, DIRECT
<ZDT> <CALL> de <MYCALL> sk
<RX>
<EXEC>/usr/local/bin/fllog</EXEC>
<LOG>
Configure
Once the software is installed you can add the line
<EXEC>/usr/local/bin/fllog</EXEC>
to one of your macros. (Fix the
path, if you installed fllog in a different directory,) Every time
you click on that macro the contact will be automatically logged onto
MacLoggerDX.
Fllog use UDP and MacLoggerDX needs to be running for the contact to be logged.
Debugging
If you have problems with fllog, you can add the option -d
to the
macro. All the environment variables will be logged into the file
/tmp/fllog.debug
. You can post a message here or send me an email
and I will help you debug the program.
Example: <EXEC>/usr/local/bin/fllog -d</EXEC>
Conclusion
With fllog, your logging will work faster and Fldigi will not freeze for 20 or 30 seconds. You will also be able to log your QSOs through the network, from any type of machine.