Copyright Larry Tyree, N6TR, 2011,2012,2013,2014,2015. This file is part of TR log for linux. TR log for linux is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. TR log for linux is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with TR log for linux. If not, see . 0.49 - Added "WRTC 2018" contest - Deleted "WRTC 2002" contest - Added UDP score reporting URL for WRTC2018 - Worked on improved Alt-D multiplier display. - Fixed bug where CQ on radio 2 overwrote bandmap - Fixed bug where only the first parallel port was found. - When DVKRadio enabled, send stop dvk whenenver alt-r changes rig 0.48 - Online score reporting added. All options must be manually configured. 0.47 - Added latch mode for yccc so2r box. - Added DVK radio commands to access rig's voice keyer as a DVK 0.46 - Changed postcab to write CABNAME.DAT to $HOME/.trlog if it isn't already somewhere else that the program can find. 0.45 - Removed test for short names in TRMASTER.DTA - Forced autospace off in YCCC box. Complain if you want this to be a LOGCFG.DAT parameter. 0.44 - Fixed problem with DVK CONTROL KEY RECORD which continued to play F keys rather than control keys. 0.43 - Added DVK CONTROL KEY RECORD as a LOGCFG.DAT command. Default is true. Setting this to false makes the control keys act normally with a DVK rather than triggering record on the corresponding not control key memories. It can be set from the control-j menu. - Fixed bug where, with the DVK/DVP, when a alt-d call is waiting, hitting the space bar did not abort the cq in progress. 0.43 - Changed default LogFrequencyEnable to true for CQWW and Russian DX, so that exact frequencies (to 1KHz) will be logged by default as now required for competitive entries. For other contests the default remains false. - Changed the rig control so that it will be easier to add new rigs and updates. This has been limited testing with Elecraft/Kenwood and Icom rigs. FTDX5000 and FTDX3000 rigs have been added but not tested. There is also a new RIGCTLD rig which invokes the hamlib rigctld program. Hamlib needs to be installed if you want/need to use RIGCTLD. Otherwise, it is not needed. Support for the Tentec Orion, JST245 and some older Yaesu rigs (FT100, FT1000, etc.) have not yet been updated to the new rig control. These will require rigctld and hamlib until their classes are written. (Or revert to an old version.) Various changes to get icom/kenwood/rigctld to work. 0.42 - Added support for using yccc so2r box pins 18:24 to control an external dvk. To enable set: dvk port = yccc in LOGCFG.DAT. Pin 18 is DVK0, abort. Pins 19-24 or pulsed by DVK1-DVK6. - Added source flag to compile for console only. 0.41 - Fixed bug where setting band map dupe display = false caused the code to segmentation fault due to dereferenced bandmap nil pointers. 0.40 - Fixed missing chr(0) from end of url for country file CTY.DAT. - Prepared for open source release under GPL. Added copyright notices and the license files. 0.39 - Reverted flashing fix of 0.37 until I study code more. - Fixed bug where YCCC SO2R box switched the transmit rig back before the ptt tail time had expired when transmitting on the inactive rig. 0.38 - Made the child process that creates the shell in the control-b packet window a new session so its pseudo tty can be its controlling terminal. This turns on job control: control-c, control-z, etc. in the forked shell. - Added arrow keys to the control-b packet window input, so they send the correct sequences to the shell to give a command history. Note that Tr has to emulate a terminal internally to make this work, so it only emulates the simplest glasstty. The history editing is rather minimal if you use the default emacs inputrc. (vi mode is somewhat more powerful.) 0.37 - Added a post option under utilities U then Y to download a new CTY.DAT file from http://www.country-files.com/cty/cty.dat which should make it a little easier to stay up to date. This uses libcurl which is a standard linux library. - Fixed bug where the display flashed/flickered like mad when a rig was tuned to a duped band map entry. This bug was in the original DOS version. 0.36 - Included call to ask for low latency for USB serial ports. This may already be the driver default, but if not, it should make FTDI chips more responsive. - Fixed bug where sound files were not being closed after playing. - Made shifted alt keys the same as alt, etc. Caps lock can be used without causing the alt keys to stop working. - With this version I have changed the compilation environment. Previous 32 bit versions were compiled on a Slackware 13.37 machine, and the 64 bit versions on a cinnamon Mint machine. For binary compatibility the code must be compiled using shared libraries at least as old as the oldest versions on a user's machine. Since both of these installations were getting out of date for actual operating system use, I have changed to compiling on chroot installations (and therefore with libraries) of Slackware 13.37 for both 32 and 64 bit versions. The compilation machine is running Slackware current. This automates the production of both versions from the git source archive, and should make it easier to make future releases. Please let me know if you find binary compatibility issues. 0.35 - Added Classic overlay to post. - Added ptt when playing dvp files. Enable with ptt enable = true as in cw. 0.34 - Fixed bug I added to the linux version where radio interface stopped working at 0000Z. 0.33 - Fixed Cabrillo to renumber QSOs if frequency instead of numbers are included in the log. - Fixed Adif Frequencies to be in MHz. - Some initial modifications to be able to interface to fldigi for RTTY. - Added Marconi Memorial Contest with 1 point for same country, 3 for same continent, 5 for different continent. This is also a choice in LOGCFG.DAT using QSO POINT METHOD = MMC. - Allowed logging digital Qs without having an rtty port hooked up. - Increased MaxCallBlocks, MaxBigCallBlocks. 0.32 - Ported post Cabrillo routines from 6.96. This gives Cabrillo 3.0 header, and reports frequencies to 1 KHz if log frequencye enable is set to true. - Ported post utility routines from 6.96. This gives a simple adif file, among other additions. - Added frequencies and header to adif output. - Installed new signal handlers so trlog will try to write a core file when an illegal instruction, floating point exception, or segmentation fault occurs. Typically, you need to set ulimit -c unlimited in order to produce a core file. - Added a manual section to trloglinux.pdf, describing how to generate a core file when the program crashes, and what I need to find the problem that generated it. - Added a table of contents to trloglinux.pdf. 0.31 - Added XE as domestic multiplier in ARRL10 - N6TR sent me source for version 6.96 -- ported his fix for CQ160 to properly log the zone - Fixed post to produce Cabrillo file for CQ160 with zone - Updated the documentation with suggestions from K5TR with a less caveman method of adding users to groups. 0.30 - Fixed bug where Winkeyer sidetone pin changes were not sent to the Winkeyer. - Fixed bug where race condition in YCCC box caused some dropped CW characters when interrupting a CQ message on one radio to send an alt-d space bar to work a station on the second radio. 0.29 - Multiple changes so that all the pascal routines can be compiled in objfpc mode. Note this changes some of the binary representations, so old binary files like restart.bin etc. cannot be used. If problems are found please revert to an older version and report bugs. - Rewrote code so that loop variables are no longer modified within loops - Changed Borland pascal comments where one right brace closed multiple left braces to comments where every left brace has a matching right brace. - Fixed dead code where word variables were tested for impossible negative values. - Removed unused variables. - Removed assigned but never used variables. - Sped up multi network and packet. The original DOS code had delays to keep from overrunning the one byte hardware buffers of serial ports at 4800 baud. Since the linux kernel has 1K buffers, and network buffers are even larger, these delays were removed. Reads/writes to the multi network and packet now work with multiple bytes per simulated DOS interrupt. 0.28 - Fixed bug where ptt would not release in yccc box. 0.27 - Fixed setting the keyer weight. This fixes a bug in setting keyer weight introduced in the first winkeyer version when the different keyers were separated. - Made PTT PADDLE HOLD COUNT work with the YCCC SO2R box keyer. 0.26 - Fixed YCCC SO2R box keyer weight being reported incorrectly in control-j menu. - Fixed YCCC SO2R box PTT turn on time setting. - Set YCCC SO2R box PTT turn off time to 15ms 0.25 - Fixed YCCC SO2R box keyer defaults not being set from LOGCFG.DAT - Removed USE BIOS KEY CALLS configuration parameter since direct reading of BIOS memory wouldn't work on a real operating system anyway. - Fixed bug in original 6.76 code where packet spots were given the wrong frequency. - Fixed bug in original 6.76 code where the check for stable rig frequency was calculated incorrectly. - Fixed bug in original 6.76 code where FT847 and FT817 frequencies were not updated correctly. 0.24 - Fixed writing SO2R box commands to LOGCFG.DAT from control-j menu. 0.23 - Added native support for the YCCC SO2R box . No additional programs needed, just make sure you are set up with permission to use the YCCC SO2R usb device, plug in the usb cable, set YCCC SO2R BOX ENABLE = true in LOGCFG.DAT and it should just work, at least at a basic level. TR sends CW, switches the rigs, puts band data on the SO2R box DB25 connector, has new message commands to switch receive between hearing both main receivers in stereo, or either rig (main and sub receiver if so equipped) in both ears, and blends audio. - Added documentation for how to use the YCCC SO2R box in trloglinux.pdf - Control-P menu now displays control characters in messages. - Fixed footswitch bug 0.22 - Fixed bug in Winkeyer code which reported cw not being sent when a message was staged, but not yet started. This kept CW messages on the inactive radio from being sent. - Made shifted keys work for message programming. 0.21 - Added new line so initial set up of field day is formatted better - Fixed some shift and control key combinations to ignore caps lock and num lock. - Fixed bug in 64 bit parallel port record size so that parallel port access on 64 bit systems works. - Fixed bug in active/inactive radio selection introduced with Winkeyer code. 0.20 - Added right-control carriage return (left-control carriage return worked before) logging without sending CW to be compatible with DOS TR. - Fixed bug where the DOS lowercase function in assembly language had been commented out. Contests which used grid squares need this. 0.19 - Fixed post not reading restart file if log is LOG.DAT - Fixed swappaddles and ptt for Winkeyer. 0.18 - Improved X11 handling of some special keys to minimize polling. This makes running trlog over a network remotely work much better, and CW sending with serial/parallel ports is less affected by cpu activity. - Added AltShift option to Shift Key Enable. This changes the tuning and RIT keys from Shift left or Shift right to Alt-Shift left and Alt-Shift right. Both shifts together (without Alt) clears RIT. The previous true and false options work as before, with default true as before. The question mark and other shifted characters work normally with Shift Key Enable = AltShift. 0.17 - Changed the signal sent from trlog to the packet shell process when trlog shuts down from SIGKILL to SIGHUP. SIGHUP causes telnet to quit, while SIGKILL left zombie telnet sessions which would keep new instances of trlog waiting for resources to become available until the zombie telnet sessions were killed. 0.16 - Fixed bug added with Winkeyer support where parallel paddle port configuration had to be before keyer output port in LOGCFG.DAT or the paddle port was ignored. - First pass at making this properly multiuser. Writing CABNAME.DAT and ADDRESS.DAT or TRMASTER.DTA will store result in $HOME/.trlog instead of main trlog directory. If correct a normal user will not need write permission for the trlog executable's directory. 0.15 - Added a test for utf-8 locales. The degree symbol is hex 0xb0 in iso8859 locales, and hex 0xc2 0xb0 in utf-8 locales. It should now print correctly on all systems. 0.14 - Added a test so that /dev/port, which is erroneously reported by ieee1284_find_ports as a parallel port on systems with no parallel ports, is not displayed. 0.13 - Attempt to fix serial port issues on some systems. 0.12 - Fixed the command line option ports so "trlog ports" should now report something sensible. As far as I can tell linux does not have a library routine to detect serial ports. trlog therefore searches the /sys pseudo file system (i.e. the /sys/class/tty directory) for ports with attached drivers. - Added serial, parallel, winkeyer and packet prompting to set up a new LOGCFG.DAT. The program attempts to detect the serial and parallel ports connected to the computer using the same method as the ports command line option. - Updated doc/trloglinux.pdf and files/Xresources to describe how to use nicer xterm fonts. - Changed the degree symbol to be decimal 176 as shown in "man iso_8859-15". 0.11 - Slightly different, possibly better, method of initializing Winkeyer 0.10 - This version has major changes to the cw keyer parts of the code. Tree's code for keying the serial and parallel ports has been encapsulated in a new keyer class to allow adding other keying options easily. This means that if you are using serial or parallel port keying, this version could break things that worked before. If you find a show stopper in the keyer, please report the bug and revert to using version 0.09. - Support for K1EL's Winkeyer has been added. Please see the trloglinux.pdf file for more information. - Support for Ultimatic mode has been added. 0.09 - Fixed bug which scribbles outside the box when displaying the log with Control-L when a Control-L in the log is encountered. 0.08 - Fixed bug added by changes to packet in 0.07 that sometimes dropped the first character of a spot. - Commented lines that prevented K3 DVK commands from working. 0.07 - Fixed bug in radio 2 control communication - Fixed uninitialized variable that made sunrise/sunset times wrong on 64 bit versions. - Fixed bug where a long packet string would shut down packet on the local machine -- packet through the multi network would still sort of work. - Added shell device for packet - Added ncat device for multi net 0.06 - Fixed problem with packet etc., from printing control-g instead of beeping. - Allow autocq on phone with function key radio commands. 0.05 - Fixed problem in two radio alt-d port. 0.04 - Added 4 Ontario sections to SS simulator - Added support for normal pseudottys. Use any name whose first 3 characters are pty or PTY for the serial device. Trlog will open a master pseudotty and write the slave device in the file given by the name you used. 0.03 - Changed Cabrillo output in post to have lines ending in carriage return / line feed. At least some log checking codes running under DOS/Windows do not accept the unix/Mac line feed only end of line character. Thanks to Tim, K9TM for the heads up. - Fixed null pointer references giving segmentation faults when adding to the end of the visible dupe sheet. 0.02: - Unoptimized the xterm ANSI move cursor commands. My xterm did not always work with the optimized sequences, which caused occasional glitches. Using the unoptimized command makes the display more robust. I haven't notice any speed difference. - Added shift key detection under Xwindows so shift key tuning, shift key RIT, and ctrl-shift keying work. - Added paddle input on serial ports. This violates the RS-232 standard which defines the two logic levels as positive and negative voltages, while the paddle will only key a positive voltage to ground. But, according to the ARRL handbook, none of the serial port chips used actually require a negative voltage on their inputs to get the correct logic level. Therefore, I have set up the clear to send (CTS) input as the left paddle (normally dot) input, and data set ready (DSR) input as the right paddle (normally dash) input. You need to pull these inputs positive through resistors. I pull them up to +12 volts through 10K ohm resistors (the RS-232 standard requires anything between 3 and 25 volts), and the paddle keys those inputs to ground. On a DB9 connector they are pins 6 (DSR) and 8 (CTS). Ground is pin 5. - Fixed bug where exact calls in CTY.DAT with / did not match. - Changed default to UTC, independent of your system clock. The hour offset should now never need to be used if your system clock is correct, but I didn't remove it. I also added code so the time set functions work internally to trlog. Originally these set the DOS system time. Now it just changes an internal offset. If you exit TR, this will not be saved. I believe the only reason to change the internal time would be to type in hand-written logs after a contest. Otherwise, you should simply set your system time correctly. - Fixed several bugs related to auto character count cw. 0.01: - Initial release based on DOS TR 6.76