* UI crashes if "View/Controls/none" is selected without
first resizing the main dialog, saving and restarting
* lost commit 03ef903606 during
subsequent commit mergers
- This commit restores that lost bug fix
* removed tabUI from startup Wizard
- unitialized variables and widgets
* New configuration panel 'IO'
* Add power density zones.
* Query and Set Kiss hardware commands
* Support bcast rsid over kiss socket
* limit selectable modem options to 8 bit versions only (kiss i/o mode)
* Employs simple HDLC encapsulation frame for transmit/receive CRC data
verification.
* Uses histogram based threshold detection.
* Include manual squelch button for KISS op's.
* User configurable inhibit transmit on busy frequencies for nn seconds
* Impose transmit wait on valid frame reception
* Uses dual UDP ports for concurrent operation of programs using the
same IP address.
* Clears the transmit buffer when data is available for more then 10
mins and has not been transmitted.
* Provides ax25 decoding. Code hijacked from the FLDIGI packet modem co
- redirect character data display on the RX panel
* Add non standard KISS frame to handle ARQ data.
- interface can handle both ARQ data and HDLC ax25 frames on
the same port.
* Squelch related command and control functions to the KISS hardware
interface.
* User configuration item to disable CSMA from config panel and kiss
hardware frame.
* Additional KISS command to adjust KPSQL detection gain (for testing).
* Removed unused function in sockets.cxx not compatible with LINUX OS.
(from John, G8BPQ)
* New command 'BUSY:<T|F>'
* Custom bindUDP() for UDP support.
* Waterfall display gain adjusted based on sample rate changes.
* Expanded conditions that indicate BUSY:T on command request.
* Log loopback condition to event log.
* Restore KPQSL set level position on start up.
* Conditionally log of the KISS data path strings
* Added debug filter 'KISS control' to event log.
* KPSQL threshold button indicator remains ON during transmit inhibit.
indication of active 'Busy Channel'.
* Added DEBUG Logging command LOG_HEX(const char *buf, int len);
D:,... ReadFromHostSocket: ..BUSY:. C0 06 42 55 53 59 3A C0
* Added thread locks to waterfall.cxx:
- powerDensity()
- peakFreq(),
- powerDensityMaximum()
These are being accessed by more then one thread.
* Swapped hash.m4 swapped test case to std::tr1::hash from std::hash
- Updated pskrep.cxx to handle the change in hash.m4
* 8PSK2000 removed.
* Coordination merge with branch kiss21.
* Code clean up
* Updated Documentation. Remove unused png's.
* Request from Jim, W2XO: Add log.set_rst_in and log.set_rst_out xmlrpc
commands.
* Compiler warning pacification (global in scope).
* New XMLRPC commands to query and set active IO port.
* Documentation update for XMLRPC commands
* WSAStartup and WSACleanup one for one issue.
* Update Docs for 3.22 release. New png's added.
* Added FL_APPS directory recognition for placement
of fldigi.files, NBEMS.files.
- Linux : Changed from .fldigi to fldigi.files
- Linux : Changed from .nbems to NBEMS.files
includes programmatic change of existing directory
names.
* Changed all instances of Fl_Choice and Fl_Input_Choice
to Fl_ListBox.
- old Fl_Choice objects renamed to listbox_xxx
- old Fl_Input_Choice objects renamed to i_listbox_xxx
- Note that i_listbox_xxx objects need indexing offset
to maintain compatability with progdefaults definitions.
- New objects should use listbox_xxx naming convention.
- This removes a rather ugly Fltk widget. Fltk does not
have a native ComboBox or ListBox widget.
* These changes are an attempt to catch and/or document start
up failures on Windows systems.
* Standardized the fatal exit process and message handling
* Changed system calls in util function create_directory(...)
* Changed name of DATA.files to "data" and placed directory in
the home directory for specific target OS.
- Added creation of data directory to main()
- This effects the location of Synop data files!
* initialize active_modem pointer to point to
an instance of NULLMODEM, before any other threads
or UI are started.
* eliminates active_modem pointing to a NULL pointer
and being accessed by a thread external from the
thread which initializes the active modem. This
segmentation fault seems associated with an OS
which manages threads over multiple cpu cores.
* Changes to insure that array boundaries are not exceeded
* Moved large array from stack to static store.
* Added cmd line parameter --debug-audio to enable audio
debug events. default is off.
* Synop decoding in RTTY mode in reception buffer, in red.
* Creation of KML file for Synop data.
* Creation of KML file for Navtex messages.
* User locator displayed in KML.
* Multiline Synop and Navtex messages displayed in Adif logs.
* Added flsynop program as stand alone Synop decoder.
* Fixed Navtex default stations filename and Italian stations.
* Fixed Navtex frequency error.
* Added KML tab in configuration menu.
* Added parameters files for Synop decoding.
* Fixed CoordinateT type for different deserialization.
* Less logging messages from subthreads, because they might crash.
* Added try/catch blocks in main program.
* Can reload previous KML files at startup.
* Named WMO code tables in Synop decoding.
* Synop data can be logged to Adif files.
* flsynop can load kml files from one dir and save them elsewhere.
* Added strreplace and strcapitalize.
* Added Levenshtein distance for future use.
* Added class QsoHelper to ease Adif logging.
* East longitude positive, West negative. Fixes Navtex detection.
* Chars '=' or ';' used as a Synop end-of-section marker.
* Added option command in KML tab executed on KML file save.
* Reverse mode now saved in configuration.
* Comments in DOxygen syntax.
* Kml snippet stored once only per placemark.
* Code more compatible with Eclipse parsing.
* Synop decoded text can be interleaved with 5-digits groups.
* KML balloons can be in simple tables, matrices or plain text.
* Adif messages are saved in the main thread.
* Starts external command only if KML file was saved.
* Maximum KML data retention time is ten years, default 0 is no limit.
* Do not reload KML files when changing KML parameters.
* User kml file does not grow at each fldigi start.
* Relative humidity always parsed with Celsius temperature.
* Empty KML files are created on startup if not there.
* Prepared porting processes functions to Mingw.
* Added script for FTP transfer of KML files.
* Added synop_tool
* Navtex now has reverse mode.
* Data files can be updated from the Internet.
* HTTP load without anymore because crash in Wine
* rewrite of arq_io.cxx with assistance of Remi
- more clearly define use of various variable mutex
- added mutex blocks to TLF interface
- changed from ::lock ::unlock to
guard_lock usage.
* added command line switch
--debug-pskmail
which enables verbose time-tagged logging for
ARQ and PSKMAIL events
* added guard_lock to debug methods
* 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
* 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 CharsetDistiller
* 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
* Cleanup modem UTF-8 code
- PSK, Olivia, MT63 and MFSK modems:
cleanup of unneeded UTF-8 handling code
- 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
* UTF-8 code cleanup
- 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.
* 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.
*First ERROR message
- 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
* Added conditional compilation for
- Panel.cxx
- Fl_Text_Buffer.cxx
- Fl_Text_Display.cxx
- Fl_Text_Editor.cxx
- FTextView.cxx
- FTextRXTX.cxx
* Added code to support fast wrap
- Rx text buffer serviced as a non-wrap buffer
- new lines inserted into text stream when current line
length exceeds the panel width
- no attempt to recalculate word wrap if panel is
resized
- needed for slow cpu and OS X X implementation
* Added margin adjuster
* Removed horizontal scroll when word wrap enabled
* Set vertical scroll to always visible - prevents
unnecessary reformating of text when scroll bar
goes from hidden to visible
* Corrected faulty logic in handle_dnd for dragging file from
file manager view to editor widget
- SHIFT-dnd places object name into target widget
- dnd places object contents into target widget
- dnd multiple objects concatenates contents into target widget
* Test for bottom of text visibility when programmatically
adding characters to a text view or edit buffer (Rx/Tx)
* Implemented common FSEL methods for Fltk 1.3.0
- 1.3.0 used common calls for all supported OS
* Allow user to specify location of cty.dat file.
* Use specified cty.dat path to also locate
lotw1.txt and AGMemberList.txt
* Allow user to reload the file(s) if updated while fldigi
is running or the location is changed.
* This change allows multiple instances of fldigi to use a
single, manageable, installation of the files
- cty.dat
- lotw1.txt
- AGMemberList.txt
The three files must be co-located in a single folder.
* Main 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
* 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
* Fix build on GNU/Hurd (or other platforms which do not define SA_NOCLDWAIT.
* Fix build on GNU/Hurd (or other platforms which do not define any PATH_MAX)
* 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
Changed creation of NBEMS directory structure.
* Only created when required by program or elected by
operator when using the File/Folders/NBEMS files... menu item
* Changed NBEMS directory to ~/.nbems/ on Linux and friends
* NBEMS directory remains NBEMS.files on Windows
* Append text to main window title such that the title set with
-title is preserved as a prefix.
* Use the -title argument as the JACK or PulseAudio stream name.
* Remove deprecated options: --twoscopes, --experimental
* Add --wfall-only alias for --wo
* Rename --frames-per-buf to --frames-per-buffer. Old option name will
still work as it is an abbreviation.
* Add arg_error function to handle errors. Messages may be printed to
stderr or displayed in an error dialog depending on OS and whether
stderr is a terminal.
When copying configurations around among similar machines, a non-optimal
Sinc interpolator may have been selected. Provide the user with the
information even when fldigi has already been configured.