Provided by: tlf_1.4.1-327-g7b714df-4_amd64 bug

NAME

       Tlf - amateur radio contest keyer/logging program for Radiosport

SYNOPSIS

       tlf [-?dilnrvV] [-f config_file] [-s user:password@host/dir/logfilename] [--debug]
           [--config=config_file] [--import] [--list] [--no-cluster] [--no-rig]
           [--sync=user:password@host/dir/logfilename] [--verbose] [--version] [--help] [--usage]

DESCRIPTION

       Tlf  is a console (ncurses) mode general purpose CW keyer, logging and contest program for
       amateur radio operators.  It supports the CQWW, WPX, ARRL-DX,  ARRL-FD,  STEWPERRY,  PACC,
       FOC  Marathon and EU SPRINT contests as well as a lot more basic contests, general QSO and
       DXpedition mode.  It interfaces with a Morse Code generator, a number of  radios  via  the
       Hamlib  library,  and  with  a  DX Cluster via telnet or packet radio.  Tlf can project DX
       cluster data into the excellent Xplanet program, written by Hari Nair.

       Contest operation mimics the popular TR-Log program for DOS, the  output  file  is  TR-Log
       compatible.  The log can be exported in ADIF or Cabrillo 3.0 format.

       The  program  was  written  for console mode on purpose, which allows it to run on smaller
       machines, or remotely via SSH or a modem link.

       CW keying via cwdaemon is fully supported, featuring direct  mode  for  the  keyboard  and
       output  to  parallel  and serial ports and speed and weight control from the keyboard, and
       band info output on the parallel port.  Likewise, CW keying via Hamlib  is  supported  for
       rigs that feature the capability. Tlf can set the CW speed, and at the same time read back
       the speed if changed using the knob on the rig.

       For users of the K1EL series of “Win Keyers”, the winkeydaemon is  available  from  GitHub
       ⟨https://github.com/N0NB/winkeydaemon⟩.  Setup is the same as for cwdaemon(1).

       For  radio  control  Tlf  works  with  Hamlib  (version  >=  1.2.8),  you  can  find it at
       www.hamlib.org ⟨https://www.hamlib.org/⟩.

       Tlf provides full TCP/IP networking between Tlf nodes,  syncing/distributing  log,  packet
       data, frequency data, local talk, serial numbers, time sync etc.

OPTIONS

       Options given to Tlf on the command line.

       -?, --help
              Print a summary of options to the screen and exit.

       -f config_file
       --config=config_file
              Start with a non-default configuration file:

              tlf -f PA0R

              Defaults to logcfg.dat in the current working directory.

       -s user:password@host/dir/logfilename
       --sync=user:password@host/dir/logfilename
              Synchronize log with other node

              tlf -s user:password@host/dir/logfilename

       -n, --no-cluster
              Start without packet/cluster.

       -r, --no-rig
              Start without radio control.

       -l, --list
              List all built-in contests.

       -i, --import
              Import an existing Cabrillo file and generate Tlf log files.

              When Tlf starts, it looks for YOURCALL.cbr file in the current directory, reads the
              configuration and rule files, and based on the current setup generates the  log(s).
              If  the  contest  is  WAE and you have QTCs in Cabrillo, then Tlf generates the QTC
              logfiles.  Tlf will not write over the existing log(s).

              The generated import will be IMPORT_CONTEST.log, where the CONTEST is the  name  of
              contest  in  the  config.   If  QTC  exists, then the files IMPORT_QTC_sent.log and
              IMPORT_QTC_recv.log will be created.

       -v, --verbose
              Verbose startup.

       -d, --debug
              Debug rigctld(1).

       -V, --version
              Print the version information to the screen and exit.

       --usage
              Print a short usage message to the screen and exit.

USAGE

       Tlf has been written for console mode.  If you want to run Tlf from a  terminal  in  X  or
       Wayland,  you  will  probably  get  the best results if you set TERM=linux and use a Linux
       console terminal.  Both KDE and GNOME terminals have a facility to start a  Linux  console
       in an X terminal as does Xfce-terminal.

       By default, xterm(1) or urxvt(1) may give unreadable colours.  If so, you will have to set
       different colours in logcfg.dat or  prepare  $HOME/.Xresources  to  the  preferred  colour
       scheme  (a  sample Xresources file that contains usage instructions is included in the doc
       directory).  One advantage of xterm or urxvt are that they do  not  consume  the  F11  key
       which  other terminal emulators reserve for full screen mode nor Ctrl-PgUp/Ctrl-PgDn which
       may be used for tab switching in other emulators.

       Recent efforts have resulted in improved keyboard handling.  If you find keys that do  not
       work,  the  developers  would like to receive your report of which keys and which terminal
       have the problem.  Please send the report to the mailing list shown in  the  BUGS  section
       below.

       There  are  excellent  results with the latest KDE, GNOME, and Xfce terminal emulators (vi
       colours are preferred by some).  As Tlf uses ncurses to format its display you must use  a
       proper  font.   (Good choices are the Linux font, Inconsolata, Hack, or any monospace font
       that dots or slashes the zero character).  If  you  have  problems,  try  the  linux  text
       console first and work from there.

       Normally  you  start  or  restart  Tlf  in  fast  mode  with “tlf”.  During debugging of a
       logcfg.dat file you can start in verbose mode, to have a look  at  the  startup  messages.
       The config file can also be specified on command line:

              tlf -f config_file

       If  you  have  the packet cluster enabled you will first see the packet screen (if you are
       using telnet and you have provided your callsign in logcfg.dat you will  be  automatically
       logged in switched to the main logging screen).  Log in with your callsign, if needed, and
       switch to the main logging screen with the ‘:’ command.  You can come back to  the  packet
       screen  later  with  the  :PACket  command  from  the call input field of the main logging
       screen.

       You can exit and close Tlf with the :EXIt or :QUIt commands or with Alt-X.

       At restart Tlf recalculates the score, which may take some time depending on the number of
       QSOs in the logfile and the speed of your system.  Tlf takes the points as they are in the
       log, and calculates the multiplier from either callsign or exchange  field  (depending  on
       the contest).

COMMANDS

       These commands are entered in the callsign field of the main logging screen.  Each command
       consists of the leading ‘:’ and at minimum the upper case characters of the  command  name
       plus any needed parameters separated by ‘Space’.

       :ADIf  Writes the log to an Amateur Data Interchange Format (ADIF) file logfile.adif.

       :CHAr  Input the number of characters for CW auto-start or ‘m’ for manual start.  Possible
              values are: ‘0’ (off), ‘2’...‘5’ or ‘m’ (manual).

              After typing as many characters in the input field or after  pressing  the  ‘Enter’
              key in manual mode Tlf starts sending the callsign without further keystrokes.  You
              can type in the rest of the call (but quickly).  As soon  as  the  sending  catches
              your last typed character Tlf automatically sends the exchange and the cursor jumps
              to the exchange field.

              ‘Escape’ stops sending.

              This works only in CW contests in RUN mode.

       :CHEck
       :NOCheck
              Turn the dupe check window On|Off.

       :CQDelay
              Change Auto_CQ delay (in 1/2 seconds, with PageUp/PageDown keys).

       :CLOff No cluster information (non-assisted contest operation).

       :CLUster
       :MAP   Show cluster window or bandmap.

       :CONtest
              Toggle contest mode On|Off.

       :CTY
       :ZONe
       :MULt  Show needed country multipliers, zones, multipliers per continent (depends  on  the
              contest).

       :CWmode
       :SSBmode
       :DIGimode
              Switch TRX to CW|SSB|DIGi mode.

       :EDIt  Edit the log with your favourite editor.  Be careful!

       :EXIt
       :QUIt  Exit Tlf (synonym to Alt-X, but without asking for confirmation).

       :FILter
              Filter cluster info (announce, dx-spots, all).

       :FREq  Show frequency or band/score information of your other tlf nodes.

       :FLDIGI
              Toggle Fldigi communication On|Off.

       :HELp  Show  online  help (displays help.txt from working directory or from /usr/share/tlf
              if no local one exists).

       :INFo  Show network status.

       :MESsage
              Edit CW (Morse Code) messages.

       :MODe  Toggle TRX mode (CW|SSB|DIG).

       :PACket
              Switch to the packet terminal.  Switch back to the main logging screen with ‘:’.

       :REConnect
              Re-opens the connection to the DX cluster in case it was disconnected.

       :REScore
              Recalculates the values in the score window (e.g. after deleting or editing QSOs).

       :RITclear
              Toggle the RIT reset after QSO On|Off.

       :SET
       :CFG   Edit various parameters in logcfg.dat file and reload it.

       :SCOre Toggle the score window On|Off.

       :SCVolume
              Adjust the soundcard volume for the sidetone (Up|Down).

              Range: 0–99.

       :SIMulator
              Toggle simulator mode On|Off.  In simulator mode you can work a  complete  CQWW  CW
              contest in TR-Log mode.  Set CONTEST=cqww.

       :SOUnd Opens the sound recorder menu.

              The  sound recorder is a utility for recording the voice keyer messages and enables
              recording a complete contest in chunks of 1 hour to the hard drive.

              Using the sound recorder requires the installation of  the  sox(1)  package,  which
              provides the rec utilities used by the script.

              For  recording voice messages, the keys F1F12, s, or c will record the voice keyer
              message for that key.

              The sound recorder uses  the  /usr/bin/soundlog  script  which  should  already  be
              installed  to a location in the $PATH.  The recording is written to the ./soundlogs
              directory by default.

              The soundlog script now defaults to the rec utility provided with the Sox  package.
              The command syntax is not compatible with the previous default rec utility.

              The  previous default rec utility is assumed to be from the Open Sound System (OSS)
              package (sound system used on Linux prior to ALSA).  Its default  soundcard  device
              is  /dev/dsp.   To enable the OSS version uncomment the needed line in the soundlog
              script and comment the Sox rec line.

              The recorded file extension is .au, the Sun μ–law format.

              The recorder produces less than 60 MegaBytes  per  hour  in  single  channel  mode.
              Recording  a  complete  48  hour  CQWW event requires less than 3 GigaBytes of disk
              space.  If local disk space must be preserved, the  sound  file  can  be  moved  to
              another host using FTP, rsync, scp, or any other network transfer protocol.

              Sound recorder menu:

              1: Start/Stop contest recording to ddhhmm.au.

              2: List contest recordings and play back selected recording ddhhmm.

              To  create  a new file every hour add a crontab(1) job to run the following command
              every hour (syntax for SoX rec shown):

                     /usr/bin/pkill -x rec

                     Running the crontab job at other intervals will create sound  recordings  of
                     the interval period in length.

              Once started the recorder will run until the lock file $HOME/.VRlock is removed and
              the script gets stopped (performed by menu item 1).

              If you leave  TLF  with  the  recorder  running  TLF  will  ask  for  confirmation.
              Depending  on  your  answer  TLF can stop it or keep it running. In the latter case
              just restart TLF and use :sound again to stop it.

              Cabling and setting up the radio to record both received and transmitted  audio  is
              left  as an exercise for the reader simply due to the variety of radios and station
              configurations.

              To ease the adaption to the local environment record and  play  back  commands  for
              voice keyer messages and contest audio can be configured by the following keywords:
              VK_RECORD_COMMAND,       VK_PLAY_COMMAND,        SOUNDLOG_RECORD_COMMAND        and
              SOUNDLOG_PLAY_COMMAND.  The directory where soundlogs gets stored can be configured
              with SOUNDLOG_DIRECTORY.  See “Sound Commands” section below.

       :SYNc  Synchronize the logfile of this node with the logfile pointed to by  the  parameter
              SYNCFILE=user:password@host/dir/logfile.   Tlf  will  wget(1)  the logfile from the
              relevant node, make a dated backup of your local logfile, and merge  the  2  files.
              The score will be recalculated.

       :TONe [dd]d
              Set PC sidetone frequency in Hertz.

              Range: 300–900, 0 = Off.

       :TRXcontrol
              Toggle rig control On|Off.

              Default  is  Off unless RADIO_CONTROL is given in logcfg.dat (only makes sense with
              rig control capability).

       :VIEw  View the log with less(1).

       :WRIte Write Cabrillo file according to specified format (see CABRILLO  statement  in  the
              RULES section).

              The  file is created in the current directory as YOURCALL.cbr (with slashes as part
              of YOURCALL converted to underscores, such as WX9XYZ/8.cbr to WX9XYZ_8.cbr).

KEYS

       Work has been ongoing to unify the key map between the Linux text console and the  various
       X  terminals.  It may be slightly different on certain X terminals depending on which keys
       they consume for their own use.  Turn off any key recognition by the terminal for its  own
       purposes  (menu  access,  help  display,  etc.) if possible.  Pay special attention to the
       F1-F12 and Alt-<char> keys.  Moreover, on some systems you  must  set  the  TERM=linux  or
       TERM=rxvt  environment  variable,  although  variables  such  as  xterm,  xterm-color,  or
       xterm-256color should work.  This also works under VNC.

       Certain key combinations will probably not be usable as the Linux console consumes  Alt-F1
       through  Alt-Fx  (often  F7,  but  could  be  greater) for switching its virtual consoles.
       Likewise, the various desktop environments consume key combinations  for  their  own  use.
       Ctrl-F1  through  Ctrl-Fx  are used to switch desktop workspaces.  Alt-Fx combinations are
       used for various desktop features and are unavailable for Tlf use.

       Some desktop terminal emulators are capable of being configured to allow  the  application
       running  in  them  to  get  all  of the keys the desktop environment does not consume.  In
       testing good choices seem to be  Gnome  Terminal,  Rox  Terminal,  or  the  classic  Xterm
       (although its default color presentation differs slightly from the Linux console and other
       terminal emulators) or URxvt (with a very distinct default color palette).  Xfce  Terminal
       is  known  to  consume  F11  and  Ctrl-PageUp  and Ctrl-PageDown.  The Tlf developers have
       implemented Alt-PageUp and Alt-PageDown  as  a  work-around  for  the  Ctrl  counterparts.
       Reports of success with other terminals are welcome.

   Call Input and Exchange Fields
       The Call Input and Exchange Fields are the two main entry fields of Tlf where the majority
       of the keyboard entry takes place.  The call input field is active when Tlf completes  its
       initialization and presents the main screen.

       Most key sequences are the same in both fields.  Differences are noted as necessary.

       A-Z, 0-9, /
              Call input:  ASCII  letters,  numerals,  and  the  /  character  that  make  up  an
              internationally  recognized  amateur  radio  callsign   plus   temporary   location
              identifiers.  Spaces are not allowed.

              Exchange:  information  provided by the other station possibly separated by spaces,
              such as ARRL Field Day and ARRL Sweepstakes.

       Space  Switch from call input to exchange field.

              Separates exchange field elements when multiple exchange elements must be  entered,
              such as ARRL Field Day and ARRL Sweepstakes.

       Tab    Switch  between  call  input  and  exchange  fields  (jump  back to call input from
              exchange field).

       Enter  Smart key depending on contest mode.

              Tlf follows the TR operating style which has two modes,  CQ  and  S&P  (Search  and
              Pounce).

              CQ  mode  is  used for “running”, that is staying on one frequency and having other
              stations answer your call.

              S&P mode is for tuning up or down  the  band  and  answering  the  calls  of  other
              stations.

              In CQ Mode:

              • With the call input field empty, Enter sends the F12 message (Auto CQ).

              • With  characters  in  the  call input field, Enter answers the calling station by
                sending the F3 message (RST) and moves the cursor to the exchange field.

              • If the exchange field is empty, Enter repeats the F3 message (RST).

              • After the exchange information received from the other station is entered,  Enter
                sends  the  CQ_TU_MSG  message  if  defined,  or  “TU”  (CW  mode)  and your call
                otherwise.  Afterwards it logs the QSO, and returns the cursor to the call  input
                field to answer the next call.

              In S&P Mode:

              • When  the  call input field is empty, Enter sends the S&P_CALL_MSG if defined, or
                your call otherwise.

              • When the exchange field is empty, Enter sends the  S&P_CALL_MSG  if  defined,  or
                your call otherwise.

              • When  the  call  input  field  has  been  filled, Enter sends the S&P_CALL_MSG if
                defined, or your call otherwise.  Afterwards it moves the cursor to the  exchange
                field.

              • Once  the  exchange  has  been  received,  Enter sends the S&P_TU_MSG if defined,
                otherwise it sends your call followed by the F3  message  (RST).   Afterwards  it
                logs  the  QSO  and returns the cursor to the call input field to answer the next
                call.

       Backspace
              Erase the character to the left of the cursor and moves the cursor one position  to
              the left.

       Escape Stop  CW transmission, clears characters, returns to call input field, keyboard off
              (universal undo).
              Note: Some changes are being considered to modify the behavior of Escape  slightly.
              The  intent  will  be to have Escape only stop sending on first press and not clear
              any entered information.  It is planned that Escape will stop the playback  of  the
              voice keyer as well.

              As  an  example,  characters  have been entered in both the call input and exchange
              fields, the cursor is in the exchange field, and the transmission of a  CW  message
              is in progress.

              The  first  press  of  Escape  will stop the CW transmission and clear the exchange
              field and position the cursor to the leftmost position of the exchange field.

              The second press of Escape will move the cursor to the right of the last  character
              in the call input field.

              The third press of Escape will clear the call input field.

              You can disable the above described UNDO functionality by setting ESC_STOPS_TX_ONLY
              (see below).

        (Left-Arrow)
              Call input field is empty: change to next  band  lower  in  frequency  or  wrap  to
              highest band if already on the lowest band.

              Characters  in the call input field: enter edit mode while moving the cursor to the
              left onto the rightmost character.  In edit mode successive presses will  move  the
              cursor left until the first character is reached.

        (Right-Arrow)
              Change  to  next  band higher in frequency or wrap to the lowest band if already on
              the highest band when call input field is empty.

       F1     In CQ mode, send message F1 (CQ).

              In S&P mode send message F6 (MY).

       Shift-F1
              Restore previous CQ frequency from MEM and send message F1 (CQ).

       F2-F11 Send CW, RTTY or VOICE messages 2 through 11. If the callsign field  is  empty  the
              messages will be sent with the preceding qso data.

       F12    Start  Auto_CQ  (only  activated  from  the  call  input field).  Sends F12 message
              repeatedly pausing for Auto_CQ delay time between messages.  Auto_CQ  is  cancelled
              with first character entry into the call input field.

       + (Plus)
              Toggle between the CQ and S&P modes.

       PgUp   Increase CW (Morse Code) speed (from call and exchange fields).

              If the cursor is in the call input field and it is not empty and CHANGE_RST is set:
              increase sent RST.

              If the cursor is in the exchange field and it is not empty and CHANGE_RST  is  set:
              increase received RST.

       PgDown Decrease CW (Morse Code) speed (from call input and exchange fields).

              If the cursor is in the call input field and it is not empty and CHANGE_RST is set:
              decrease sent RST.

              If the cursor is in the exchange field and it is not empty and CHANGE_RST  is  set:
              decrease received RST.

       Ctrl-PgUp
       Alt-PgUp
              Increase Auto_CQ delay pause length (+1/2 sec).

              Set Auto_CQ delay to message length + pause length.

       Ctrl-PgDown
       Alt-PgDown
              Decrease Auto_CQ delay pause length (-1/2 sec).

              As  some  terminals,  Xfce Terminal is one such, consume Ctrl-PageUp/Ctrl-PageDown,
              the Alt-PageUp/Alt-PageDown combinations allow for setting the Auto_CQ delay  pause
              length.

              Note: If neither key combination works try :CQD instead.

       ? (Query)
              In  CW  or  DIGIMODE  sends the partial call followed by “ ?”.  In VOICE mode sends
              recorded message 5 (F5).

       ; (Semicolon)
              Insert note in log.

       , (comma)
       Ctrl-K Activate Morse Keyboard.

       " (Double quotation)
              Send talk message to other Tlf nodes.

       - (Minus)
              Delete last QSO (Use :REScore to correct scoring afterward).

        (Up-Arrow)
              In empty call input field: Edit last QSO: Insert,  overwrite,  and  delete;  +  log
              view.

              Increment serial number in exchange input field.

        (Down-Arrow)
              Decrement serial number in exchange input field.

       = (Equals)
              Confirm last call.

       _ (Underscore)
              Confirm last exchange.

       { (Open brace)
              In RTTY (DIGIMODE), keyboard mode switch TX on.

       } (Close brace)
              In RTTY (DIGIMODE), keyboard mode switch TX off (RX).

       \ (Backslash)
              Log QSO without CW output.

              In  RTTY  (DIGIMODE),  keyboard  mode  switch  controller  to command mode (back to
              operating mode with ‘K’Enter).

       # (Hash)
              Transceiver VFO frequency → MEM, MEM → transceiver VFO frequency.

       $ (Dollar)
              Pop MEM frequency: MEM → transceiver VFO frequency and clear MEM.

       % (Percent)
              Swap transceiver VFO frequency and MEM.

       ! (Exclamation)
              Get a new shell.  Come back with “exit”.

       Alt-,
       . (Period)
              Change bandmap filter configuration.  You can filter to show spots from all or  own
              band only, from all/own mode only and if you want to see dupes or not (see the help
              (Alt-H) display), only new multiplier or all call (only CQWW).

       Ctrl-A Add a spot to bandmap and broadcast it on the local network.

       Ctrl-B Send a spot to the DX Cluster (a connection  to  a  DX  cluster  must  exist).  TLF
              prepares a minimal spot line and allows you to edit it. Finish editing and send the
              spot with ENTER or abort sending by pressing the ESCAPE key.

       Ctrl-E End modem capture for RTTY mode in QTC window (started with Ctrl-S).

              See /usr/share/doc/tlf/Manual.md for more information.

       Ctrl-F Set frequency.  Use Up/Down-Arrow for  100Hz  steps  and  Pg-Up/Pg-Down  for  500Hz
              steps.  Return to logging with Escape.

       Ctrl-G Grab  next  DX  spot from bandmap.  The indicator on the right of the bandmap shows
              the current grabbing direction.  It can be toggled with Ctrl-V.

       Ctrl-K Keyboard (CW and RTTY).

       Ctrl-L Reset the screen.

       Ctrl-P Maximum Usable Frequency (MUF) display.

       Ctrl-Q Open the QTC window for receiving QTCs if QTC=RECV or QTC=BOTH or sending  QTCs  if
              QTC=SEND is set in logcfg.dat.  Same as Ctrl-S if QTC=SEND.

              See /usr/share/doc/tlf/Manual.md for more information.

       Ctrl-R Toggle /dev/lp0 pin 14 (Mic/Soundcard switch | trx1/trx2 switch).

       Ctrl-S Open  the QTC window for sending QTCs if QTC=SEND or QTC=BOTH in logcfg.dat.  Saves
              QTCs while in QTC window.

              In RTTY mode starts capture from the modem after the window has  been  opened  with
              Ctrl-Q.  End capture with Ctrl-E.

              See /usr/share/doc/tlf/Manual.md for more information.

       Ctrl-T Show talk messages.  In the QTC window shows RTTY lines.

       Ctrl-U Wipe  out  whole  input line (call input and exchange), clear all information about
              current contact.  If entered by accident a second Ctrl-U restores the line.

       Ctrl-V Toggle grabbing direction in which Ctrl-G looks for a spot.

       Ctrl-W Wipe actual field the cursor is  in  (call  input  OR  exchange).   If  entered  by
              accident a second Ctrl-W restores the field.

       Ctrl-Z Suspend  Tlf  returning  to  shell  prompt.   To return to Tlf use the ‘fg’ command
              (Bourne Shell) or the equivalent command for your shell.

       Alt-0...Alt-9
              Send alternate CW (Morse code)  messages.  If  the  callsign  field  is  empty  the
              messages will be sent with the preceding qso data.

       Alt-A  Cycle cluster window: NOCLUSTER → CLUSTER → BANDMAP → ...

       Alt-B  Band up in TR-Log mode.

       Alt-C  Toggle display of checkwindow.

       Alt-E  Enter QSO edit mode.

       Alt-G  Grab  first  spot  from bandmap which has the characters in the call input field in
              its call.  Allows the operator  to  selectively  grab  a  specific  call  from  the
              bandmap.

       Alt-H  Show help file /usr/share/tlf/help.txt.

       Alt-I  Show talk messages.

       Alt-J  Show the frequencies of other local station(s).

       Alt-K  Keyboard (CW and RTTY).

       Alt-M  Show multipliers.

       Alt-N  Add Note to log.

       Alt-P  Toggle PTT (via cwdaemon).

       Alt-X  Exit Tlf (synonym to :EXIt and :QUIt, but asks for confirmation).

       Alt-R  Toggle score window.

       Alt-S  Toggle score window.

       Alt-T  Tune your transceiver (via cwdaemon).  Activates PTT and Key output, by default for
              6 seconds.  Stop tuning by pressing any key.  You can override  the  default  value
              using the TUNE_SECONDS configuration statement.  In addition to cwdaemon, tune also
              works with winkeydaemon (tested with v1.0.10).

       Alt-V  Band down.

       Alt-W  Set CW weight.

       Alt-Z  Show zones worked.

   CT Compatible Mode
       Tlf has limited support for the logging sequence keys used in the once popular CT  logging
       program.  Unlike the default Enter  Sends  Message (ESM) mode, the CT Compatible mode uses
       the Insert and + keys in the logging sequence and Enter logs a complete QSO.   Unlike  ESM
       mode, CT mode does not have separate CQ or S&P modes.

       CT  Compatible  mode  is  enabled  with  the  CTCOMPATIBLE  keyword in logcfg.dat (see the
       PREFERENCES section below).

       The following keys differ in behavior in CT Compatible mode.

       Enter  Log the complete QSO without sending any message macro.

              If the callsign field is empty, pressing Enter will activate the Auto-CQ  function.
              If  the  exchange field is empty, pressing Enter in either the callsign or exchange
              field will result in no action.

       Insert Send the RST (F3) macro.

              Since the RST macro includes the other station's callsign by default, the HIS macro
              is  not  sent  first.  This differs from classic CT, but is a compromise to use the
              default Tlf macros.

       + (Plus)
              Send the TU macro and log the QSO.

              The + key checks if the exchange field is empty and if it is  nothing  is  sent  or
              logged.   In  rare  cases  where nothing needs to be entered in the exchange field,
              such as when working DX from USA in ARRL 160, simply enter a space to allow  the  +
              key to send the TU message and log the QSO.

       Alt-V  Change CW speed.

PREFERENCES

       Tlf  can  be  fully  configured  by  editing  the  logcfg.dat file.  Normally you keep one
       logcfg.dat file, setting up your callsign, the log file name, the ports and addresses  for
       packet, the radio, the network etc., and a separate rules file per contest.

       The  logcfg.dat  file  can be edited from within Tlf by the :CFG or :SET commands (or with
       any other plain text editor before starting Tlf).  It contains keyword-argument pairs, one
       per  line.   Lines  starting  with “#” and empty lines are interpreted as comments and are
       ignored.

       You can set your favourite editor in the logcfg.dat file.

       The  rules  file  is  associated  with  the  statement  RULES=contest_rules_file_name   in
       logcfg.dat.

       Note:  Both  logcfg.dat  and  rules  file support the same configuration parameters except
       RULES which is allowed only in logcfg.dat.

       Tlf will first look in the current working directory for a  logcfg.dat  file,  and  if  it
       cannot  find one it will look in /usr/share/tlf for a default one.  Make sure you edit the
       logcfg.dat file for at least your callsign and your preferred system configuration.

       Parameters requiring a  boolean  value  (like  true/false)  can  have  an  optional  case-
       insensitive  argument.   Alternatively,  both  yes  and on are treated as true.  Similarly
       instead of false also no or off can be used.  Without the argument  the  default  assigned
       value is yes.

logcfg.dat STATEMENTS

       Configuration  parameters  are set in logcfg.dat which is located in the working directory
       (where Tlf is started).

   Tlf Setup Commands
       RULES=contest_rules_filename
              Name of the rules file to load.

              It helps to name the rules file according to the contest you want to describe.  The
              rules file is located under the rules directory of the working directory.

       SYNCFILE=user:password@host/dir/syncfile
              File on remote host you want to synchronize with (use wget(1) syntax).

       CTCOMPATIBLE[=<ON|OFF>]
              Do not use the TR-Log QSO sequence, but use +, Insert and Enter to log the QSO.

              The default mode of operation is the TR-Log sequence which uses + to switch between
              CQ and S&P modes, in which Enter is the sole key used to call  the  other  station,
              send the exchange, and log the QSO.

       TLFCOLORn=FG/BG
              Defaults:
                     TLFCOLOR1=23 (Header and footer)
                     TLFCOLOR2=67 (Pop up windows)
                     TLFCOLOR3=70 (Log window)
                     TLFCOLOR4=57 (Markers/dupe colour)
                     TLFCOLOR5=43 (Input fields)
                     TLFCOLOR6=63 (Window frames)

              The  numbers  are  given  in  octal,  FG/BG  or  BG/FG (some experimentation likely
              required).

              You should only specify these if you wish to modify the standard  colours  of  Tlf.
              In  some  Terminals  you  can  set a special profile for Tlf with your own colours.
              Another way is to define the colours via the $HOME/.Xresources file for  XTerm  and
              rxvt.

              Note:  A  sample /usr/share/doc/tlf/Xresources file has been provided that sets the
              colour scheme for XTerm and rxvt to the same colour pallet as  the  Linux  console.
              Most other terminals have their own way of setting the colour pallet.

       RXVT[=<ON|OFF>]
              Use rxvt's colours.

       EDITOR=nano | vi[m] | <your_favorite_editor>
              Editor  used  to  modify the QSO log or logcfg.dat.  The command specified receives
              the file name as an argument.

              When using a GUI editor that runs in the background (such as  gvim)  make  sure  to
              exit  the  editor before logging new stations.  Use the :RES command to rescore the
              log.  It is best to force such an editor to stay in the foreground  (such  as  with
              ‘gvim -f’).

       CALL=PA0R
              The  station  callsign  used  in  messages;  also  used  to determine the station's
              country, zone and continent.

       OPERATING_MODE=CQ|S&P
              Set operating mode for start up. Use CQ for "run" and S&P for "search and  pounce".
              The default mode is CQ.

       TIME_OFFSET=0
              Used to shift the Tlf time with respect to the computer clock.  Normally 0.

              Range: 0–23.

       TIME_MASTER[=<ON|OFF>]
              This node transmits the time over the network (only one master allowed!).

       ADDNODE=Node_address[:Port_number]
              Adds  an  IP  address  (and  optionally a port number) to which we broadcast stuff.
              (WARNING: Only add addresses of other nodes).

       THISNODE=A
              Node designator (default “A”).  If Tlf hears its own node ID on the network it will
              exit and ask you to pick another one!

              Range: A–H.

       LAN_PORT=Portnumber
              Specifies  on  which  port  number (default “6788”) Tlf is listening for broadcasts
              from other instances.

       LANDEBUG
              Activates the debug function for recording Tlf network traffic.

              Dumps all Tlf net traffic received on this node into a file named debuglog  in  the
              working  directory.  This log can be used as a backup log for the whole network, as
              it is easy to retrieve QSO data, cluster messages,  gab  messages  etc.  after  the
              contest.  Some users have this enabled all the time.

       SSBMODE
              Start Tlf in SSB mode (default is CW).

       RTTYMODE
              Start Tlf in RTTY mode (default is CW)

       GMFSK=$HOME/gMFSK.log
              Tell miniterm(1) where to get the data.

       DIGIMODEM=$HOME/gmfsk_autofile
              Tell Tlf where to send the macros.

       MARKERS=file_name
              Generate marker file for Xplanet.

              Xplanet  (a  GUI  program  for the X Window System) will show the last 8 DX cluster
              spots on an azimuthal map.  See the relevant Xplanet documentation.

              Use azimuthal projection and center the map on your QTH (station location).

       BAND_NN=bottom,cw_end,ssb_start,top
              Define band edges. NN is the band designator (wavelength), allowed values are: 160,
              80, 60, 40, 30, 20, 17, 15, 12, 10.

              All 4 comma separated parameters are mandatory and shall be specified in integer Hz
              units with an optional k suffix.

              Example specification for Region 1 40 m band:

                  BAND_40 = 7000k, 7040k, 7050k, 7200k

              Internal default band definitions are based on a  superset  of  all  Regions.   For
              example,  40 m  ends  by default at 7300 kHz.  In addition to configuring the legal
              limits BAND_NN can also be used to fine  tune  actual  band  configurations  for  a
              specific contest.

   Morse Code Keyer Commands
       NETKEYER
              Activates the CW keyer.

              Only  the  IP  networked keyer cwdaemon or any other program that emulates cwdaemon
              such as winkeydaemon is supported.  You may also need the keyer for PTT control  or
              band info output.

       NETKEYERPORT=port_number
              Default port is 6789.

       NETKEYERHOST=host_address
              Default host is 127.0.0.1 (localhost).

       HAMLIB_KEYER
              Activate CW keying via Hamlib.

              Note:  The  +  and  -  macros  to  control  speed  from within messages are not yet
              supported.

       MFJ1278_KEYER=serial_port
              Activates support for the MFJ-1278B multi-mode controller.

              The MFJ-1278 supports CW as well as RTTY contesting.  The serial port rate is fixed
              at 9600 bps.

       CWSPEED=speed_in_WPM
              Set the initial CW (Morse Code) speed.

              Can  be  changed with PgUp (increase), or PgDn (decrease) while sending CW messages
              or logging.

              Range: 4–69.

       WEIGHT=weight_ratio
              Set the CW (Morse Code) dot to dash ratio.

              Only for the NETKEYER.

              Range: -45–50.

       TXDELAY=PTT_delay_in_mS
              Delay activation of the Push To Talk pin.

              Range: 0–50.

       KEYER_BACKSPACE[=<ON|OFF>]
              Support backspace key in keyer window.

   Sound Commands
       SOUNDCARD[=<ON|OFF>]
              Use soundcard for CW sidetone output.

       SIDETONE_VOLUME=soundcard_volume
              Set soundcard sidetone volume (default is 70).

              A value of 0 turns off sidetone output (even for the console speaker).

              Range: 0–99.

       CQDELAY=Auto_cq
              Set  automatic  CQ  pause  delay  in  1/2  seconds   increments   between   message
              transmissions.

              Range: 3–60.

       CWTONE=sidetone
              Set the PC speaker or soundcard frequency.

              A value of 0 switches the sidetone off.

              Range: 0–999.

              (Due  to  a  bug  in  cwdaemon  it  also  turns  off  the Alt-T tune function.  Use
              SIDETONE_VOLUME=0 instead).

       VK_PLAY_COMMAND=command
              The command to play a voice keyer message file.

              It default to “play_vk $1”, where “$1” will be replaced by the file name to play.

       VK_RECORD_COMMAND=command
              Command to record voice keyer messages.

              “rec -r 8000 $1 -q” is used by default. Again “$1” stands for  the  file  to  write
              during recording.

       SOUNDLOG_PLAY_COMMAND=command
              Playback command for soundlog recordings (default is “play -q $1 2> /dev/null”):

       SOUNDLOG_RECORD_COMMAND=command
              Command to record contest audio stream. Runs out of the SOUNDLOG_DIRECTORY.

              The  script  “soundlog”  which  is  part  of TLF is used by default. See :Sound for
              details.

       SOUNDLOG_DIRECTORY=directory
              The  directory  in  which  recorded  contest  sound  files  are   stored   (default
              “./soundlogs”).

   Band Switching Commands
       BANDOUTPUT
              Outputs band information to pins 2, 7, 8, 9 on the parallel port.

              Output is 1 (160m), 2 (80m) ... 9 (10m).

              This  format  is  compatible with the standard interface for antenna switches, band
              filters etc.

       BANDOUTPUT=124181818
              Output pin 2 for 160, 30, 17 and 12, pin 7 for 80, pin 8 for 40, and pin 9 for  20,
              15 and 10.

              This comes in handy when you have 3 dipoles and a 3-band beam (...).

       NO_BANDSWITCH_ARROWKEYS[=<ON|OFF>]
              This will prevent unwanted band switching when you are not using rig control.

              Band up = Alt-B, band down = Alt-V (TR-Log mode).

   DX Cluster Commands
       TELNETHOST=cluster_address
              Use  Telnet to connect to a DX Cluster node using a DNS name or IP address, such as
              claudia.esrac.ele.tue.nl or 131.155.192.179.

       TELNETPORT=telnet_port_of_cluster
              DX Clusters often use a non-standard port for Telnet, e.g. 8000.

       CLUSTERLOGIN=yourcall
              Automatic login for the telnet client.

       CLUSTER_LOG[=<ON|OFF>]
              Write clusterlog to disk.

       TNCPORT=serial_port
              You can use /dev/ttyS0, /dev/ttyUSB1, etc. anything that looks like a tty.

       TNCSPEED=serial_rate
              Tlf supports 1200, 2400, 4800 and 9600 bps.

       FIFO_INTERFACE
              The FIFO (First In First Out) interface is used when you want  to  receive  cluster
              info  from  the network, or from another source.  The FIFO interface uses a special
              FIFO file in the working directory called clfile.  Anything you dump into this FIFO
              will be displayed by the packet interface.

   Radio Control Commands
       RADIO_CONTROL[=<ON|OFF>]
              Switches the radio interface on.  The rig interface makes use of the Hamlib library
              which supports a number of different rigs.

       RIGMODEL=rig_number
              Look at the Hamlib documentation for the rig_number.

              Hint: rigctl -l and its manual page (rigctl(1)).

       RIGSPEED=serial_rate
              Speed of the serial port for rig control.

       RIGPORT=serial_port
              You can use /dev/ttyS0, /dev/ttyUSB1, etc. anything that looks like a tty.

              For rigctld(8) set RIGPORT=localhost and RIGMODEL=2.   In  this  case  RIGSPEED  is
              ignored.

       RIGCONF=rig_configuration_parameters
              Send rig configuration parameters to Hamlib.
              e.g. RIGCONF=civaddr=0x40,retry=3,rig_pathname=/dev/ttyS0

       RIT_CLEAR[=<ON|OFF>]
              Clears the RIT after logging the qso.

              This  only works if the rig, and the Hamlib routine supports it (tested on the OMNI
              6+).

       RIGPTT Declares that Hamlib CAT PTT  capability  should  be  checked  at  startup  and  if
              available  used  to  activate the radio's PTT for sending voice messages instead of
              the cwdaemon PTT.

       CWBANDWIDTH=width
              Sets the CW bandwidth of your rig when changing bands.

              If unset or 0 the default bandwidth (as determined by Hamlib)  is  used.  (a  valid
              bandwidth for the radio model must be used).

       DIGI_RIG_MODE=mode
              If  set  along with RADIO_CONTROL option, specifies the mode to change the radio to
              when :DIG mode is selected.

              mode may be one of “USB”, “LSB”, “RTTY”, or “RTTYR”.  If this parameter is not set,
              “USB” is used if the FLDIGI parameter is set else “LSB” is used.

   User Interface Commands
       CLUSTER
              Show DX Cluster window at startup.

       BANDMAP
              Shows cluster bandmap on startup.

              Use .  (period) to change bandmap filtering.

       BANDMAP=xyz[,number]
              Show cluster bandmap on startup and set start values for filtering.

              <xyz> string parsed for:
                   “B” - show DX spots only on operating band
                   “M” - show DX spots only on operating mode
                   “D” - do not show dupes
                   “S” - skip dupes during grab_next (Ctrl-G)
                   “O” - show only new multipliers
                   “X” - show also out-of-band spots when in all-band mode
              <number> lifetime for new spots in seconds (number >= 30)

       SCOREWINDOW[=<ON|OFF>]
              Show the score window (same as Alt-R).

       CHECKWINDOW[=<ON|OFF>]
              Show the country/call check window.

       PARTIALS[=<ON|OFF>]
              Show a list of possible contest calls.

              See CALLMASTER in the RULES section below for partials file specification.

       USEPARTIALS[=<ON|OFF>]
              Use the auto-complete utility (takes some practice...).

              Tlf will complete the call as soon as it is unique in the database.

              This  can  lead  to  strange  effects, but in practice there are far more hits than
              misses.  Sometimes you must edit the call because it has locked on a  unique  call.
              Try it, and switch it off when you don't like it.

       LOGFREQUENCY[=<ON|OFF>]
              Put  frequency (kHz) into QSO number to enable logging of frequency (only in QSO or
              DXPED modes).

       IGNOREDUPE[=<ON|OFF>]
              Enables logging multiple QSOs in a contest with the same station (considered a good
              idea  these  days  as  contest  bots  that  parse  the submitted Cabrillo file will
              determine such dupes (duplicate contacts)).

       SUNSPOTS=SSN
              Set the sunspots number value which is used to do a rough calculation  of  the  MUF
              (Maximum Usable Frequency).

              If the cluster interface is used the SSN will be updated by WWV or WCY messages.

       SFI=Solar_flux_value
              Set SFI used to calculate SSN.

              The  SSN  value  is  used  to  do  a  rough  calculation of the MUF.  If the packet
              interface is used the SSN will be updated by WWV or WCY messages.

       CHANGE_RST
              If set in logcfg.dat, PgUp and PgDown will change sent/received RST instead  of  CW
              speed if you are in call/exchange field and call field is not empty.

              Default is these keys only change CW speed.

       CHANGE_RST=33, 43, 47, 499, ...
              Provide a comma separated list of RS(T) values which are used for the sent RST.

              Received RST will always be 33–39, 43–49, or 53–59.

              Providing a value for T is optional but will be ignored.

              In CW and DIGI modes T will always be 9.

       NOB4[=<ON|OFF>]
              Do not send automatic “QSO B4” message.

              Default is to send such messages.

       NOAUTOCQ[=<ON|OFF>]
              No automatic CQ when pressing Enter or F12.

              Default  is  that  these keys will start an automatic CQ (see their descriptions in
              the KEYS section above).

       ESC_STOPS_TX_ONLY[=<ON|OFF>]
              Pressing ESC key does only stop sending CW or voice macros. No  further  action  is
              taken.

       SEND_DE[=<ON|OFF>]
              Sends a “DE” word before your callsign, as in “DE W1AW”.

              There  is  a  special  case;  if SEND_DE is present in logcfg.dat, and Tlf if is in
              :DIGimode, then the other station's callsign will be  sent  before  “DE”,  such  as
              “DL1A DE W1AW”.

       RESEND_CALL=FULL | PARTIAL
              Sends  the  full or partial callsign again at the end of the QSO in RUN mode if the
              call of the other station was corrected.  In case of FULL the whole  callsign  will
              be  sent  again.   If  the  value  is  PARTIAL,  then TLF figures out which part of
              callsign has to be sent. Eg.: if the received call  was  AB1CD,  but  later  it  is
              corrected to AB1CB, then CB is sent.

       SHOW_TIME[=<ON|OFF>]
              Show last worked time instead of QSO number in the worked window.

RULES

       The  contest  rules  can  be put into separate files.  Tlf will first look for a directory
       called rules/ in the working directory, and a file named for  the  contest,  for  example,
       cqww.    If   Tlf   cannot   find   such   a   file,  it  will  look  into  the  directory
       /usr/share/tlf/rules.  A rules file contains contest specific parameters like multipliers,
       scoring rules, CW and voice keyer messages, etc.

       Note: The rules file overrides settings from the logcfg.dat file!

       WARNING!   It  is your own responsibility to try these rules well BEFORE the contest.  The
       authors of Tlf cannot possibly check all rules for all contests :) and during the  contest
       there  is  normally  no  time  to  fix it.  Of course, Murphy's Law always applies!  These
       commands can generally appear in any order.

   RULES Configuration
       General configuration options for the RULES file.

       CONTEST=xxxxx
              Name of the contest (same as the file  name  contest_rules_filename  given  to  the
              RULES parameter referenced above in logcfg.dat).  Some contests, like CQWW and WPX,
              are pre-programmed.  Look for the relevant rules file in /usr/share/tlf/rules.

       LOGFILE=log_file_name
              Mandatory!

              By convention contest_rules_filename.log, but can be anything meaningful.

       CABRILLO=format
              Specify the name of the Cabrillo QSO and QTC line format.  For most cases UNIVERSAL
              is   a  good  choice.   For  further  Cabrillo  related  information  see  CABRILLO
              CONFIGURATION below.

       CONTEST_MODE[=<ON|OFF>]
              Sets Tlf into contest mode.

              Do not use this parameter for normal QSO logging!

       SHORT_SERIAL
              Uses short form for serial number (9=N, 0=T).

       LONG_SERIAL
              Uses long form for serial number (default).

       LEADING_ZEROS_SERIAL[=<ON|OFF>]
              Controls sending leading zeros in serial number. By default serial numbers are sent
              with (up to 2) leading zeros.

       NO_RST[=<ON|OFF>]
              Do  not  use RST in contest, such as for CW Open, ARRL Sweepstakes, ARRL Field Day,
              or various QSO parties and such events.

              In such a case when writing a Cabrillo log  format  template  you  must  provide  a
              conforming format definition without RST values.

       MIXED[=<ON|OFF>]
              Stations  can be worked in any mode (CW, SSB and DIG) on a given band without being
              counted as a DUPE.

       SSBMODE
              Start Tlf in SSB mode.

              If radio control is active, the radio will be placed in SSB mode,  if  not  in  SSB
              mode  already.  Normally Tlf starts in CW mode and will set the radio to CW mode if
              needed.

              Note: At this time Tlf does not follow mode changes on the radio.   When  switching
              modes use the :CW, :SSB, or :DIG commands to set both Tlf and the radio mode.

       CQWW_M2
              Put  the  node  ID  into the logline (just after the QSO number) to support Multi/2
              operation where the station logging the QSO must be in the Cabrillo file.  This can
              also be used for M/1 and M/M, to enable post-contest analysis of the nodes.

       FKEY-HEADER="short description of your defined F-keys"
              The  actual F-key assignments shown on the top of the main logging screen.  Maximum
              length           is           59.             The            default            is:
              “1=CQ  2=DE  3=RST 4=73  5=HIS  6=MY  7=B4   8=AGN  9=?”

       TUNE_SECONDS=tuning-seconds
              Specify  how many seconds you allow tune (Alt-T) remain active before automatically
              terminating transmit.

              Range: 1–100.

              The default value is 6, to  maintain  compatibility  with  previous  TLF  versions.
              After  100  seconds, tuning will automatically be terminated, to allow your PA (and
              perhaps you too ;-) ) to cool down a bit...

       CALLMASTER=callmaster
              Use a different file name as the callmaster database (default is callmaster in  the
              working directory).

              Often  downloaded  as  MASTER.SCP  from  the Supercheck Partials Web site.  See the
              PARTIALS and USEPARTIALS commands in the User Interface Commands section above  and
              the FILES section below for obtaining Supercheck Partials updates.

       BMAUTOGRAB[=<ON|OFF>]
              If  set  along  with  the  RADIO_CONTROL and BANDMAP (mandatory for this parameter)
              options, Tlf will grab the callsign from the bandmap, if the TRX (radio)  frequency
              is equal with the displayed bandmap frequency.

       BMAUTOADD[=<ON|OFF>]
              If  set  along  with  the  RADIO_CONTROL and BANDMAP (mandatory for this parameter)
              options, Tlf will add the callsign from callsign field, if at  least  3  characters
              have been entered.

              Use “S”kip dupes in BANDMAP settings to control if it should also grab dupes.

       SPRINTMODE[=<ON|OFF>]
              If set, Tlf will automatically switch its mode between LOG and S&P after every QSO.

       FLDIGI If  you  work  RTTY  (or  any other digital modes), you can communicate with Fldigi
              through XMLRPC.  This parameter activates the interface.

              By default Tlf connects to:

              http://localhost:7362/RPC2 ⟨http://localhost:7362/RPC2⟩.

              If   you   run   Fldigi's   XMLRPC   server    on    an    different    port    use
              FLDIGI=http://localhost:port_#/RPC2

       MINITEST[=NNN]
              Use this option when the contest is a minitest like contest.

              In such contests the full contest interval is divided into shorter sections (e.g. 6
              * 10 minute sections in an hour).  Any station can be worked once in  each  of  the
              time  sections  without  counting as a dupe.  The default length of the sections is
              600 seconds (10 minutes), but you can pass another value (in seconds) after the ‘=’
              sign.

              There must be an integral number of time sections per hour!

   CW, Digimode and Voice Keyer Macros
       The following parameters configure the CW, Digimode and voice mode keyer message macros.

       Macro characters in the message strings
              %  =  my call, @ = his call, # = serial number, [ = RST, + = increase cw speed, - =
              decrease cw speed, * = AR, = = BT, < = SK, ( = KN, !  = SN, & = AS, > =  BK,  !   =
              his  serial  (e.g.  confirm  exchange  of station in DIGimode), | = carriage return
              (only in digi mode messages).

       Be aware that unspecified digimode  messages  gets  the  value  of  their  CW  counterpart
       prepended with '|'.

       F1="cw message 1"
              CQ message, (e.g. CQ de PA0R TEST).

       F2="cw message 2"
              S&P call message, (e.g. @ de %).

       F3="cw message 3"
              Exchange message, (e.g. @ ++5NN--#).

       F4="cw message 4"
              TU message, (e.g. TU 73 %).

       F5="cw message 5"
              Call of the other station (e.g. @).

       F6="cw message 6"
              Your call (e.g. %).

       F7="cw message 7"
              QSO B4 message (e.g. @ sri qso b4 gl).

       F8="cw message 8"
              Again message (e.g. AGN).

       F9="cw message 9"
              Query message (e.g. ?).

       F10="cw message 10"
              QRZ message (e.g. QRZ?).

       F11="cw message 11"
              Please reply message (e.g. PSE K).

       F12="cw message 12"
              Auto-CQ message (e.g. +++TEST %---).

       CQ_TU_MSG="cw message 13"
              Auto Exchange message in CQ mode (TR-Log mode), (e.g. TU %).

       S&P_TU_MSG="cw message 14"
              Auto Exchange message in S&P mode (TR-Log mode), (e.g. TU 5NN #).

       S&P_CALL_MSG="cw message 25"
              Custom call message in S&P mode.

              Allows replacing the auto-generated S&P call message.

       Alt_0=<...> ... Alt_9=<...>
              Up to 10 additional messages.

       VKM1=voice message file name 1 ... VKM12=voice message file name 12
              Use F1 ... F12 keys to send recorded messages for phone.

       VKCQM=voice_message_file_name
              Auto Exchange voice message in CQ mode (TR-Log mode)

       VKSPM=voice_message_file_name
              Auto Exchange voice message in S&P mode (TR-Log mode)

       DKF1=digi keyer message 1 ... DKF12=digi keyer message 12
              Use F1 ... F12 keys to send recorded messages for digital.

       DKCQM=message
              Auto Exchange TU digi message in CQ mode (TR-Log mode)

       DKSPM=message
              Auto Exchange TU digi message in S&P mode (TR-Log mode)

       DKSPC=message
              Auto Exchange call digi message in S&P mode (TR-Log mode)

   Scoring
       The following parameters configure Tlf's scoring calculations.

       ONE_POINT
              One point per QSO (regardless of mode).

       TWO_POINTS
              Two points per QSO (regardless of mode).

       THREE_POINTS
              Three points per QSO (regardless of mode).

       CWPOINTS=d
              Points per CW QSO.

       SSBPOINTS=d
              Points per SSB QSO.

              Note: SSBPOINTS and CWPOINTS need to be set for both to work!

       MY_COUNTRY_POINTS=d
              Points for working your own DXCC entity (often zero (0)).

       MY_CONTINENT_POINTS=d
              Points for working countries in your own continent.

       DX_POINTS=d
              Points for working a station in other continents.

       2EU3DX_POINTS
              Deprecated.

              Use MY_CONTINENT_POINTS and DX_POINTS instead.

       COUNTRY_LIST_POINTS=d
              Points for countries in country list.

       USE_COUNTRYLIST_ONLY[=<ON|OFF>]
              Score zero points for countries not in the list.

       COUNTRYLIST="comma separated list of prefixes"
              e.g. SM,LA,OZ,OH.

       COUNTRYLIST=file_name
              File  with  a  list of prefixes.  It can contain multiple records (lines).  The one
              starting with the current contest name is selected.  E.g. Scandinavia:SM,LA,OZ,OH.

              Not to be confused with so-called "country" files maintained by AD1C.

       PORTABLE_MULT_2[=<ON|OFF>]
              Multiply points x2 for portable stations (e.g. R1 field day).

       LOWBAND_DOUBLE[=<ON|OFF>]
              Double all points for lowband (40, 80, and 160m) QSOs (can  be  combined  with  any
              other value).

              (Will be deprecated in future! Use BANDWEIGHT_POINTS instead.)

       POWERMULT=power_multiplier
              Use this value to multiply the final points.

              If  the  contest  rule  allows  one to use the power multiplier (such as Stewperry,
              ARRL-FD, various QSO parties), set it here.

              Note: The value type of POWERMULT is a float, as in POWERMULT=1.5,  but  the  final
              score  will  be rounded by the C library floor(3) function, which gives the largest
              integer value that is not greater than multiplied score.

       WYSIWYG_MULTIBAND[=<ON|OFF>]
              Exchange is the multiplier, per band, whatever you enter.

              Tlf builds its own list of multipliers as QSOs are logged.

       WYSIWYG_ONCE[=<ON|OFF>]
              Exchange is multiplier, whatever you enter.

              Counts once per contest, not per band.

       WAZMULT[=<ON|OFF>]
              Multiplier is the CQ zone (per band).

       ITUMULT[=<ON|OFF>]
              Multiplier is the ITU zone (per band).

       PFX_MULT[=<ON|OFF>]
              Multiplier is prefix (PA0, DA2, VE7, etc.).

              Counts once per contest, not per band.

       PFX_MULT_MULTIBAND[=<ON|OFF>]
              Same as WPX, but the WPX only used CQ-WW-WPX, and there a single prefix  multiplier
              only once, not all band.

              With this option, the PFX counts as multiplier on all band.  This usable in the All
              Asia DX contest (AA-DX).

       COUNTRY_MULT[=<ON|OFF>]
              Multiplier is the DXCC entity (per band).

              Relies on a so-called "country" file by AD1C.  An outdated version is  supplied  in
              /usr/share/tlf/cty.dat.  See the FILES section below.

       MULT_LIST=file_name
              Name of multipliers file (often sections, provinces, states, counties).

              May  contain  comment lines starting with “#” in the first column.  Each multiplier
              resides on a single line by itself.

              Starting from Tlf-1.4 aliases may be  defined  for  the  multipliers.   Define  the
              aliases as:

                  multiplier:alias1,alias2,alias3

              If you log a QSO with one of the aliases it will be counted as the multiplier.  You
              can have more than one line for the same multiplier.

              This is useful for state QSO  parties  as  an  instate  participant  where  instate
              operators  exchange  county  abbreviations  rather than the state but the state can
              only count once (Kansas QSO Party is once such example).

       SECTION_MULT[=<ON|OFF>]
              Multiplier is section from multipliers file.

              Counts per band.

       SECTION_MULT_ONCE[=<ON|OFF>]
              Multiplier is section from multipliers file.

              Counts once per contest, not per band.

       CONTINENTLIST="comma separated list of continents"
              Valid values are: SA, NA, EU, AF, AS and OC.

       CONTINENT_LIST_POINTS=d
              Points for stations from continents in CONTINENTLIST

       USE_CONTINENTLIST_ONLY
              Score zero points for station from continents not in the list.

       BANDWEIGHT_POINTS
              Define a point weighting factor for different bands.

              For example, setting:

                  BANDWEIGHT_POINTS=160:3,80:2,40:1,20:1,15:1,10:2

              for use in the All Asia DX (AADX) contest will multiply all  QSO  points  by  3  on
              160m, by 2 on 80m and 10m and on all other bands only by 1.

              Bands not in the list are weighted by 1.

       BANDWEIGHT_MULTIS
              Allow a weighting factor for multipliers on different bands.

              For example, setting:

                  BANDWEIGHT_MULTIS=80:4,40:3,20:2,15:2,10:2

              for  use  in  the  Worked All Europe DX Contest (WAEDC) will multiply the number of
              multipliers on 80 by 4, on 40 by 3 and on 20/15/10 by 2.

              The multiplication is executed after any other multiplier calculation.

              Bands not in list will be weighted by 1.

       PFX_NUM_MULTIS
              In WAEDC (and maybe with other contests too)  the  multipliers  are  the  different
              countries, but there are some exceptions where the prefix of certain countries is a
              different multiplier.

              In WAEDC these countries are: W, VE, VK, ZL, ZS, JA, PY,  RA8/RA9  and  RAØ.   With
              this option, you can define the country prefixes:

                  PFX_NUM_MULTIS=W,VE,VK,ZL,ZS,JA,PY,UA9.

              Tlf  will read this list, perform a lookup in a countrylist for a country code, and
              that code will be used.  If you include the UA9 prefix and then make a QSO  with  a
              station  from  Asiatic Russia, the PFX number will evaluated with a new multiplier,
              but European Russia will not.

       EXCLUDE_MULTILIST
              Some contests have a  special  multipliers  list,  which  is  easier  to  write  by
              excluding a predefined set.

              For  example, the main set could be COUNTRY_MULT, and you need to exclude from that
              list just a  few  countries,  (e.g.  the  SAC  contest  excludes  the  Scandinavian
              countries   as  they  are  not  multipliers).   In  that  case  you  can  use  this
              configuration:

                  COUNTRY_MULT
                  COUNTRYLIST=JW,JX,LA,OF1,OF0,OJ1,OJ0,OX,OW,OZ,SM,TF
                  EXCLUDE_MULTILIST=COUNTRYLIST

              Another useful example is the WAEDC RTTY contest where all stations can  work  each
              other,  however,  for EU stations only the non-EU stations are the multipliers, and
              the opposite for non-EU stations where only the EU stations  are  the  multipliers.
              In that case the EU stations can use this configuration:

                  CONTINENTLIST=EU
                  COUNTRY_MULT
                  EXCLUDE_MULTILIST=CONTINENTLIST

              and all countries are multipliers, except for the EU stations.

              Also, in this contest the non-EU stations can use this configuration:

                  CONTINENTLIST=SA,NA,AF,AS,OC
                  COUNTRY_MULT
                  EXCLUDE_MULTILIST=CONTINENTLIST

              and  all  EU countries are multipliers and not those from the SA, NA, AF, OC and AS
              continents, so only the EU stations remain as multipliers.

       UNIQUE_CALL_MULTI=ALL|BAND
              Multiplier is the callsign.

              The argument tells Tlf, how to score the callsigns as multipliers:
              ALL means the callsign is a multiplier once per the contest, independent of band.
              BAND means the callsign counts as a multiplier per band.

       GENERIC_MULT=NONE|ALL|BAND
              Use generic multiplier determined by the contest plugin.

              The argument specifies the multiplier counting rule (see above).  Default value  is
              NONE (disabled).

       PLUGIN_CONFIG
              Specifies  the  argument  to  the  contest  plugin's init function.  See the PYTHON
              PLUGIN section below.

   Exchange
       The following parameters configure Tlf's handling of the exchange.

       SERIAL+SECTION[=<ON|OFF>]
              Exchange is serial number and section, multiplier is section from multiplier file.

              Counts per band.

       SERIAL_OR_SECTION[=<ON|OFF>]
              Exchange is serial number or section.

              This option is similar to SERIAL+SECTION, except the exchange could be a serial  OR
              the  section.   This  option  was  introduced for HA-DX, where HA stations give the
              shortest form of their county, other stations give serial.

       SERIAL+GRID4[=<ON|OFF>]
              Exchange is serial number and grid (e.g. 001  JO21QI),  multiplier  is  4-character
              grid (JO21).

              Counts per band.

       DX_&_SECTIONS
              Multiplier is DXCC country or section from multiplier file.

       RECALL_MULTS
              Exchange  can be recycled, will be filled into exchange field when it is known (see
              also INITIAL_EXCHANGE).

       INITIAL_EXCHANGE=exchanges.txt
              The file must contain a comma-separated list of exchanges.

              If the exchange is the name of the operator, the file should contain lines like:

                  PA0R,rein
                  PG4I,joop
                  OK1RR,martin

              If RECALL_MULTS is set, Tlf will look in this list for the exchange and fill it  in
              for  you.   There  are various contests which have a standard exchange, such as the
              FOC Marathon.  The module also recognises embedded calls (e.g. CT3/PA0R/QRP).

       CONTINENT_EXCHANGE[=<ON|OFF>]
              Exchange is a continent (NA, SA, EU, AS, AF, OC).

       SERIAL_EXCHANGE
              Exchange is a serial number (formats  received  exchange  and  configures  Cabrillo
              exchange).   Set  this  only  if  both sent and received exchanges are plain serial
              numbers.

       MYQRA  For the “Stewperry” contest, this option  is  used  to  set  the  QRA  (Maidenhead)
              locator, (e.g. JN97, or the full form: JN97OM).

              In  Stewperry, the points are calculated based on the distance between the stations
              as calculated between this setting and the locator entered into the exchange field.

   QTC
       The following parameters configure Tlf for  the  Worked  All  Europe  DX  Contest  (WAEDC)
       exchange of QTCs.

       QTC=direction
              Send or receive QTCs in a contest (usually on WAEDC).

              direction is one of: RECV, SEND, BOTH

              Note:  Currently  just  the  RECV  direction is implemented.  For more information,
              please see the /usr/share/doc/tlf/Manual.md file.

       QTC_CAP_CALLS=list_of_qtc_capable_callsigns.txt
              Indicate that the station is QTC capable and highlight it in the bandmap or  worked
              window.

              Put the callsigns of such stations in a file in the working directory, one callsign
              per line, and give its name as an argument to this parameter.

       QTC_AUTO_FILLTIME[=<ON|OFF>]
              If you use the QTC feature and you are an EU station in CW or SSB modes,  then  you
              can only RECEIVE the QTCs.

              Most  sending  stations  send  their  QTCs as a short form.  For example, after the
              first line the first two characters of time field are not sent.

              If you set this option, then when you fill the first QTC line, Tlf  will  fill  the
              other time fields, but only the first two characters.  If you change the hour (e.g.
              if there is a time of 2059 and the next one is 2100), then  all  next  time  fields
              will be changed.

       QTC_RECV_LAZY[=<ON|OFF>]
              If  you use the QTC feature, and you are an EU station in CW or SSB modes, then you
              can use this feature.

              By default, Tlf validates all received QTC lines (i.e. the time field must be  four
              characters long; callsign and serial fields must not be empty).

              If you set this parameter, Tlf will not perform validation.

CABRILLO CONFIGURATION

       This section covers the configuration of Cabrillo processing.

       The fields of the generated Cabrillo file can be either

         • set to a fixed value,

         • input interactively,

         • or disabled.

         Note:  A  template  file defines the values used in the headers of the Cabrillo file.  A
         format file defines the fields of the QSO lines in the Cabrillo file.

   Using a Cabrillo template
       A Cabrillo template is used to provide station specific values that will  be  placed  into
       the  generated Cabrillo file.  Tlf will not prompt for values listed in this file when the
       :WRI command is issued.

       Note: The template keywords are the same as the parameters below with the CABRILLO- prefix
       omitted.  Cabrillo keyword definitions can be found at the World Wide Operators Foundation
       ⟨https://wwrof.org/cabrillo/⟩ Cabrillo specification page.

       CABRILLO-TEMPLATE=file.cbr
              The specified file is parsed and the values from relevant lines are taken the  same
              way as if they were added via a config file.

              The header, footer, comment and QSO lines are ignored.

              One  can,  for  example, re-use a file from a previous contest or use a sample file
              provided for the contest.  Another possibility is to summarize the station-specific
              values  in  a  station.cbr  file  (see  as  an  example /usr/share/doc/tlf/station-
              sample.cbr).  As multiple CABRILLO-TEMPLATE parameters can be specified, it  allows
              for separating the contest and station specific parts.

              This  is  an  optional  configuration  as  the  same effect can be reached by plain
              configs (via the logcfg.dat and rules files).

              Note: The CABRILLO- prefix is required in the config files.

   Internal configuration
       Following parameters control the generation of QSO lines.

       CABRILLO-EXCHANGE=format
              Specifies the sent exchange format.

              The hash mark (“#”) stands for QSO serial number.  For  a  contest  using  a  fixed
              exchange enter the value here (limited to 39 characters).

       CABRILLO=format
       CABRILLO-QSO-FORMAT=format
              Set  the  format  of  QSO  and  QTC lines including the separator character for the
              received exchange.

              The format descriptions  are  contained  in  cabrillo.fmt  either  in  the  current
              directory or in /usr/share/tlf.  The specified format file is used both to generate
              Cabrillo  output  and  also  for  Cabrillo  import.   For  technical  details   see
              /usr/share/doc/tlf/Manual.md.

              A  cabrillo.fmt  format  file is used to generate a Cabrillo file when a predefined
              format  in  /usr/share/tlf/cabrillo.fmt  does  not  exist.   For  many  events  the
              UNIVERSAL  format  is adequate, otherwise you'll need to roll your own based on the
              log submission rules of the contest organizers.

   Configuring header information
       Cabrillo header fields can be set using the keywords listed below.  The value assigned  to
       the keyword controls the processing of the field:

         • value not in parentheses, e.g. “9ACW” taken verbatim,

         • value  in  parentheses, e.g. “(YES,NO)” will be asked interactively, with the provided
           text as hint

         • a single dash ”-“ value disables the field (neither  asked  nor  output)  keeping  its
           value,

         • no  value  (i.e. a keyword without equal sign) just enables the field without changing
           its value.

       Note: The order of the headers in the Cabrillo file is fixed and independent of the  order
       they are present in a config or template file.

   Header Keywords
       Note: These keywords and the internal ones can also be used in a Cabrillo template just by
       removing the CABRILLO- prefix and using ”:“ as value separator.

       CABRILLO-CONTEST
       CABRILLO-CATEGORY-ASSISTED
       CABRILLO-CATEGORY-BAND
       CABRILLO-CATEGORY-MODE
       CABRILLO-CATEGORY-OPERATOR
       CABRILLO-CATEGORY-POWER
       CABRILLO-CATEGORY-STATION
       CABRILLO-CATEGORY-TIME
       CABRILLO-CATEGORY-TRANSMITTER
       CABRILLO-CATEGORY-OVERLAY
       CABRILLO-CERTIFICATE
       CABRILLO-CLAIMED-SCORE
              (Score value is replaced with the calculated score.  It can  be  disabled  but  not
              set.)
       CABRILLO-CLUB
       CABRILLO-LOCATION
              (Locator automatically filled, if enabled and MYQRA is set.)
       CABRILLO-GRID-LOCATOR
       CABRILLO-NAME
       CABRILLO-EMAIL
       CABRILLO-ADDRESS
              (3 generic address lines available)
       CABRILLO-ADDRESS(2)
       CABRILLO-ADDRESS(3)
       CABRILLO-ADDRESS-CITY
       CABRILLO-ADDRESS-STATE-PROVINCE
       CABRILLO-ADDRESS-POSTALCODE
       CABRILLO-ADDRESS-COUNTRY
       CABRILLO-OPERATORS
       CABRILLO-OFFTIME
       CABRILLO-SOAPBOX
              (3 soapbox lines available)
       CABRILLO-SOAPBOX(2)
       CABRILLO-SOAPBOX(3)

PYTHON PLUGIN

       Tlf uses Python plugins to customize or extend functions beyond the built-in features. Two
       notable use cases are adding a specific scoring logic and determining multipliers.

       The Python plugin file is loaded the same way as the RULES file but the file must have  py
       extension.

   tlf Python module
       Tlf core functionality and constants can be accessed via the pre-imported tlf module.

       Constants
         CWMODE: int
         SSBMODE: int
         DIGIMODE: int
         MY_CALL: str
         MY_LAT: float
         MY_LONG: float

       Functions
         def get_qrb_for_locator(locator: str) -> Qrb:
              Returns the distance (in km) and bearing (in degrees) to the specified locator from
              the current location.
         def get_dxcc(call: str) -> Dxcc:
              Returns the DXCC information for the given call using the cty.dat file.

   Data structures
       Qso
         call: str         callsign
         exchange: str     received exchange
         band: int         band in meters
         mode: int         one of tlf.CWMODE, tlf.SSBMODE or tlf.DIGIMODE
         utc: int          time in integer seconds since epoch

       Qrb
         distance: float   distance in km
         bearing: float    bearing in degrees

       Dxcc
         country_name: str
         main_prefix: str
         main_cq_zone: int
         main_itu_zone: int
         main_latitude: float
         main_longitude: float
         main_continent: str
         main_timezone: float
         starred: bool
         prefix: str
         cq_zone: int
         itu_zone: int
         latitude: float
         longitude: float
         continent: str
         timezone: float
         exact: bool

   Functions
       All plugin functions are optional.

       def init(cfg: str) -> str:
              Called once on Tlf start up. It shall initialize the internal state of the plugin.

              The parameter cfg contains the value provided to PLUGIN_CONFIG. It can be  used  to
              control  the internal logic of the plugin. If no PLUGIN_CONFIG is specified then an
              empty string is passed.

              The return value is a string specifying the  minimal  required  Tlf  version  (e.g.
              '1.5'). In case of no version dependency None shall be returned.

       def setup() -> None:
              Called whenever the QSO list is initialized (e.g. on inital loading of the log file
              or before rescoring it). It shall reset any internal structures related to QSOs.

       def score(qso: Qso) -> int:
              Called before actually logging a QSO.  It shall return a non-negative score value.

       def check_exchange(qso: Qso) -> Dict[str, str]:
              Called when exchange is received or updated.  From the  returned  dictionary  these
              (optional) entries are evaluated:
                 mult1_value: str
                 normalized_exchange: str

              mult1_value  is  used  as a multiplier without further conversion.  The handling of
              this multiplier is controlled by the GENERIC_MULT parameter.

              normalized_exchange replaces the received exchange in the finally logged QSO.

FILES

       /usr/share/tlf/logcfg.dat is a recent example of a generic configuration file.   Tlf  will
       copy  it  into  the  current  working  directory  if  it  does  not find one there.  It is
       recommended to copy it into the working directory and edit it to match the contest.

       It contains, amongst other settings, the name if the rules file,  your  call,  info  about
       ports for CW keying, packet or rig control, etc. related to your station.  You should test
       your settings well before the contest!

       /usr/share/tlf/rules/contestname contains the rules of  the  various  contests.   You  can
       easily  write  one  for  your  favourite  contest making use of the various multiplier and
       points capabilities.  Test it before the contest and send a message to the Tlf development
       list ⟨tlf-devel@nongnu.org⟩ if anything is wrong (or right!).

       It contains name of the log file, contest rules, points, multipliers, and other parameters
       related to the contest,

       /usr/share/tlf/cty.dat contains a flat ASCII database of info about countries.

       This is the same file as used by CT or TR-Log.   Updated  versions  from  Jim,  AD1C,  are
       available from: Country Files ⟨http://www.country-files.com/⟩.

       Tlf  looks  for this file first in the current working directory, so an update is possible
       without root rights to replace the package installed version (likely well out of date).

       /usr/share/tlf/callmaster contains a flat ASCII database of known contest callsigns.

       Updates are available from Super Check Partial ⟨http://www.supercheckpartial.com/⟩.   Save
       the  master.scp  file as callmaster in the working directory (or use CALLMASTER=master.scp
       to use the default file  name).   It  will  take  precedence  over  the  system  installed
       callmaster file which is likely well out of date.

       Section  files  contain  a  flat  ASCII  database  of  multipliers  like states, sections,
       provinces,   districts,   names,   ages,   etc.     They    are    used    by    including
       MULT_LIST=section_file_name in the rules file.

       Some  of  these  files  are  supplied  by Tlf while others will need to be written by you.
       Please offer your files to the developers for inclusion in the distribution or  placed  on
       the Wiki (see below).

DOCUMENTATION

       The documentation page at GitHub ⟨https://tlf.github.io/⟩ contains some more information.

       An FAQ and other useful tips are installed /usr/share/doc/tlf.

       The  project  Wiki  ⟨https://github.com/Tlf/tlf/wiki⟩  will  host various contest specific
       information and files.

BUGS

       Please send bug reports to the Tlf development list ⟨tlf-devel@nongnu.org⟩.

AUTHORS

       Tlf was originally written by Rein Couperus ⟨pa0r at eudxf.org⟩ aka Rein Couperus ⟨rein at
       couperus.com⟩ and is maintained from 2009 onward by Thomas Beierlein ⟨tb at forth-ev.de⟩.

       A  lot of valuable contributions have been received from PG4I (Joop PA4TU), PA3FWM, LZ3NY,
       VA3DB, OM4AA, OK1RR, DH5FS, G4KNO and various other contributors.  (See the  AUTHORS  file
       for more).  Thanks to all for improving Tlf!

       Beta testers and feedback are always welcome!