* Added UDP interface to read data exported by MacLogger
- UDP data stream on socket 255.255.255.255 / 9932
- User configurable items:
. enable/disable UDP socket reads
. Capture and use UDP Radio Report data
. Capture and use UDP Spot Tune data
. Capture and use UDP Spot Report data
. Capture and use UDP Log Report data
. Capture and use UDP Lookup Report data
. Enable UDP string capture to file
file in fldigi files/temp folder
filename: maclogger_udp_strings.txt
* Added <signal.h> to threads.h to avoid missing reference
to sigemptyset in some gcc installs
* suppress info messages during prog start
- prodigiuous use of LOG_INFO increases difficulty of
debugging other aspects of fldigi
- enable the INFO messages for debugging or to observe
program flow by setting command line flag
-more-info ; case is significant
* Incremental Frequency Keyed + modem
- wide band, moderate speed differential MFSK signal
with offset +1.
- sample rate 16000
- symbol length 4096
- 33 tones spaced 3xSR/symlen apart approximately 398 Hz
bandwidth.
- multiple image transfer formats similar to FSQ
. Avatar (59x74 WxH pixel) image transfers
- tunable modem subcarrier (center freq)
. may be configured fixed at 1500 Hz or
. set to Psk sweet spot
- raw data received written to audit log - if enabled
- heard list entries written to heard log - if enbled
- assigned fldigi secondary RSID code, (56, 1171)
* Fix copy all on heard list
* change default color scheme as requested by ZL1BPU
- added user configuration items for RX text colors
* remove "MONITOR" text from RX panel as requested by ZL1BPU
* added fsq tx text queue to handle case when user
tries to force a second transmit sequence when modem
is already in TX state.
* last_command updated to include both queued and transmitted
text string.
- allows recall of queued command even if transmit timed out
* last_command changed to a stack of commands
- allows recall of up to last 10 commands
- each press of F2 recalls one deeper in stack
- rotates back to beginning after recall of most ancient
* add call to logbook using right click on heard entry
* Fix erroneous date in audit log when fsq is default
modem during program start
- change format of date entry to make it easier to
find when reviewing the log.
* Added video text at beginning of transmit
- also adds ability to transmit pretone
for amplifier carrier detect
for FM repeater operation
* Add code to force center frequency to 1500
when switching from another modem
* Fix to avoid time out errors
* Macintosh OSX thread management
- submitted by KK5VD
- Ensure FSQ TX routines are called in the main thread.
* Add menu item "Scripts" and callback function.
* Add scripting engine.
* Update script engine for localization strings/messages.
* Add hierarchy syntax
* New file run_script.h
* Hierarchy integration completed
* Add command set
* Add 'int find_index(char *)' to combo.cxx
* Add menu item 'Generate Script' and code for generating a default
config script file.
* Add void loadRigXmlFile(void) to rigxml.cxx to support scripting calls.
- Trim leading/trailing white spaces from portaudio device names.
* Remove duplicate calling functions/method members.
* Move command parameter specific verification to run_script.cxx
basic testing remains in script_parsing.cxx
* First Document Draft - Script commands
- Add Misc NBEMS config commands
- Add Notice - Program restart required.
- Update Documentation with new commands
* Removed Unused Variables (multiple locations)
* Change behavior of floating point output for script generate.
* Remove function qsy() use restriction on rig control availability.
* Add strnlen, strncmp and strncpy checks to configure.ac
* Add trim_white_spaces, strnlen, strncmp and strncpy routines to util.cxx
* Add pa_set_dev() to soundconf.cxx for updating pa device names.
* Add code to save macro(s) with content only.
* Add config_script files to POTFILES.in for localization processing.
* Flag command types.
* Limit generate script output based on configure content.
* Change script error dialog box to warning.
* Change default rig.xml to rig-unassigned.xml. For testing purposes.
(script generation)
* Update Documents with Notes about script generation and executing.
* Correct \ref and \section name duplicates in doxygen doc source
* Add script commands for ID->RSID/Video/CW panel.
* Move Script/Execute/Generate Menu Items to File Menu.
- Move repetitive code into general functions.
* Rename "Scripts" menu item to "Config Scripts"
* Fix error introduced in last mods. Port Audio Gen Config
* Added following to inline macro set
- <!RIGCAT:...>
* Added video text tag, always executes inline
- <VIDEO:text>
* Added new post <RX> processing que and the following
tags
- <@MODEM:
- <@RIGCAT:
- <@GOFREQ:
- <@GOHOME>
- <@RIGMODE:
- <@FILWID:
- <@TXRSID:
* Add ability to send a gray scale image using the macro
<IMAGE:filename>
gray scale switch used as:
<IMAGE:G,filename> or
<IMAGE:g,filename>
white space may appear anywhere in front of the filename
as in
<IMAGE: G, filename>
* update to documentation
* 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)