"qsltool" is a tool developed by Wizardry and Steamworks that can be used to manage QSOs made over Ham Radio. One example is to use "qsltool" in order to generate ASCII QSL cards from ADI files. patterns.
As implemented, so far:
First ensure that node.js and npm are installed and then execute:
npm install -g qsltool --registry https://npm.grimore.org
that will install qsltool
such that it can be called from the command line.
The sources can also be checked out via Subversion by using the URL:
For instance, via the command:
svn co https://svn.grimore.org/qsltool
After that, the requirements must be pulled, such that the following command:
npm install
must be ran inside the qsltool
folder checked out from the SVN repository.
The tool can be invoked on the command line and will output the available options:
$ qsltool Usage: qsltool [options] [command] ^ _._. - | ( QSL ). +./. Tool ) | (_..../ .---. .---. A tool to manage QSO contacts with HAM Radios .---. and to generate matching QSL cards. | | ///// Options: -V, --version output the version number -h, --help display help for command Commands: generate [options] <source> <target> display a factory specification graphically list-qsl-templates list built-in QSL templates help [command] display help for command
The typical usage is to generate QSL cards from .ADI / .ADIF files. Here is an example that will point the tool at the WSJT-X program folder and will generate QSL cards from the found files:
./qsltool.js generate "PATH_TO_WSJT-X" "OUTPUT_FOLDER" -s CALL_SIGN
where:
PATH_TO_WSJT-X
is the folder path to the Wsjt-x folder where the .ADI / .ADIF files are stored (something along the lines of C:\Users\xxxx\AppData\Local\WSJT-X
),OUTPUT_FOLDER
is an existing directory where the QSL cards should be placed,CALL_SIGN
is the station call sign that is generating the QSL cards for a contact (ie: your call sign)"qsltool" generates QSL cards by using a substitution template and then replacing the QSO details into an ASCII template. The default template provided is the following:
/------------------------------------------------------------------------\ |o o| | .---. .--- ... .... .... / | | / _ | |---/ | | / .. \ / .. \ |/ | | | | | | |--\ | | .---. \\ // \\ // |/ | | -(--). | "-/ | \--\ | \ --- //\\ //\\ Ooo | | | / (-) \ / . | --- | | -.. //..\\ //..\\ o| , . | | \-- -/ /---/ \---/ \---/ \..../ \..../ -- (o) | | \ / || ^|^ | | /(..)\ +:[ XXXXXXXXXXX ]:+ .. |/ | | \ (-) / c(..)o " \ /..\/. | | \ / ---- =====)------------------ -----...... | | \ / . / \../ | | ... o -- | | \|/ | .................. .................. | | | |. . . | | | ."-._.-""--.-"-../ |. Confirm QSO = AAAAAAAAAAAAAAAA . | | |-._/ / |\ . . | | | ' .-""-. \ | .-----------------+-----------------/ | | | \ ** . _ _ . ** ) |. . . | | .---. ) \\|(_)(_)|// \ |. Date & Time = DDDDDDDDDDDDDDDD . | | .---. \ (_ /\ _) ) |\ . . | | .---. ) //|wwww|\\ / | .-----------------+-----------------/ | | | . ** '-..-' ** ) |. . . | | | .' \ |. f / Mode / Band = FFFFFFFFFFFFFFFF . | | |.../"-.__.-""-.__.-"-.) |\ . . | | | | .-----------------+-----------------/ | | | |. . . | | | |. Signal TX/RX = SSSSSSSSSSSSSSSS . | | | ) ) \ . . | | ///// |\__/,| (`\ ................/+................./ | |o _.|o o |_ ) ) o| \---------------,,----,,-------------------------------------------------/
where the repeated letters will be substituted by the contact details. Here is the description of the fields:
XXXXXXXXXXX
is the station call sign of the station emitting the QSL card,AAAAAAAAAAAAAAAA
is the call sign of the contact,DDDDDDDDDDDDDDDD
is the time and date that the contact has been made,FFFFFFFFFFFFFFFF
is the mode and the band describing how the contact has been made,SSSSSSSSSSSSSSSS
is the send and receive signal report for the contact (in db)All the repeated letter fields will be populated from the QSO's default details but any other characters will be ignored.
It is possible to create your own ASCII art template and use it with "qsltool", for example, assuming that your ASCII art template is at C:\QSL.txt
, then "qsltool" can be invoked as:
./qsltool.js generate "C:\Users\xxxx\AppData\Local\WSJT-X" "OUTPUT_FOLDER" -s CALL_SIGN --qsl-template "C:\QSL.txt"
and "qsltool" will read the .ADI / .ADIF files in C:\Users\xxxx\AppData\Local\WSJT-X
and then create QSL cards by substituting the letters in the ASCII template to be found at C:\QSL.txt
"qsltool" is made as a companion tool for the WSJT-X companion that is able to generate QSL cards on the fly as the contact is made and then to also automatically upload the generated QSL cards to cloud storage. "qsltool" works great to supplement the WSJT-X companion for contacts made while the WSJT-X companion was not running.