mymalog --- the TF3MA TCL/TK logging program
Þessi síða hefur verið heimsótt
sinnum síðan
Fös Maí 2 21:04:21 GMT 2003
My own simple logging program written in
Tcl/Tk
runs on Linux and it uses MySQL table to store entries.
Features
- Written in TCL/TK and runs on most Un*x platforms, GPL licence
- Small footprint, < 3000 TCL/TK code lines are less than 100k
- Multiple logbooks in database
- Operating portable or abroad? Just edit the rc-file to change your callsign
- Uses MySQL table to store logfiles
- MySQL database dump for easy backup and copying.
- Previous QSO lookup, with MySQL regular expressions
- Easy to type in your old paperlog entries
- Editing of old logfile entries using a popup window
- Contest logging with auto increment serial numbering
- Cabrillo, ADIF and text file export
- ADIF file import
- DXCC lookup of country and prefix
- Distance and bearing to the other station using gcb
- Auto callsign lookup from qrz.com using Mozilla
- Crude DXCC statistics, displaying country, band, prefix count
- QSL tracking and label printing
- SWL label printing
- Elecraft K2 rig control, Band, Freq and Mode tuning/switching/logging.
Automatic connection to K2, when K2 is turned on.
- User configured CW macros for F1 to F8 buttons and a simple CW terminal for K2 internal keyer
- Setup and macros stored in a .***rc file.
- rcfile editing using a popup window
- On start the last session (ie. QSO mode, etc) is restored, as well as the serial number, if it is a contest
- PTT button.
- Using a remote X terminal and linphone or kphone (VoIP) for audio transfer.
You can operate the K2 across a network.
- From version 2.00, uses hamlib to get info from rig.
Download
Be free to download the TF3MA mymalog logging program (GPL)
- As a tar archive mymalog.tgz
- As a Debian package mymalog_2.14_all.deb to install: dpkg -i mymalog_2.14_all.deb,
ignore dependancy problems and then do: apt-get -f install.
- Or individual packages mymalog
and manual.txt
and INSTALL
and setup instructions
and to_my a converter for converting old
textfile format logfiles to mysql.
- The OLD TF3MA MALog.tcl logging program (GPL)
MALog.tcl
- Get the DXCC file from
ARRL
and install it in your library directory, remember to convert it to unix format
using dos2unix dxcck2di.txt.
See setup.txt for instructions how to modify the dxcc file to better
work with mymalog, only a few lines :-).
If you do not use Debian based installation program you need to
download the the following programs and install them on your computer
- MySQL
Install mysql-server and mysql-client
The MySQL web site is
MySQL homepage.
apt-get install mysql-server mysql-client if using Debian.
- mysqltcl
mysqltcl freshmeat
to get the source.
apt-get install mysqltcl if using Debian
- gcb
gcb source for the
source
apt-get install gcb if using Debian
- I recommend hamlib and hamlib-tcl to be set up on your computer see
Hamlib sourceforge
for the source
apt-get install hamlib3-tcl if using Debian.
- Download the labelnation program from
labelnation homepage
and install it
Description
Callsign entry shown in the info window can be changed/removed from the logfile, by
double clicking with left mouse button.
Information from the DXCC file (dxcc, zone, itu, ..) are added to the logfile
entry, the Info button will
display some crude DXCC statistics (needs more work).
Here is the basic structure of the logfile
MY_CALL QSO_DATE TIME_ON CALLSIGN BAND MODE RST_SENT STX RST_RCVD SRX CQZ ITUZ STATE QSL_SENT QSLSDATE QSL_RCVD QSLRDATE NAME QTH TIME_OFF RIG
FREQ TX_PWR RX_PWR CONTEST_ID DXCC PFX CONT COUNTRY CNTY IOTA VE_PROV QSL_VIA NOTES ANT
Here is a sample of a an actual logfile entry with DXCC and country info.
TF3MA 20011224 2100 VK4AFO 20m SSB 59 {} 43 {} 29,30 55,58,59 {} Y 20011224 I {} Aub {Cains, +33C} 2112 K2 {} 15 {} QSO VK VK4 Oc Australia {} {} {}
The program uses gcb to calculate
short and long-path bearing and distance to the other station.
The linux package name is gcb, it must be installed for this
feature to work.
History
I wrote this program in TCL/TK language when I started to convert my old
paper-log to electronic form. The GUI layout is modeled after my old paper-log
with the fields in the same order to facilitate inputting the data.
I also wanted to minimize the keystrokes required to input the data from
the paper-log, so I automatically jump to the next field when the current
is filled, this can be done for the date, time, RST fields but I use TAB
for the other fields which do not have fixed length. The mouse can also
be used to select a field. The complete input-line is then moved to the
log-file by pressing F9 or using the mouse to press the LOG button.
I used a plain text file with one entry per line and fields separated
with |. This was later changed to TCL list format to speed up reading
and writing of the log-file.
During Nov 2003 I changed the program to use MySQL table to store the logfile.
Logging and QSL tracking/printing
I then started to use the program to do my logging, I had to change it
a little, like using the computer to provide the current date and time values.
I added QSL tracking and printing of labels for QSL cards for QSO and SWL.
The output text is appended to the file qsl.txt in the logfile dir.
I use the following script to make the QSL labels.
labelnation -d "-----" -p parfile.3x11 -l -i qsl.txt -o qslout.3x11.ps

the parfile.3x11 is my parameter file for 3x11 labels.
You do not need to write all 33 labels at once, just delete the text and
leave the "-----" and the labenation program will skip the label.
Old QSO's and DXCC lookup
I also added the provision to look up callsigns in the log-file, to
check for previous contacts.
The callsign field accepts MySQL regular expressions patterns,
so putting an underscore _ or %
lists all the callsigns in the main window. K%6 lists all K6 to
KZ6 contacts.
Then came the dxcc list lookup, which I do
by reading in the dxcc file and parsing it, building a regular expression
array which is used to match the callsign as soon as the first character/digit
of the callsign is inputted. Now the country and zone information and the
prefix are also stored in the log-file.
Contesting and ADIF, Cabrillo, ASCII and PS exporting
Cabrillo and ADIF formatted export was later added, as well as some
contest features like automatic serial numbering of QSO's.
You find the .cab, .adi, .txt and .ps files in the logfile directory.
ADIF importing
Data from a ADIF file can be imported, the file should have the extension
.adi or .adif and reside in the logfiles directory.
GUI language
All the texts in the GUI are in icelandic language, but I added
a simple means of changing the GUI language by storing the text
in an array, so now it is simple to add a new language to the GUI.
Rig control --- K2 and Linux
Information from the K2 rig, is read via the serial port, the BAND, MODE and
FREQ fields are updated with the info from the rig,
by sending the K22;AI1; string to the K2 once and and using fileevent
to read from the rig every time it sends IF response.
A watchdog monitors when the K2 is turned on and then activates the
serial connection to the K2, it then sets the K2 mode to K22;AI1;.
Now MATerm.tcl morse terminal with
K2 controls can be run from the program, it will open in a separate window.
Left Button on mouse on the Freq label will enable the Auto info mode on K2.
Right Mouse Button on the Freq label will disable the Auto info mode.
Left button on Band label will switch K2 to the next higher band, rigth button
switches to the next lower band. MouseWheel on Freq label will tune the K2,
with the tuningrate of 50Hz, with Shift-MouseWheel at 1kHz rate,
and with Control-MouseWheel at 10Hz rate.
Left mouse click on Mode label will toggle the Mode on K2.
F1 to F8 buttons are now sending cw messages to the K2 internal keyer,
as defined in the .xxxxrc file. These
are user defined with some variable substitution, like sending the serial
number and the callsign of the other station.
Pressing F10 brings up a small morse terminal window,
just type a word/character in the terminal window
an your K2 will send the word/character using the internal keyer. Pressing
F10 toggles between live key sending and word sending.
Running the program
On first time run the program asks for your callsign and a password for
the database, just put in any password you like or none. It then
creates the .xxxxrc file. You have to ask your MySQL admin to
grant you access to the database.
Upon start the program reads the rc file with the name .xxxxrc
where xxxx is the name you choose for the installed program.
In the rc file is the name of the logbook table
and the directory for the dxcc file and some other information.
The RIG, TX_PWR and ANT infos are now read as a TCL lists from the rc file.
The BAND, MODE and CONTEST_ID lists are also read as TCL lists from the rc file.
When connected to K2, the TX_PWR is taken from the K2.
Use more than one logbook i.e. logbook for day to day logging and contest
for contest logging. Switch between logbooks using the File menu button.
Printing QSL labels is by pressing the Se button.
The QSL label for the callsign in the QSL window is printed.
The Info button displays some DXCC statistics.
The information is from the first entry or
the one specified by the OFFSET# or from the selected QSO#
Using the File button you can export the log in ADIF, Cabrillo,
ASCII (PostScript) format
The exported entries start from same point as the Info
and proceed to the end of the file.
The EQSL export is special, it makes an ADIF file and stores the offset in the
.xxxxrc file, so you do not send the same info twice.
Clicking the left mouse button on an entry in the big window selects the
entry.
The callsign in the big window can be edited by double clicking on the entry.
A separate edit window does the popup on the screen.
Use Edit rc file for adding more logbooks, just add the name of your new logbook
to the DATABASE entry, and SAVE and you have to restart the program. Use the
Logbook menu in the File menu to select a logbook to use.
Performance
My current logfile has but 5.000 entries and there is no speed problem
on a 1GHz PIII Linux machine, its filesize is about 600k
and the resident size of the
running program in the computer memory is about 18M.
GUI example 1
This is how the my icelandic GUI looks.... in normal QSO mode

GUI example 2
This is how the same looks using the english GUI

.mymalogrc for TF3MA
This is the edit window for the my rc file
Last updated
sun júl 2 14:45:10 GMT 2006
Windows version
Hrafnkell TF3HR has modified the program so it now runs on Windows.
See program source for details.
Remote operation of K2
The program can be used to operate the K2 across a network. On Linux this is
done by invoking the program on a remote X-terminal.
With linphone or kphone VoIP one can receive and transmit audio from/to the K2.
CW and SSB operations are possible. For better remote control of the K2,
MATerm can be used.
Digital modes can be used from a remote X-terminal without the VoIP,
as we do not need to send any audio across the net.
The harware needed for remote CW and SSB operation of K2 is the same as needed
for the digital modes i.e. input and output are via the soundcard.
PTT and control is done via RS-232 on the local machine.
CW uses the internal keyer of the K2.
More TCL/TK programs for K2
Back