* 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
* 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)
* 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
* 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.
* Changed secondary time out to use real time vice
RsID symbols
- required when actual modem sample rate is greater
than RsID sample rate, such as 8PSK modem types
* removed source files for Cfft, the original fast fourier
transform used in fldigi. Cfft has been replaced by
g_fft, the fast fourier transform C++ template based on
public domain code by
John Green <green_jt@vsdec.npt.nuwc.navy.mil>
* Added LOG_DEBUG statement to indicate when an
rsid code is not assigned to a modem type.
* Added code to disallow
<!MODEM:SSB> and <!MODEM:ANALYSIS>
macro tags.
* Added code to clear macro queue when T/R returns
to receive using the T/R button.
* Added assigned(trx_mode m) method to class cRsId
- used for testing whether Tx loop should invoke
the cRsID::send(...) method
* Corrected position of dtmf->send() in tx loop
* Changes needed to improve double RsID detection
* Removed resample test and dependent code
* Reimplemented FFT bucket array
- removed array pointer arithmetic
- memory copy and initializers used to update
the bucket array
- modified search routine to insure that all elements
of FFT bucket array are tested.
* Deprecated use of hash tables for initial RsID search
- search sensitivity and hash table use were incompatible
* 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
* 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 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
* 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.
* Added pre-signal 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).
* Added user setting in seconds to allow RSID to open squelch in
decoder.
* Changed default to Extended Characters for Olivia, Contestia
and MT63
* Change default to "Capture wrapped messages"
Merger of all work submitted by Remi which was based on
3.13BY. Merge accomplished by reducing mulitple commits
to a single and then cherry-picking that commit to the
master branch. No merge conflicts were experienced.
Modified fl_digi.cxx / wefax items to comply with post
3.13BY changes.
Added Contestia modem with Rx/Tx support of RSID. This mode is
not suitable for use with flarq, flwrap or flics. It is very
suitable for contesting or conversational QSOs.
The qsy() function will now change the rig frequency when it notices
that the modem is permanently frequency-locked (e.g., MT-63).
* Remove modem_frequency argument and associated code from the various
rig control set_qsy functions, this is now done by qsy().
* Make modem::set_freq() virtual and override it in mt63 in order to
better prevent frequency changes.
* Use qsy() in the RSID decoder and notifier "Go to freq" callback.
Add menus to select
* modes that will be switched to on RSID reception
* modes for which to transmit RSID / VideoID / CWID
The defaults are:
* Receive RSID: all modes
* Transmit RSID & VideoID: all except CW, PSK31, RTTY
* CWID: all except CW
Also add option to choose which modes are shown in the main OpMode
menu.
* Reorganise RSID data declarations
* Synchronise with F6CTE's RSID list
* Decode and transmit RSID for Olivia 8/1000 and 8/250
* Print message when decoding RSID for unimplemented modes
* Added new modem types PSK-125R, PSK-250R, PSK-500R,
which use the following for additional noise and phase
multipath immunity:
. convolutional coding
. bit interleaving
. soft decoding
* Added modem type PSK63F, compatible with MultiPsk PSK63FEC
* Added RSID codes for PSKR and PSK63F
* Changed naming convention of MODEM_BPSK31 to MODEM_PSK31 to be
consistent with other PSK baud rates
* Change Sound*::Read methods to float
* Enable RSID upsampling for 8 KHz modems
* Add main.{get,set,toggle}_rsid XML-RPC methods
* Add option to disable RSID decoding on reception
* RSID may be enabled during transmit or tune