* KISS TCP/IP
- Add TCP/IP KISS interface
- Add Start/Stop (UDP/IP) and Connect/Disconnect (TCP/IP) option.
- Add Listen/Bind Option.
* Operator selectable 4/8/16PSK preamble duration
- Add code to allow user to change the preamble duration to improve
throughput when not operating via repeater. (KL4YFD).
- Add user selectable checkbox on PSK (8PSK) modem configuration
interface panel for above addition (KK5VD).
* Update FLARQ icons
* Fixed erroneous metric computation when received signal is zero
- error apparant when testing with CODEC that has no applied audio
- bug report by Per Crusfalk, SM0RWO
* Lowered CPU requirements to allow for use on Android/Netbook devices:
- Added modes 125FL and 250FL with constraint length 13 FEC
- Adjusted maximum traceback memory for viterbi decoder
- Set traceback to an optimally-high value in viterbi.cxx constructor
- 8PSK - 500F 1000F & 1200F now use only 1 viterbi decoder without voting
- Assigned secondary RsID codes to 125FL and 250FL.
* Code cleanups in psk.cxx
* Combined effort of W1HKJ, KK5VD and KL4YFD
* Corrected 8psk1333 symbol rate to 12
* Added no-fec and fec for each 8psk modem type
* Assigned RsID codes to new modem types
- backward compatible with previous 8psk implementation
* Reset interleaver at the start of PSK TX.
* Add init() routines to encoder:: and viterbi:: in order to reset
internals without reallocation.
* Remove string length variance 'n' when measuring char timing.
* 8PSK soft decoder
- 8PSK soft bits now use the phase error as a measure of received-bit quality
- phase error is applied in combination with the a-priori mapped softbits
- hard-coded the gray-unmapping of incoming bits (reduced CPU load slightly)
* AFC using vestigial carrier for all 8psk modes
- enable using "PSK pilot" on psk config tab
- level controllable on psk config tab
- use increases cpu usage
- use can improve low s/n decoding
* Updated 8psk mode and configuration documention
* Script Generate should save PA device index vice menu index.
* PSK: Possible segment fault. Tighter control on string lengths
* Util.cxx add comment block to each functions and remove
trim_white_spaces() function.
* modified rtty and psk viewers to eliminate modem specific
code in the UI elements
* restricted psk multichannel viewer to modes
- PSK31, PSK63, PSK63F and PSK125
- QPSK31, QPSK63 and QPSK125
* removed global references to Class internal elements
- ::pskviewer
- ::rttyviewer
- Upgraded 8psk to Gray mapped constellation
- Implemented Soft-Decision decoder based on Gray constellation
- Even when the received phase is distorted by +- 1 phase-position:
- One of the bits is still known with 100% certianty.
- Only up to 1 bit can be in error.
- Increased gain for noisy/weak/HF channels
* read timing factors for string transmission by external
program using new xmlrpc query
- main.get_tx_timing
respone - #samples: samplerate: transmit_time (secs)
* read char rate table using external xmlrpc query
- main.get_char_rates
table structure
char, ascii-rep', #samples, samplerate, transmit_time (secs)
* added hidden macro <CPS_TEST> which simulates transmission
of test string and measures the character per second rate
for the modem in use.
- <CPS_TEST> uses internal "Jabberwocky" string
- <CPS_FILE:[full pathname to file]> uses external text file
- <CPS_STRING:ascii text string...>
- produces report similar to:
CPS test
text: /home/dave/dev.git/all.git/pskr-tests/paris.txt
mode: PSK-500R
# chars: 2400
xmt time: 56.580000
data time: 52.480000
data samples: 419840
sample rate: 8000
chars/sec: 45.731707
~WPM: 457.317073
* Allow writing wav file during timing test
* High Speed WAV
- Add macros to enable writing WAV file in at maximum
character throughput.
- disables codec output
- use this for creating wav test files
* Suppress waterfall display for CPS and WAV tests
* Remove PSK printf debug statements
* Fix MFSK xmt 0x05 --> 0x04 during CPS testing
* read timing factors for string transmission by external
program using new xmlrpc query
- main.get_tx_timing
respone - #samples: samplerate: transmit_time (secs)
* read char rate table using external xmlrpc query
- main.get_char_rates
table structure
char, ascii-rep', #samples, samplerate, transmit_time (secs)
* added hidden macro <CPS_TEST> which simulates transmission
of test string and measures the character per second rate
for the modem in use.
- <CPS_TEST> uses internal "Jabberwocky" string
- <CPS_FILE:[full pathname to file]> uses external text file
- <CPS_STRING:ascii text string...>
- produces report similar to:
CPS test
text: /home/dave/dev.git/all.git/pskr-tests/paris.txt
mode: PSK-500R
# chars: 2400
xmt time: 56.580000
data time: 52.480000
data samples: 419840
sample rate: 8000
chars/sec: 45.731707
~WPM: 457.317073
* Allow writing wav file during timing test
* High Speed WAV
- Add macros to enable writing WAV file in at maximum
character throughput.
- disables codec output
- use this for creating wav test files
* Suppress waterfall display for CPS and WAV tests
* Remove PSK printf debug statements
* Fix MFSK xmt 0x05 --> 0x04 during CPS testing
* Changed fftfilt implementation to use g_fft class vice
Cfft class.
* Removed multi-channel decoding when not visible or configured
for decoding when not visible.
* Changed fftfilt implementation to use g_fft class vice
Cfft class.
* Removed multi-channel decoding when not visible or configured
for decoding when not visible.
* This patch contributed to by
W1HKJ, Dave Freese <w1hkj@w1hkj.com>
DO2SMF, Stefan Fendt <smfendt@gmail.com>
* Waveshaped FSK modem for classic RTTY using raised cosine
matched filters
* Kahn 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.
* This patch contributed to by
W1HKJ, Dave Freese <w1hkj@w1hkj.com>
DO2SMF, Stefan Fendt <smfendt@gmail.com>
* Waveshaped FSK modem for classic RTTY using raised cosine
matched filters
* Kahn 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.
* This commit contributed to by:
- John Douyere <vk2eta@gmail.com>
- Dave Freese <w1hkj@w1hkj.com>
- John Phelps <kl4yfd@gmail.com>
- Andrej Lajovic <s57ln@hamradio.si>
* New high speed and multi carrier modems
- psk, pskr
- DominoEX
- Thor
* Added separate modem initialization for
Olivia tone / bandwidth pairs:
- 4/250, 8/250
- 4/500, 8/500, 16/500
- 8/1000, 16/1000, 32/1000
- 64/2000
* RSID changes
- Added secondary RsID code set
- RsID code 263 enables detection of the secondary
RsID code burst.
* MFSK UTF-8 tx
- corrected transmit of two-byte UTF-8 characters
* PSK-UTF-8 tx
- corrected transmit of two-byte UTF-8 characters
* Changed PSK multicarrier bandwidth markers to show full
extent of signal in the waterfall.
* THOR modem updates
- Added Thor high speed modes
25x4, 50, 50x2, 100 Baud, all < 1800 Hz bandwidth
- IFK+ Softdecode function for THOR
dynamically detects and suppresses CWI
Rx printing is disabled when "File IO only" is selected for
soundcard. Decoder uses puncture in this condition.
- THOR FEC confidence indicator
Uses the actual path-metrics from the Viterbi decoder.
Displays next to the S/N in the main dialog.
* This commit contributed to by:
- John Douyere <vk2eta@gmail.com>
- Dave Freese <w1hkj@w1hkj.com>
- John Phelps <kl4yfd@gmail.com>
- Andrej Lajovic <s57ln@hamradio.si>
* New high speed and multi carrier modems
- psk, pskr
- DominoEX
- Thor
* Added separate modem initialization for
Olivia tone / bandwidth pairs:
- 4/250, 8/250
- 4/500, 8/500, 16/500
- 8/1000, 16/1000, 32/1000
- 64/2000
* RSID changes
- Added secondary RsID code set
- RsID code 263 enables detection of the secondary
RsID code burst.
* MFSK UTF-8 tx
- corrected transmit of two-byte UTF-8 characters
* PSK-UTF-8 tx
- corrected transmit of two-byte UTF-8 characters
* Changed PSK multicarrier bandwidth markers to show full
extent of signal in the waterfall.
* THOR modem updates
- Added Thor high speed modes
25x4, 50, 50x2, 100 Baud, all < 1800 Hz bandwidth
- IFK+ Softdecode function for THOR
dynamically detects and suppresses CWI
Rx printing is disabled when "File IO only" is selected for
soundcard. Decoder uses puncture in this condition.
- THOR FEC confidence indicator
Uses the actual path-metrics from the Viterbi decoder.
Displays next to the S/N in the main dialog.
* 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
* From: Andrej Lajovic <s57ln@hamradio.si>
- Substitute symbolic names for negative return values of
get_tx_char()
* 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.
* 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
* From: Andrej Lajovic <s57ln@hamradio.si>
- Substitute symbolic names for negative return values of
get_tx_char()
* 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
* Global setting for RX/TX charset
* 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.
* Moved viewer squelch from a configuration to a status item
* Added width/height to viewer saved state
* Added character width report to pskbrowser methods
* Added enable/disable psk browsing for very slow cpu's
- control on psk config tab
- default to enable ON
* 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