fldigi - Digital modem program for Linux,
Free-BSD, OS X,
Windows XP, NT, W2K, Vista and Win7.
flarq - Automatic Repeat reQuest program.
Fldigi and Flarq are separate programs that are packaged together as source, binary, and installation files.
Build updated to fltk-1.3.0 library standards. Can also be built using fltk-1.1.10
Fldigi 3.21.72 / Flarq 4.3.4 release notes
Internationalization
- Added
French, Italian and Spanish translation files
- update to
es.po (Spanish translation)
- es.po - update to Spanish translation files ** 1 December 2011
- it.po - update to Italian translation files ** 5 December 2011
- resized some controls to allow better internationalization
- PO file update - Updated es.po and pl.po to 3.21.70
Macros
-
<MODEM:
-
Added conditional wait for modem switch before continuing to parse or
-
execute remainder of macro definition.
-
<RIGMODE:mode> mode must be valid entry in mode combo box
-
<FILWID:width> width must be valid entry in bw combo box
-
<QSY:FFF.F[:NNNN]>
-
- FFF.F in kHz
-
- NNNN in Hz
-
- examples
-
<QSY:7035>
-
<QSY:14070:1500>
-
<QSY:3580.3:1100>
-
<QSY::2125>
-
<FILE:name>
-
* test for case where "name" no longer exists
-
<RX/TX>
-
Corrected # chars to delete from macro string during execution
- Load
Macros
-
Corrected macro button initialization after loading a new macro
definition file
-
Added RX frequency tag for search macros.
-
Added CLEARLOG macro tag
- Inserts a
^C into the transmit text. ^C can also be entered manually.
Note that this is a two character sequence:
carat C, and not a control-C symbolism.
-
<LNW>
-
Added
new logging macro tag <LNW> (Log NoW), which places the
code pair "^L" into the transmit stream. QSO logging takes place
when that pair occurs in the transmit sequence. This guarantees that
the time of log will concur with the ^L occurance.
- Changed tag
parsing to always place <RX> (^r) as last control tag in the
expanded text that is placed into the Tx buffer.
- REPEAT
Macro
- Added
<REPEAT> macro tag - puts fldigi into infinite transmit repeat of
all text and tags preceeding <REPEAT>. Pressing ESC
terminates the loop
- <ID>
video text mod
-
* Expanded video ID text for Olivia, Contestia and RTTY
-
* Amended macro editor <ID> explanation
-
* Changed format of auto-generated video ID text.
-
* Increased number of characters to 8 for both font sizes
-
* Simplified video generation methods
-
* Added limit switches on video width
-
- 500 Hz for US HF compliance
-
- Mode bandwidth, video constrained to mode in use bw
-
* Added abbreviated video mode name strings
- Added FEC
indicator for DominoEX FEC modes
- EXEC win32
macro tag
- Added new
tag <EXEC>...</EXEC> for win32 implementation
- launches
new application
- does not
expect any return values
- K3 CW-QSY
- Additions to allow qsy to function correctly when K3 is
used in mode A1A.
- This might also apply to other transceivers which display
the CW transmit signal frequency on the front panel when in mode A1A.
- <CLRTX> : clear the xmt text
- <XIN> : add received exchange to xmt text
- QSY macros
- <QSYTO> move current cursor frequency to sweetspot
- <QSYFM> restore previous location
- Performs the same function as left and right click on the waterfall QSY button
- QSYTO / QSYFM act on rf/audio frequency pairs on a first-in / last-out stack.
- Macro tag is immediate execute. Do not expect
<QSYTO> ....... <QSYFM> to anything except move to
sweetspot and immediately restore.
- <DTMF: encode DTMF strings using 16 button keypad tones 0..9, *, #, A..D
- <DTMF:[Wnnn:Lkkk:]:tonechars>
- Wnnn - wait nnn milliseconds before first tone, default 0
- Lkkk - each tone kkk milliseconds in duration, default 50
- Use space, hypen and comma to insert silence periods into tone sequence
- eg: <DTMF:W250:L75:123A 456B 789C *0#D,,,,>
- Inline macro tags
- Created ability to delay execution of designated tags
until the time of occurrence in the transmit character stream.
These include:
- <DTMF - dual tones
- <!WPM - CW words per minute
- <!POST - CW post delay
- <!PRE - CW pre delay
- <!RISE - CW rise/decay time
- <!MODEM - change to specified modem
- <!GOHOME - move to mode sweet spot audio frequency
- <!GOFREQ - move to a specific audio frequency
- <!IDLE - idle for specified number of seconds
- <!WAIT - wait for specified number of seconds
- <!QSY - move to specifed RF and Audio frequency
- The <! tags use the same parameters as their non delayed counterparts
- Added NULL modem, a device which does not receive but can enable transmit.
- used as modem type before !QSY, !GOFREQ etc to suppress transmit of audio stream
- used with <DTMF... to transmit DTMF tones and suppress any other modem audio stream
- Changed end of transmission logic to MT63 modem to allow it to be specified in <!MODEM
- Corrected string to numeric conversion
- Added abort processing / queue reset
- Modified macro parsing to allow multiple invocations of macro containing <! tags
- Added ability to schedule a single macro execution at a
specifice GMT date and time tag format <SKED:hhmm[:YYYYDDMM]>
where the date defaults to current date.
- Macro Editor
- Changed to be resizable. Edit and Browser controls change in size proportionally.
- Added Tile object to resizable group. Allows the text - picklist intersection to be dragged for resize.
- Timer delay - Moved timer restart from Tx string parser to tx_transmit loop
- !Queue reset - Added queue_reset call to pCLRTX, execution
of macro tag <CLRTX>. Causes any pending ^! tags to be
cleared.
- <EXEC>...</EXEC> -
Added limited tag expansion within <EXEC>...</EXEC> tag
pair. Following tags are expanded to their value. All
other's are suppressed. Parser also suppresses nested
<EXEC>...</EXEC> pairs.
<CALL> <FREQ> <LOC> <MODE> <NAME> <QTH> <RST>
<MYCALL> <MYLOC> <MYNAME> <MYQTH> <MYRST>
<QSOTIME> <INFO1> <INFO2>
<LDT> <ILDT> <ZDT>
<IZDT> <LT> <ZT> <LD>
<ZD> <VER>
- RTTY bandwidth - Added bandwidth specifier to set modem RTTY tag
- <MODEM:RTTY:shift:baud:bits:bandwidth>
- Specifiers may be unspecified, i.e.
- <MODEM:RTTY:170>
- <MODEM:RTTY:170:45>
- <MODEM:RTTY:170::5><MODEM:RTTY:170:::100>
- <MODEM:RTTY:170:45:5:90>
- REV macro tag - Added <REV:on | off | t> (on, off, toggle)
- Exec macro - On Linux and OS X
- modified child process environment variable PATH to
include the scripts directory as the first in the PATH string required
for xdg-open to find executable in the scripts directory
- eQSL - Added EQSL macro tag - sends current log data to eQSL on line
- CALL, BAND, MODE, QSO_DATE, QSO_TIME_ON, RST_SENT
- optional message, <EQSL:message to send>
- eQSL update
- Added embedded tags to optional message
- {CALL} other operators callsign
- {NAME} other operators name
- {MODE} full mode / submode
- Added switch to enable sending eQSL when either
- log button is pressed
- <LOG> or <LNW> is encountered in macro
- logic to disallow duplicating eQSL submission
- HamQTH app ident - removed version number from FLDIGI application identification at request of Petr, OK2CQR
- Merge Logs
- Added duplicate checking to log merger
- Save duplicates to an ADIF file and display results of merger on the Rx panel.
- Save merged records to a merged rec file
- Altered read adif to accommodate LoTW peculiarities
- eQSL QTH nickname
- Changed location of <APP_EQSL_QTH_NICKNAME:%d>%s to come after <EOH>
- ADIF i/o tweaks
- Changes to improve file i/o performance
- Removed <ADIF_VER: check to allow importing from non compliant ADIF files.
- Call lookup - Added ability to lookup calls with multiple slash and to recognize leading slashed preamble
- KH6/W1HKJ/M
- W1HKJ/6
- M2/W1HKJ
- Merge dups - Corrected logic for instance when merge source file has duplicate records
- Logbook dirty boolean - Added code to clear dirty boolean when log first loaded; prevents nagging to save a clean logbook
- WX macro tag - queries www.weather.gov for current observation at designated METAR rss-xml feed
- Macro filename - Added code to recognize "\" in starting filename on windows
- WX Celsius - added missing conversion from Fahrenheit to Celsius; allow English and/or Metric units in report
- Weather tag - Added <WX:XXXX> tag where XXXX is METAR
station id. No change to <WX> tag. Both use the WX
configuration for report format.
- eQSL - Added user selectable date-time ON or OFF for eQSL logging
- International Weather reporting
- Changed url query to provide international coverage
- Added option to display full METAR report
- Added ability to display noun name of reporting METAR station
- Save macros bug fix for Windows
- EXEC macro
- Corrected <TX> disabling when executing <EXEC>...</EXEC>
- Modified code to allow multiple <EXEC>...</EXEC> calls with a single macro text
- Removed ability to recurse the <EXEC>...</EXEC> macro tag
- Control-Z fault - Restored control-Z fix
- ANTENNA macro tag - inserts the value entered on the User UI configuration dialog
- RsID Multiple
- Added Macro <NRSID:nn> where
- nn < 0 will cause |n| RsID bursts and exit from Tx
- nn > 0 will cause |n| RxID bursts and Tx continue
- nn == 0 will cause a single RxID burst and Tx continue
- multiple RsID bursts are separated by an interval of 200 milliseconds
- REPEAT Macro - Corrected macro execution for UTF-8 implementation. Cleaned up macro methods - removed commented out code
- Macros LOG LNW EXEC
- Added :[notes] string to LOG and LNW macro tags
<LOG:append this text>
<LNW:append this text>
the specified text will be appended to the notes field as the string
"\nappend this text" before saving the log data <LOG> and
<LNW> behave as before.
- Added post execute expansion of returned macro
text. Restores ability to include macro tags such as
<MYCALL> in the returned text. The macro tag will then be
expanded before transmission.
- Insert QRG text into Rx stream: <QRG:text to insert>
- SAVE macro tag - saves current macros under current macro filename
- Added export strings - FLDIGI_LOG_FILE - current logbook file name; FLDIGI_MACRO_FILE - current macro file name
- <PAUSE> tag - returns to receive, but does not clear Tx buffer
- <TXATTEN:nn.n> <!TXATTEN:nn.n> tag to control transmit attenuator control from within a macro.
- <COMMENT:text> macro tag; a do nothing that disappears from the transmitted text
- High Speed Playback
- high speed playback of wav file for use during modem deveopment and testing.
- on/off/toggle control is provided using hidden macro tag <HS:on|off|t(oggle)>
- Start wav playback at normal speed and allow decoding to begin. Then change to high speed mode.
- Maximum playback speed is achieved when the audio input is selected as file only. CPU usage can reach 100%, but decoding is not effected adversely.
- Waterfall & scope are disabled during high speed playback. Rx text display remains active.
- Added ability to playback sound file as single pass or
continuous loop. If in single pass then high speed is toggled off
at end of file.
- QSO NBR/NXT macro tag - Added <QSONBR>,
<NXTNBR> macro tags to respectively add current # QSO records,
next QSO record number to transmit string.
- BAND Macro tag - Added BAND macro tag
Transceiver Control
- RigCAT INIT/CLOSE - This modification submitted by Arvo Jarve, ES1JA, <arvo@softshark.ee>
- Added CLOSE port rigcat command
- Added
user control to enable/disable restortation of serial port status bits
when closing port - use <RESTORE>bool_value</RESTORE> in
xml definition file.
- Hang on start - Erroneously created / deleted new thread for instance when rig_cat not being used for rig control.
- rigMEM - removed rigMEM support code, KC505 transceiver control converted to use xmlrpc control.
- Rigsupport - Removed Fl::lock/unlock calls from source
User Interface
- Added
resizable signal browser to main dialog. Separate dialog and main
signal browser mirror each others activity. Added RTTY signal
browsing.
- Added user
selection to decode audio stream history when clicking an active
channel in the signal browser
- Moved
qso_opPICK above frequency display. Adjusted size and position of
other rig controls to provide maximum control widths.
- Removed
white space surrounding macro buttons
- Increased
height of buttons 2 pixels
- Removed
white space surrounding audio mixer sliders
- Removed
DOWN_BOX attributes from groups, replaced with
- BOX
attributes for individual controls
- Macro Bar
positions
- Added user
selectable macro bar positions and ability to view12 or 24 macros at a
time
- Adjusted
the viewable configuration tabs for the waterfall-only to allow hiding
the following tabs:
- UserInterface
- Contest
- WF_UI
- RxText
- Misc
- QRZ
- Fix to
waterfall-only save preferences fault
- Panel Widget
- Added
new widget class, Panel, to replace Fl_Tile and it's derivatives.
Panel resizes it's children using a ratiometric algorithm.
- Enclosed
embedded viewer, Rx text, and Tx text widgets within the bounds of a
Panel widget.
- Removed
separate control for horizontal sizing of embedded viewer.
- Convenience
features
- Added
enable/disable psk browsing for very slow cpu's
- control
on psk config tab
- default
to enable ON
- Check for
updates - Changed re parser expression to follow recent change in w1hkj
web site organization
- Config
defaults - Changed true/false default for some configuration items
- No rig mode
selection - Restored functionality of transceiver mode selector when no
transceiver is being controlled.
- Corrected
misspelled tooltips
- Added Tx
attenuator control to Audio configuration tab
- Added main
dialog short cut keys for tx attenuator control
alt - ==> decrease
by 0.1 dB
alt = ==> increase by 0.1
dB
- Modified
two-tone generator in Olivia / Contestia to avoid remultiplication by
txlevel
- Log Menu Items
- Moved menu items in list to prevent careless selection of "New"
- Added confirmation dialog to create a new logbook
- Control-Z bug fix
- Fix for seg fault when pressing ctrl-Z immediately after double Escape
- Version lookup - Changed PACKAGE_DL definition in configure.ac pointed to wrong url
- RSID limit fault - Set upper and lower bounds to RSID limited search
- Resize fault - Fixed resize fault - required changing min height of hidden resizable control in main text panel.
- Auto-send - Added command-line parameter --auto-dir for specifying absolute pathname to autosend directory.
- Tx Attenuator Control - Moved tx attenuator control to main panel
- UI changes - Added check box / configuration item for presetting RST-in to 599 when clearing the log entries
- Added Contestia 64/1000 to main menu system
- Right Channel audio
- Write silence stream to right channel if not enabled
- Added separate tab for right channel configuration items
- Replicated right channel control items on the new
tab. Original controls on PTT, CW and RTTY tabs or the replicants
may be toggled to control right channel operation
- Added check button to enable reversal of left-right audio channels
- WARN status colors - Added user selectable colors for level indicator (diamond below wf)
- Low - nominal BLACK, signal < 0.05
- Normal - nominal GREEN, 0.05 <= signal < 0.9
- High - nominal YELLOW, 0.9 <= 0.9 < 0.98
- Over - nominal RED, signal >= 0.98
- signal is the peak audio value % of maximium for the
sound card in use. Note that this level is for the composite of
all signals within the passband and not just for signal being decoded.
- Cyrillic-UTF8 chars
- Added support for displaying, transmitting & receiving UTF-8 character.
- Modes which support UTF-8 characters:
- PSK31, PSK63, PSK125, PSK250, PSK500
- Olivia - must enable 8 bit extended characters
- MT63 - must enable 8 bit extended characters
- MFSK - all baudrates supported
- Modified "clear_sent" method in FTextRXTX to correct behavior when TX buffer contains UTF-8 characters
- Weather report
- Added return http document error tests
- Removed "Weather:\n" prefix from returned data string
- Corrected English / Metric conversions
- Added wind in Meters/Sec to MPH KPH conversion
- Added condition parsing from raw data strin
- Added web lookup for METAR station of interest
- Added Waterfall settable transceiver notch (only for xcvrs with CAT notch / flrig operating)
- Added notch indicator configurable color
- Added configuration toggle to allow checking for updates when program starts
- Clear
sent text - add UTF8 code to only clear to ^r in Tx buffer, allows user
to enter text with multiple ^r entries in a single text buffer
- Rigio thread - Fixed random hang trying to close rigio thread
- Auto file directory
- Added test for trailing path separator on command line directory parameters.
- Added relative pathname capability to command line directory parameters
- Added alternate path test for the file wrap_auto_file
- FreqControl paste - added control-V handler for FreqControl widget
- Base directory - Added command line switch to alter parent home directory (folder).
- Main
Panel Controls Colors-Fonts - Add user configuration items to allow
customizing fonts and colors for all widgets on main display
- Polish translation - Added Polish translation file submitted by Roman, SP4JEU
- Wavefile playback - Corrected fault when trying to playback a stereo wavefile.
- Tango icon pixmaps update to version 0.8.90 (public domain)
- Replace the Tango Icon Library pixmaps (previously licensed as
CC-BY-SA-2.5) with new pixmaps generated from tango-icon-theme-0.8.90,
which has since been re-licensed as Public Domain.
- Added configurable logbook controls; font / font-size, font
color, background color. Improved the table widget used in the
logbook dialog browser.
- Added configure item in UI general to open confirmation dialog when user exits program
- Fix RPC log TimeOn value, without this, timeon == timeoff. patch corrects data transfer to CQRlog.
- Add new shortcuts in TX widget. SC means Shift-Control.
- SC-c for <CALL>
- SC-n for <NAME>
- SC-r for <RST>
- SC-l for <MYLOC>
- SC-h for <MYQTH>
- SC-a for <ANTENNA>
- Updated combo box widget class
- ASCII tables - Added ASCII3 table
- ASCII - used for RTTY
- ASCII2 - used for ARQ / PSKMAIL
- ASCII3 - used for all other text
- UTF-8 char echo - fix echoing of UTF-8 characters in the Rx panel
- Hamlib sideband menu - Toggle initialize button when sideband menu selector changes
- flarq bug fix - unreliable socket connection to fldigi
- fldigi - additional UTF-8 wide character modifications
- PSK/RTTY browser - fix erroneous character display when selected font is either missing or has corrupt bold font structure
- Update recognition of FLAMP data stream.
- Escape aborts clean start - Modified default key handler to
prevent "escaping" out of main dialog when no other key has been
pressed.
- Thumbdrive
- discover application executable location
- if the directory in which "fldigi" / "fldigi.exe" resides
contains a file named NBEMS.DIR then base all NBEMS file locations to
that drive-folder
- this allows a fully portble NBEMS installation to a thumbdrive (or other portable drive)
- it also allows a very easy way to install multiple NBEMS suites for different target uses on a single hard drive
- UTF-8 overhaul
- Refactor get_tx_char()
- Reset to stock version, call byte_at(). The class
Fl_Text_Buffer_mod (borrowed from FLTK) contained a modified version of
the method char_at() that effectively made it behave
as byte_at(). Silently modifying a
library-provided method not only disables the access to a certain
functionality of the library, but can also cause other unforeseen
consequences. The method was thus reverted to the stock version and the
code that previously called the modified version was changed to call
byte_at() instead.
- Remove unneeded code in FTextTX::nextChar()
- Libtiniconv -Added libtiniconv (charset conversion library). Library Version 1.0.1 fetched from http://tiniconv.sf.net
- A small fix made to change a misspelled macro name. Build system adapted to fit into the fldigi build model.
- Added CharsetDistiller class
- Sanitize input data and convert it into UTF-8
- CharsetDistiller receives input data one byte at a time
and converts this data stream from a particular character set into
UTF-8. Invalid input data is treated as if it was encoded in CP1252.
Character set conversion is performed as soon as possible, i.e., when
enough input is received to constitute a valid character in the input
character set, this character is immediatly converted into UTF-8 and
made available at the output.
- Make put_rx_char_flmain() use charsetDistiller
- Make put_echo_char() use CharsetDistilled
- Make pskBrowser use CharsetDistiller
- Added OutputEncoder class
- Used for encoding transmitted data - OutputEncoder
accepts UTF-8 strings at input, converts them to the selected encoding
and outputs them one byte at a time.
- TX character set conversion using OutputEncoder
- Fix backspace for >2byte UTF-8 characters
- Global setting for RX/TX charset
- Cleanup modem UTF-8 code - PSK, Olivia, MT63 and MFSK modems:
- Everything that deals with output character set
conversion and data sequencing is now done using OutputEncoder, so the
modems can become completely agnostic about the character set used. As
far as they are concerned, everything is just byte-sized data.
- Added an array of character set names and identifiers
- Cleanup of unneeded UTF-8 handling code in add_rxtx_char() and family
- Character set selection menu - Add menu button to select
the active TX/RX charset to the colors-fonts configure dialog.
The setting defaults to UTF-8 (selected at program
startup). The
selection is saved to the program defaults configuration file when
"Config/Save" is executed.
- Allow xmit of EOT character
- Still retains use of " ^r " in the user window
- Covers special-case for FLARQ usage where ETX should stop the modem
- EOT character can now be transmitted from Tx window instead of switching to Rx mode
- Substitute symbolic names for negative return values of get_tx_char()
- Default char set - Changed to ASCII; Suppress control code visibility for ASCII char set
- Control-V/Z - disabled Control-Z use in Tx
panel. Added Tx text capture to clipboard when ESC pressed which
allows subsequent Control-V paste of text back to the Tx panel
- Pause-break - Fixed code affected by UTF-8 changes
- WF-only-escape - Disabled default behavior of Escape key when operating in waterfall only mode
- File Selector - Corrected error in return value to
FSEL::select (fltk-1.3.x) when Cancel pressed in native file selector
box. This coding error had the potential to cause an error for
every instance
where the native file selector was invoked.
- Contest fields - increased size of contest fields
- Status / Tx Level Controls - increased horizontal dimension to 120 pixels
- WF only ESC abort - Capture Escape to prevent program shutdown when Escape pressed when --wo dialog has focus.
- Rx - escape ignored
- Tx - transmit aborted, return to Rx
- Tune - tune aborted, return to Rx
- WF only null pointer fix -in waterfall only mode, bypass text logging of rx stream
- Spotting - Added user configurable spotting using signal
browser. Spotting can be disabled if viewer is not visible;
reduces CPU load if selected
- ADIF case - Changed import parser to treat fields specifiers as case insensitive.
- TX lower case - User configurable transmit all text in lower case.
- WX parser - Update station name parser iaw new METAR format.
- Signal Browser - Corrected alternate line background.
Changed due to fltk-1.3.2 changes. Added user configurable line
colors
- Dbl Click for Xchg In - Added double click recognition for
appending to exchange in when logbook displays contest fields.
Shift-left-click performs the same function as double-left-click
- Status Reports - Reduced size of status reports when changing Bandwidth, Squelch, Search Range, AFC etc.
- About update - Updated list of principal developers
- Signal Browser Colors - Added color initialization when instantiating mainViewer
- Wavefile generate - Fixed menu item toggle when File i/o only selected on sound card configuration dialog
- Tabs Colors - Added ID / QRZ tabs to color schema
- Double Click bug fix - Double click text selection for transfer to QSO record fields
- Colors/Fonts Dialog
- deprecate colors/fonts dialogs
- added functionality to configdialog on separate UI tab
Modems
- MT63
- Modified
mt63 base and supporting digital signal processing (dsp) code to remove
the fixed signal position restriction.
- User
can select either fixed 500 Hz lower tone signal format or to move the
signal bandpass throughout the audio spectrum using the normal
waterfall point and click
- Changed
upper waterfall cursor/bandwidth markers to lie within the bounds of
the MT63 signal. MT63 is different than other multi-tone signals
in the placement of the tones within the bandwidth boundary.
- Moved upper
tone of two-tone pre-cursor up one tone space to correspond with the
waterfall bandwidth markers.
- WEFAX MODEM
addition
- Send and
receive in IOC-288 and IOC-576 wefax modes.
- PSK browser
mod
- Detector
mod to limit channel range for wide bandwidth PSK modes, PSK125 and
wider
- PSK
Browser-WF data
- Changed WF
FFT circular buffer to improve browser detector
- Changed PSK
channel timeout processing to reduce random channel noise.
- Added false
signal detection
- Carrier
Squelch
- Added
pre-signal transmit tone which allows triggering carrier detect /
amplifier enable. Used primarily for VHF/UHF power bricks.
- Reduced pre
and post RsID silence periods to 1 RsID symbol length (~0.0988 sec).
- RsID code
additions
- CONTESTIA
4-125
- CONTESTIA
4-1000
- CONTESTIA
4-2000
- CONTESTIA
8-2000
- CONTESTIA
16-2000
- CONTESTIA
32-2000
- CONTESTIA
128-2000
- CONTESTIA
64-500
- CONTESTIA
64-1000
- CONTESTIA
64-2000
- OLIVIA 4-125
- OLIVIA
4-1000
- OLIVIA
4-2000
- OLIVIA
8-2000
- OLIVIA
32-2000
- OLIVIA
16-2000
- OLIVIA
64-2000
- CW Morse
Prosigns
- Modified
prosign / character translation
- Simplified
morse table structure
- Print
translated prosign character when transmitted
- Allow user
selection of ')' or <AR> prosign both have same Morse
representation
- Added style
override for both put_rx_char and put_echo_char functions. Allows
prosigns to be display using CTRL style.
- Modified
xml generator for fldigi_def.xml to suppress xml key characters in the
xml documentation block
- Added 4/500
and 64/2000 to menu choices for Olivia tone/bw
- RTTY MARK coloring - Added configurable item to modify color of RTTY mark waterfall track line
- RTTY MARK frequency - User configurable option to log RTTY using MARK frequency
- DTMF decode which can be used in parallel with all modems. Decoded tone data shown in Rx pane
- WWV xmt mode
- Added sound card time tick transmit
- RTTY baudrate select
- Corrected Macro selection of RTTY:45.45
- Changed status display to show 45.45 vice 45.5
- CW/RTTY init fault
- Modified transmit code for rtty preamble
- Added missing stopflag initialization in CW and RTTY modem class
- CW QSK
- Discard all pre/post timing if QSK on right channel is disabled
- WEFAX
- Added wefax::adjust_metric method.
- modem::display_metric now sets the member modem::m
- MFSK soft decode - Corrected viterbi puncture value to 128 which represents neither a 0 nor a 1
- RSID defaults - Changed RSID new installation defaults per request from NBEMS trainers.
- Wefax enhancements.
- Adjustable carrier frequency. Can adjust the carrier frequency from the GUI.
- All messages are now internationalised.
- Images absence/presence better detected also with line-to-line statistic correlation.
- WEFAX error logging fix - Fixed format compiler warnings and errors.
- WEFAX update
- When changing wefax slant, prompts to save configuration on exit.
- Changed wefaxNNN to wefaxNNN_modem
- Changed sample rate initialization
- Fixed prototype for wefax::getfile
- Fixed logging of fax images.
- MFSK pic dnd - Fix drag-n-drop of file onto MFSK transmit pic dialog
- QSK test - Added test for CW mode && QSK_adjust to inhibit display of Tx characters in Rx Panel.
- CW improvements
- Cooperative programming effort, Dave, W1HKJ and Mauri, AG1LE
- Added matched filter implementation using FFT convolution filter
- Added Self Organizing Map decoding.
- Added adjustable upper/lower detection levels
- Added level indicators on CW digiscope
- Combined new fft-convolution filter, SOM decoder & FIR filter
- Added configure controls for filter selection
- Modified CW digiscope display to show 9 dot intervals independent of WPM setting
- Increased CW_FIR length to 512
- WEFAX
- Ported from branch 3.22.0
- The tx and rx windows can be displayed separately as now, or embedded in the main window.
- Added wefax tab in configuration menu.
- Max rows number, and adif log flag now stored in configuration.
- Destination directory can be set in configuration menu with Fl_File_Chooser.
- Added option for opening tx window from main menu (Like the rx window).
- Shift can ba changed, default 800. Can be set to 850 Hz for Deutsche Wetterdienst.
- Wefax adif log flag now in configuration (And is memorized).
- When clicking on a received file, the image is displayed in the tx window.
- Internationalization.
- Transmit image can be zoomed. Default zoom 50% like rx image.
- Suppressed duplicate info messages.
- The generated image is now really back and white.
- Display speedup.
- Fax can be saved in monochrome, takes less disk space.
- New option to reduce noise on images.
- Changed RX interface: Non-stop reception is now easier.
- Image RX starts ten lines earlier when high correlation detected.
- Display speed-up when zoomed.
- Cleaner indexing of correlation buffer
- Automatic Frequency Control.
- LPM default value for Wefax288.
- Set compression flag for PNG images.
- Refined AFC (Stable frquency once an image is loaded).
- Adjusted widgets size.
- Lowered max image height.
- Added image binarization.
- Changed default image mode to monochrome.
- Smoother slant correction
- Adjustment to constant frequency detection (Hamburg).
- Changed max image size.
- Added variable threshold for binary image.
- Added erosion/dilatation for fax enhancement (Experimental, disabled).
- More information when cannot load playback WAV file.
- Speedup waterfall display.
- Changed wefax AFC logic for setting frequency (Median/average).
- Fixed filenames list which was not scrollable.
- Save more information in images metadata.
- Change selected band for AFC detection.
- Changed level for APT start/stop detection. Now checks several lines.
- Added strformat for C-style string formatting.
- Better AFC.
- Default max image size is increased.
- More information saved with fax images.
- More filtering of empty blank images based on correlation etc...
- Change to use phasing information to stop images.
- Phase inversion flag is now constant.
- Detection of apt start on four successive lines instead of three only.
- Detection of apt stop on three successive lines instead of two only.
- Removed apt stop frequency detection (Too many false stops).
- Fixed bad proportion of sent faxes (They were vertically stretched).
- NAVTEX/SITORB - new Rx modems
- CW Farnsworth
- Changed method of generating Farnsworth code
- Added Farnsworth specifier to WPM macro tag; <WPM:WW:FF> WW = WPM, FF = Farnsworth WPM
- ASCII RTTY bug fix - corrected missing echo of transmit text in receive panel
- RTTY squelch / metric. Improved method of computing
signal metric for squelch use. Operates correctly with very
narrow band transceiver filters.
- Restored ability to send rsid at end of transmission
- RTTY CR-CR-LF - Added code to suppress print of double carriage returns
- MT63 Long - Changed configuration item for MT63 long interleave to 1 (vice 64)
- Added new modem types (see fldigi_changes.txt)
- Thor reset - added new thor modem types to function resetTHOR
- CW modem
- Noise suppression - Corrected decoder reset when noise detected
- Filter coefficients - removed integer dependency
- RTTY FSK modem - This patch contributed to by W1HKJ, Dave
Freese <w1hkj@w1hkj.com>, and DO2SMF, Stefan Fendt
<smfendt@gmail.com>
- Waveshaped FSK modem for classic RTTY using raised cosine matched filters
- Selectable Kahn or ATC demodulator
- RTTY scope based on separate mark / space filter outputs
- Corrected s/n estimator
- Change RTTY browser to new demodulator
- Fixed missing browser highlight for callsign detection
- Bypass Viewer signal processing if viewer(s) are not visible - significantly reduces % CPU use
- Separated psk-rtty range/value pairs for viewer squelch control.
- Olivia FEC reset - Added user control to enable/disable
automatic reset of FEC integration depth when BW / Tones are changed
either by user or via RsID reception.
- PSK viewer - Suppress psk viewer decoding if neither viewer is visible.
- RTTY bug fix - Missing initialization for Cmovavg bit filter pointer
- RTTY filters - added Modified Lanzcos RTTY Rx filter
- RTTY config tab - Cosmetic corrections
- RTTY stop bits - remove forced return to 1.5 stop bits for Baudot
- Analysis - Added timeout value to extinguish status message
- RTTY filters
- Removed deprecated Hilbert transform
- Corrected inverse FFT computation to provide unity gain h(t) -> H(w) -> h(t)
- Added design output statements to fftfilt.cxx - normally disabled
- Removed deprecated lpfilt, bitfilt, bp_filt_lo, bp_filt_hi
- Improved X-scope update rate
- Removed unused methods and members
- RTTY tx symbol shaper
- Correction to the placement of the additional zeros.
- RTTY config tab
- reorganized RTTY configuration tab
- RTTY tx code
- Added [] to array deletion statement
- RTTY no LF
- Display rx stream when a CR and no subsequent LF is received
- Contestia/Olivia
- Quick change / custom dialog
- Corrected Contestia callback in confdialog.fl
- Corrected resetOLIVIA function
- RTTY update
- Removed code used for filter tests
- Added CWI suppression, select decoding of - Mark-Space - Mark only - Space only
- MT63 mode selection - Changed to specifed short/long MT63 mode selection
ie: MT63-500S / MT63-500L
MT63-1000S / MT63-1000L
MT63-2000S / MT63-2000S
Interleave no longer a configuration item, but fixed by mode selection
S - short, 32 bit
L - long, 64 bit
- Contestia/Olivia
- Quick change / custom dialog
- Corrected Contestia callback in confdialog.fl
- Corrected resetOLIVIA function
- RsID Timeout - Modified rsid detection time out for secondary rsid sequence
- removes reliance on OS timing
- time out now dependent on sound card sampling only
NBEMS specific
changes
- Abort ARQ
- Added call
to Abort_ARQ when double ESC pressed (panic)
- Added
supporting code in modem class.
- FLMSG open
NBEMS/WRAP/recv folder
- Added code
to allow reception of an flmsg wrapped file to open the default file
explorer to the folder containing the new file.
- TX file
insertion
- For both
file insert and drag-n-drop insert into the Tx widget
- Change all
occurrences of ^ to ^^.
- Effect is
to treat all dnd text as plain text without special fldigi control
sequences.
- FLMSG open
data file in browser
- Added
code which causes fldigi to open flmsg with data file such that the
data is unwrapped and displayed in the default html browser.
- Used
in this way, flmsg performs the yeoman duty of unwrap, identification,
file saving and launching the browser. It never opens on the
desktop
- Added
ability to open both flmsg and default browser with successfull data
stream decode
- NBEMS-FLMSG Directories
- Allow user specification of FLMSG directory as a command line argument --flmsg-dir "full-pathname-directory"
- Defaults - Linux / OS-X $HOME/.nbems
- XP C:\Documents and Settings\<user>\NBEMS.files
- Vista/Win7 C:\Users\<user>\NBEMS.files
- ARQ Parse Mode
- Removed REQ_SYNC calls from push2talk invocation
- Added bounds tests on PTTTUNE:nnnn <modem> parameter PTTTUNE enables CAT ptt, but does not inject an audio signal
- Added XMTTUNE:nnnn parameter to enable CAT ptt and inject a 100% modulation audio sine wave
- Socket send on Linux - Modified socket send routine to test for kernel send socket failure
- Extract timeout - Removed 16384 size limitation on WRAP
file extract processing. Added 10 second timeout. Extract
process reset after a 10 second period of no incoming text.
- WRAP binary files - Add character handling in Rx for both received and transmit echo characters when sending binary data.
- flmsg/flamp stream processing - added parsing of cmd line
parameters when opening flmsg upon completion of wrap file
extraction. Added parsing of flamp text streams. Modified
socket arq to separate socket i/o from both signal processing and main
thread.
- DominoEX varicode - Corrected table entries for { } characters.
- ARQ rx/tx
- Added tx code to correct transfers of 8 bit ARQ
data. Needed to circumvent recent UTF-8 char support when
transferring data files.
- Added status bar notification when AMP extraction is being processed.
- Removed timeout on "Extracting FLAMP" and "Extracting FLMSG" status messages.
- NBEMS.DIR - Modify test for NBEMS.DIR file presence
to show more info in event log. Be careful when creating the NBEMS.DIR
file on Windows. Windows has a habit of adding it's own concept
of what the file name extension should be. For example:
XP named the file NBEMS.DIR.txt when a blank file was
created using the file explorer metaphor. NBEMS apps could not
find the file and the ".txt" extension is hidden from the users view in
the file explorer.
- ARQ Socket
- Fix for ARQ socket crash due to thread conflicts
- Added additional mutex to protect transmit queue
- Added additional lock/unlock mutex blocks
- Added code to put socket close() within a try {} catch {} block
- Get RX buffer - increased get_rx_data buffer size to 4096. short buffer size caused loss of ARQ data
- Add function modem->rx_flush() to flush receiver buffer to the receive window on RSID modem reset/change.
- Repetitive conditional statements removed by reordering
code flow rsid::apply(). This also fixes reported bug by
garylinnrobinson "RxID bug fix that affects Olivia, Contestia, MFSK,
RTTY"
- Add widget and control to retain frequency lock during a modem reset/change.
- Add widget and control to disable/enable frequency change during a RSID request while allowing modem change.
- Add widget and control to disable/enable Contestia FEC Block reset on modem change/reset.
- Moved data flush function above RSID message output
- Double Click bug fix - Double click text selection for transfer to QSO record fields
- Tabs Colors - Added ID / QRZ tabs to color schema
- ARQ
server - Changed ARQ server / client management. Old
implementation would cause Tx audio stream to be interrupted by client
services.
- PSKMAIL - Test changes to avoid pskmail lockup for certain control code sequences.
- PSKMAIL - write s2n / rsid encapsulated within required mutex to correct misalignment of ARQ strings.
Logbook / Logging
- Logbook sort order (date/time) initialized based on last use
- Added GRIDSQUARE to csv and text output reports.
- RX-TX log
file
- Added
Frequency : Mode to Rx/Tx lines in the file [fldigi folder]/fldigi.log
where [fldigi folder] is OS and installation dependent
- IPC Date
report
- Changed IPC
log date to DATE-OFF format dd Mmm yyyy
- ADIF format
fault
- Corrected
formatting fault of ADIF output. Fault caused when field data
string exceeded 100 characters. Fault prevalent on Windows
platform by virtue of temporary ADIF file used to populate external log
files.
- CONTESTIA
- Shortened
ADIF reporting name to CONTESTI.
- IARU
Maidenhead
- Changes
to documentation, alerts, and hints to reduce misunderstanding
regarding terms IARU locator and Maidenhead locator.
- Added
enable/disable RST out default to 599 control on UI/General [logging]
tab
- changed
contest 599 defaults to work only with contest logging panel(s)
- clear QSO
logging widgets on program start
- Added code
to convert uppercase operator name to camel case for all lookups.
- Changed
structure of logbook menu items
- DATE_TIME
sorting
- Added user
selection for date/time ON or OFF sorting
- Cabrillo
& ADIF exports follow the ON / OFF selection
- Logbook
browser follows ON / OFF selection
- Added user
selection to force DATE/TIME ON == DATE/TIME OFF
- QSO_DB sort
order
- Corrected
bug in date-time sorting of the logbook database.
- Sort is now
by DATE and TIME vice DATE and TIME_OFF
- Added
http://callook.info lookup to QRZ queries
- QSO_DATE_OFF
field implementation
- Implementation
of QSO_DATE_OFF field in the logbook according to ADIF 2.2.3 and up
specification.
- Time Macros
- Corrected
<QSOTIME> to update with logging field
- Added:
- <LT>
local time as HHMM
- <ZT>
zulu time as HHMMZ
- <LD>
local date as YYYY-MM-DD
- <ZD>
zulu date as YYYY-MM-DD Z
- Logbook
Field Sizes
- Removed
size restrictions on qso_db record fields
- Log Sort
- Changed
logbook sort to DATE-ON / TIME-ON comparison
- Changed
logbook browser to show DATE-ON / TIME-ON vice DATE / TIME-OFF
- PH Cabrillo
report
- Added SSB
to USB, LSB, PH log entries which generate the PH Cabrillo report
category.
- Removed PSK
restriction to spotting / notifier events
- Added
QSO_DATE_OFF to the file record
- Logbook client for fllog server
- Added xmlrpc logbook client
- Added configuration tab for logbook server connection
- Added retention of address/port in fldigi_def.xml file
- Added ability to reconnect to the server when addr/port changed
- Log Server lookup
- Added cty.dat search when connect to log server
- cty.dat must be installed in the current fldigi files directory
- Added www.hamqth.com callsign lookup
- HamQTH query
- Added error statements to notes
- Failure to obtain certificate
- Callsign not found
- Corrected parsing of QTH and QSL_VIA
- QRZ on-line lookup - Changed on line lookup URL format to comply with changes to QRZ.com
- Use Logbook record - Added Dial button in logbook editor to
set frequency / mode / operator to the the current record. Allows
easy retrieval of logged data to either continue a QSO or set one up
based on a log entry.
- Log r/w improvements
- Created separate thread for writing database. User
with over 35,000 records was experiencing UI interruption of several
seconds on Windows XP system.
- Removed compatibility code from log r/w. Logs prior to 3.1 will read but some fields will be ignored.
- Added new method "newrec" to CQsoDb class.
- Modified logbook read and write behavior to eliminate
duplication and employ faster string lookup algorithm in matching ADIF
tags to internal database entries.
- Restore Log Sort - After adding a record
- Ignore slash postamble callsign internet lookup.
- Log Export by date - Added ability to export logbook for a date range
- Added hamQTH.com web based lookup
- Added ability to simultaneously use both web and xml based call lookups
- Callsign query - Changed NOTES field behavior to append to
current contents vice replacing field contents from on-line query
report.
- Merge record logic error - Corrected logic error in merge logbook function
- HamQTH
- Test for expired session_id
- Request new session_id if expired
- Log Entries
- Changed position and size of fields to make better use of the space in logging panel
- Country & Notes resize with horizontal resize of main dialog
- No labels on these two fields - tooltips identify use
- Added button shape to the "On" label for Time On
- Logbook Update - Time ON/OFF
- Added seconds to logged time
- Update older records to use seconds, default 0
- Add seconds to time sort
- QRZ query notes- removed '\n' character if field returns empty
- Merge log records - Correction to merge logic for HHMMSS in
TIME_ON, TIME_OFF. Fix for possible seg fault during record
merging
- Log file update - Write UTF-8 to log file
- TLF arq - Restored use of gmfsk_autosend file for TLF. Change requested by new TLF maintainer, Tom Beierlein, DL1JBE
- Logbook Dialogs - Changed modality of Export and Cabrillo dialogs to fix issue on OS X with hidden calendar pop up.
- Dup Cty lookup - Enabled concurrent duplicate check and cty lookup for country / azimuth.
- QRZ query - Added LOG_DEBUG statement to allow user to
review query and response strings sent / received from QRZ, Hamcall,
HamQTH etc. Improved fields parsing for QRZ and HamQTH data
response
- eQSL url - Added suppression of CR/LF, control characters and characters > 0x7e from the eQSL url string.
Windows Specific
Changes
- Changed
interface method to connect to DigiTalk autostart no longer initiated
unless so configured
- Changed
Connect button on Misc tab to provide for both connect and disconnect
- Added new
macro tags to allow DigiTalk connect / disconnect using function keys
- <TALK:on|off|t>
start, stop, toggle the connection to the DigiTalk socket server
- Suppress
WARNING messages when using a Virtual Serial Port VSP's will
occassionally fail to respond within the timeouts set for a h/w port.
- ADIF/EQSL thread shutdown
- removed ADIF_close and EQSL_close execution from program shutdown process. Caused shutdown hangup on some Windows systems.
- added deletion of temporary log database class on exiting write routine.
- Win7 Open Logbook - Changes to accommodate Win7 random failure to read logbook on program startup.
- Path
separator - Removed special handling of path separator for WIN32
implementation. Effected ability to properly save logbook etc.
- Capture
Alt-F4 - Capture the Alt-F4 key combination in main dialog
handler. Windows does not provide shutdown signal to application
when Alt-F4 is pressed.
OS X Specific Changes
- OSX Lion shutdown
- close all dialogs except main dialog on close
- add configuration items
- SaveConfig : save fldigi_def.xml on exit (if changed)
- SaveMacros : save macro mdf file on exit (if changed)
- Normal shut down with prompts if File/Exit menu item selected
- Shut down without prompts for saved config, macros or log entry if window decoration "X" is used to exit program.
- cmd-Q exit event allows normal program shut down
- native-file-chooser
- Update to Native File Chooser widget. Passes corrected
parameters ... OS X very pedantic on parameter format
- Logbook Call width - Base Freq / Call control width on width of string "WW/WW8WWW/WW." vice "99.99999"99.
BUILD
Issues
- Added mode_info table restrictions which caused
segmentation fault on builds created using 4.6.x gcc compilers
- Corrected op-mode menu hide/show logic
- XMLRPC linking error
- Removed -lpthread from xmlrpc.m4 generation of XMLRPC_LIBS - newer gcc linker faults if -lpthread is out of order
- Compile warnings - Changed code to correct for some warning messages on newer gcc compilers
- Main thread hang - Mai thread would deadlock during initial
read of logbook. This was reported and duplicated on Linux and OS
X systems. Added timeout call to execute initialization routines
that might modify any UI element after Fl::run() is executed
- Fixed OS X "Native File Chooser" crashes
- Debug changes
- removed popup dialog messes on first encounter of ERROR / WARN message
- fl_message dialog could be hidden behind other open
dialogs such as signal browser, logbook or main dialog. Result
was apparent loss of focus for main dialog on Windows OS.
- moved debug::stop() to clean_exit function to prevent leaving zombie debug window visible when closing down application
- Fix TX text clear after macro
- When built with FLTK1.1, FTextTX::clear_sent() fails to
clear the TX text after transmitting it, so it gets transmitted again
every time TX is initiated. (When macro keys are used, it appears
as though fldigi gets "stuck" on the first macro sent).
- The bug occurs because FTextTX::clear_sent() should
consider txpos, not utf8_txpos, for FLTK1.1 builds, as this patch
implements.
- Open BSD fixes - Changes to allow correct build on Open BSD
- Fix crash if no OSS mixer support
- DistCheck cleanup - added uninstall NAVTEX_Stations.csv to src/Makefile.am
- Added code to allow source reversion to use Fltk-1.1.10 lib
- Libtiniconv - Removed Makefile.am, Added README.FLDIGI,
Added COPYING, AUTHORS, README, README.FLDIGI to list of files included
in distribution tarball.
- ARQ server - Changed to multiple client model
- NetBSD compile error - xmlrpc lib build; the original sed
script eats space chars around '-lpthread', causing g++ (4.7):
unrecognized option '-pthread-lrt'.
- Compiler Warnings - Fixes to quiet compiler warnings
- Free BSD mods - Changes required by recent Free BSD library mods
- flstring - removed flstring.h flstring.c from source - contained in fltk-1.3.1 ...
- Serial by-id - Added ability to find serial ports by device id; /dev/serial/by-id/ and the traditional /dev/tty...
- CRC16 and ANSII char set - corrected CRC16 computation to allow for characters larger than 0x7F.
- Fix glob_t usage - Only declare glob_t variable on systems
which use it, otherwise build fails on systems (kfreebsd) which don't
supply (or try to use) glob_t.
- Compiler warning fix - gcc 4.5.2 compiler warning for parenthesis ambiguity
- Fltk backward compatibility - Code changes to maintain
backward compatibility to fltk versions prior to 1.3.2. Revised
fltk.m4 to test for MAJOR, MINOR & PATCH levels
- xmlrpc-c removal - Replaced xmlrpc-c by embedded xmlprcpp
- Fltk backward compatibility - Code changes to maintain
backward compatibility to fltk versions prior to 1.3.2; revised fltk.m4
to test for MAJOR, MINOR & PATCH levels
- Compiler warning fix - gcc 4.5.2 compiler warning for parenthesis ambiguity
- Fix glob_t usage - Only declare glob_t variable on systems
which use it, otherwise build fails on systems (kfreebsd) which don't
supply (or try to use) glob_t.
Screen shots (click thumbnail for a
full size image):
|