Changes for WS Tools ==================== LinWSJT 0.1 Alpha First publically released version. LinWSJT 0.1a Alpha Fixed a major bug in the JT44 receive timing that caused almost guaranteed failures. Removed need for the Audio File library, the WAV handling is done withing the CSoundFile class itself. LinWSJT 0.2 Added graphical display of the received spectrum. Added tabbing to keep WAV file decoding separate from real time decoding. Averaging of the received data. Validation of the typed text. LinWSJT 0.3 Big performance improvement. Internal restructuring based on (1), its a little simpler now. New messages appear at the top of the list. New option to decode the text of a message that has been rejected as being too weak to be meaningful. Fixed the counts of the messages in the average window. Hopefully fixed the bug in the configuration code. LinWSJT 0.3.1 Removed some error messages when ending the program. If message text changes, it causes the transmitted message to be updated if it is the currently selected message. Fixed text expansion. Added tab traversal to the main window. Added messages regarding the audio level. Lin WSJT 0.3.2 Changes build to use the C++ compiler reported by wx-config instead of a hard coded name. Changed calls to wxASSERT() Updated the levels shown for Sync and dB using information from Joe Taylor. Unfortunately because of the different way the program works, it is not possible to exactly match the two programs. Hopefully made the audio level on the graph look a little more reasonable. LinWSJT 0.4 Fixed a bug in the recovered text logging function. Implemented weighted averages which attempt to remove noise from the decoded text, it appears to improve the data recovery. Changed the program structure to make FSK441 implementation a little easier, no user visible changes. Added normalisation of correlation values and also signal strength calculation which is now close to what WSJT reports. Changed correlation co-efficients to stop the program being a little too generous in its decoding. First FSK441 version included. LinWSJT 0.4.1 Added pup-up error boxes. Lots of internal changes that aren't visible to the user. Fixed a bug in the sound card code, it wouldn't transmit. Sorry folks. LinWSJT 0.4.2 Fixed a bug in the FSK441 transmit section, you would get "Soundcard busy" messages after transmitting once. LinWSJT 0.4.3 Converted to use wxGTK 2.4 so LinWSJT is now Unicode compliant. This may break compatibility with earlier versions of wxGTK. Added a control on the JT44 screen to adjust the minimum level of the sync quality to display the received message. Added a control on the FSK441 screen to adjust the minimum level of the acceptable burst length and strength. New FSK441 decoding routines that are better than the ones used in the previous release. Added a clock to both JT44 and FSK441. LinWSJT 0.4.4 Fixed a Unicode problem in Clock.cpp Returned the top level Makefile to using the generic wx-config. Added more to INSTALL from README to make a few things clearer. Fixed wxGTK to use GTK2 correctly, the patch is included in the LinWSJT distribution but is not recommended for most people, stay with GTK1 is my advice. Minor bug in FSK441 receiving when receiving a continuous strong signal would cause an error. LinWSJT 0.4.4a Added GPL copyright to the top of the source files. No code changes. LinWSJT 0.4.5 Removed the parallel port PTT driver, nobody uses it and it wasn't tested anyway. Reduced output audio level by 3dB to remove possibility of clipping or other distortion in the sound card. Decoding of FSK441 single tone messages is an option from the Preferences dialog box. LinWSJT doesn't transmit single tone messages. An idea from Ivan HA5TS. Cannot have single tone and multi tone characters in a single FSK441 message. An idea from Andy K0SM. Removed the saving of "TX Enable" between runs of the programs, default is off. An idea from Andy K0SM. Fixed a bug in the FSK441 strength setting. Spotted by Andy K0SM. LinWSJT 0.4.6 Fixed a bug in FSK441 that caused it to crash on occasion. Spotted by Morten LC1OCT. Fixed 'l' and 'm' being swapped in FSK441. Spotted by Morten LC1OCT. Changed default values to be G4KLX/IO93FB instead of HB9DRD/JN47HI. Changed tone generation from an IFFT to a Numerically Controlled Oscillator (like WSJT uses), this may reduce the transmitted bandwidth as the different tones are now continuous in phase. Compiled with the -march=pentium compiler line which should yield some speed improvements. Added Moon tracking to JT44. Made JT44 a little less sensitive to synchronisation data, so false triggers should be less likely. Added two new programs in the tools directory. They are "Noise" and "ToneGenerator" and are documented in the README in that directory. Removed the LinWSJT.doc file. It can still be downloaded from my web pages or found on dead wood in DUBUS 4/2002. The IDs in both FSK441 and JT44 were in local time, they are now in UTC to match the clock. JT44 and FSK441 are more tolerant of low audio levels. LinWSJT 0.4.7 Rewrote the thread handling so the program is more well behaved, especially when running for long periods. This could have a bearing on reliability when running the program(s) for long periods. Changes of PTT port and/or sound card will now only take effect when the program is restarted. Changing the "TX Enable" button to off during a transmit period will now stop the transmitter immediately. The patch for wxGTK-2.4.0 has been removed as things seem to be OK with wxGTK-2.4.1 (I submitted my patch to 2.4.0 and it was accepted). Upgraded the Moon tracking code to the latest code from PREDICT. Added Sun tracking to go with the moon. Added lots of extras into both the common directory (DSP classes) and even more 'tools' based on them. See the README in the tools directory for more information. Fixed a bug in FSK441 where the saved values for the minimum values of burst length and srength weren't being registered in the program. Don't show FSK441 messages that don't contain valid text (at least one space). Started on JT6M. Transmit works and part of receive works but it isn't complete so it is disabled at the moment. Updated the INSTALL file to include more information about the FFTW library and its two versions. WS Tools 0.4.8a Updated my FFT classes to use either FFTW 2.x.y or FFTW 3.x.y depending on which is installed. Some small changes to incorporate some GUI programming changes, mostly non visible. Moved audio over to the PortAudio library so that I can port LinWSJT to Windows, also added Windows PTT control. Removed HB9DRD from all of the files, it no longer exists. Changed the name to WS Tools from LinWSJT. Restructured the package to make it build under Windows. Lots of internal changes, including: re-startable thread control rewritten, sound handling API changed. Switching off the Enable TX switch when transmitting aborts the transmission. WS Tools 0.4.8b Fixed problem when decoding files, the EOF wasn't being picked up, caused by changes for 0.4.8a. Changed to native sound handling instead of using the PortAudio library. I just couldn't get it to work very well. OSS on Linux and WMME on Windows. Converted the PTT and Sound Card preferences to pull down lists of available devices rather than having to type them. Sound Card handling on Linux (OSS) is limited to 16 bit mode. Changed the FSK441 default messages to match the Region 1 IARU recommended MS procedure. Thanks to Bo OZ2M for that one. WS Tools 0.4.8c Fixed a bug in the sound handling on Windows, this would cause crashes when receiving. Done a small GUI change for Windows. WS Tools 0.4.8d Added an extra page to the screens to show reception in the first and second periods. An idea from Catharinus PE1AHX. Allowed for the setting of the directories where audio and text files should be stored. An idea from Catharinus PE1AHX. Completely new FSK441 decoder which offers better sensitivity than the previous version. Use native Windows functions to handle WAV files on Windows. Added DF display to FSK441. Major internal changes. Removed the intensity display from the main FSK441 graph. Setting of default values like minimum strength etc. are now to be found under Preferences instead of the main screen. All modes have a level indicator bar graph instead of the messages at the bottom of the window.