Wykres commitów

156 Commity (d2449479236a2228991c14887f62d2d4dcd7ddde)

Autor SHA1 Wiadomość Data
David Freese 678f66b460 modem timing test
* 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
2014-01-31 12:55:33 -06:00
David Freese 6313bf7e6d ARQ timeouts
* Modified timeouts and timeout logging
    - newer modems timed out waiting for
      release from Tx to Rx state.
  * Changed sending 0x06 character to ARQ client
    from end of ARQ tx buffer event to actual end
    of transmit event.
2013-11-16 12:58:44 -06:00
John Phelps 45fc67910e MFSK HF Long Modes
* Added MFSK64L and MFSL128L new modes
 * 6.25 Second interleaver for very-robust HF reception
 * Assigned new RSIDs
  * Mode MFSK-64L : 1026
  * Mode MFSK-128L : 1029
2013-10-29 04:48:25 -05:00
Remi Chateauneu e52626b284 Various speed-ups, fixes and cleanups
* decay_avg
* Member modem must be initialised.
2013-10-29 04:42:32 -05:00
David Freese 97ffdb05f9 RsID, Macro Queue, DTMF transmit management
* 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
2013-09-22 06:56:32 -05:00
David Freese 262053bb95 RSID update
* 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
2013-09-22 06:48:13 -05:00
David Freese d73fc93bb2 initialize active_modem
* 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.
2013-09-22 05:55:33 -05:00
David Freese 6e66d2cd9a Modem class
* Removed morse as base class of modem
  * Added element to modem which is of class cMorse
2013-08-02 18:34:01 -05:00
David Freese 1a9a42db2f trx semaphore
* deprecated call to trx_wait_state when changing modem
    types
    - caused semaphore locked condition when running with
      pskmail server
2013-08-02 18:34:00 -05:00
Robert Stiles 957a1b49bf Portaudio exceptions
* Ignore exceptions >= 0
2013-08-02 18:34:00 -05:00
David Freese 5a9287760c PortAudio
* Added throw exception statement and loop test to PortAudio
    Read and Write while blocks
  * Potentially cause of reported faults and unresponsive behavior
    by both Linux and Windows users.
2013-08-02 18:33:59 -05:00
David Freese ffcdeb18aa PSKMAIL
* write s2n / rsid encapsulated within required mutex to
    correct misalignment of ARQ strings.
2013-05-20 20:11:09 -05:00
David Freese b03bde83d4 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
2013-05-20 19:41:18 -05:00
David Freese ac83021957 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
2013-05-20 18:46:45 -05:00
David Freese 860444bca3 Misc NBEMS mods
* 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
2013-05-19 18:11:33 -05:00
David Freese 75a8e09004 High Speed Playback
* high speed playback of wav file
  * on/off/toggle control is provided with an
    undocumented macro tag
    - <HS:on|off|t(oggle)>
  * Start wav playback at normal speed and allow
    decoding to begin.  Then change to high speed mode.
    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
    if toggled off at end of file.
2013-05-19 17:55:26 -05:00
David Freese 14329e533d High Speed / Multi-Carrier Modems
* 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.
2013-01-10 13:46:52 -06:00
John Phelps 51db482d9a 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
  * From: Andrej Lajovic <s57ln@hamradio.si>
    - Substitute symbolic names for negative return values of
      get_tx_char()
2012-12-08 08:04:47 -06:00
David Freese ede0fd89d6 RsID Multiple
* Added Macro <NRSID:[n]> where
    - n < 0 will cause |n| RsID bursts and exit from Tx
    - n > 0 will cause |n| RxID bursts and Tx continue
    - n == 0 will cause a single RxID burst and Tx continue
    - multiple RsID bursts are separated by an interval of
      200 milliseconds
2012-08-04 07:53:08 -05:00
David Freese 07d5d89b5e Restore post signal rsid
* Restored ability to send rsid at end of transmission
2012-08-02 14:45:04 -05:00
John Phelps 93e0a1b0f2 DominoEX-THOR mods
* Changed DominoEX 85 and THOR 85 to DOM/THOR 44
  * Changed DominoEX125 and THOR 125 to DOM/THOR 88
    - DominoEX 44 and THOR 44 are doublespaced modes
  * Raised the viterbi traceback length to accomodate a long constraint length code.
  * added THOR soft bit decoding function
  * modem listens for the THOR preamble sequence of tones
  * on receving the preamble, flushes the interleaver and viterbi decoder with punctures
    clears noise / garbage bits out of soft rx pipeline, improving FEC performance
  * changed one, zero soft-bits to unsigned char
  * Updated THOR modem configuration tab
2012-05-08 19:12:25 -05:00
Remi Chateauneu f2268b8841 Navtex enhancements.
* Navtex transmission.
	* SitorB reception and transmission.
	* Navtex lookup of the station name and locator.
	* Typo in qso_db.cxx.
2012-02-10 12:01:29 -06:00
David Freese 8d54e28869 NAVTEX modem
* Navtex reception modem added, initial release.
  * Added XML-RPC navtex::get_message.
  * Added logging of Navtex messages.
2011-12-10 11:55:18 -06:00
David Freese 0c064c64a4 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.
2011-12-10 11:55:17 -06:00
Remi Chateauneu ee1ab43ae4 Modem class update
* get_xxx methods declared const where appropriate
  * Simple get_xxx methods inlined for better performances and smaller code.
2011-12-10 11:55:17 -06:00
David Freese fdf5fe0160 Timer delay
* Moved timer restart from Tx string parser to
    tx_transmit loop
2011-10-04 15:31:42 -05:00
David Freese 6b39f526b9 WWV xmt mode
* Added sound card time tick transmit
2011-09-21 10:29:24 -05:00
David Freese 1c8cfca976 Scheduled Macro
* 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.
2011-09-21 06:46:31 -05:00
David Freese 502e62e6a6 <!IDLE
* Corrected string to numeric conversion
  * Added abort processing / queue reset
  * Modified macro parsing to allow multiple
    invocations of macro containing <! tags
2011-09-19 15:07:50 -05:00
David Freese 75aa9a85a6 NULL modem
* Added call to ModulateXmtr with empty buffer
    allows waterfall to drop during NULL-IDLE
2011-09-18 07:47:48 -05:00
David Freese c62a3955e5 NULL modem
* Added NULL modem, a device which does not receive
    but can enable transmit.
    - used as modem type before !QSY, !GOFREQ etc
    - used with <DTMF... to transmit DTMF tones and no
      other modem audio stream
  * Modified IDLE test in get_tx_char
2011-09-15 06:56:41 -05:00
David Freese 1f6398ed05 Delayed macro timing
* Fixed potential to hang when processing modem change
    from one with a long postamble such as
    - Olivia
    - MT63
    - MFSK
  * Added timeout counters to avoid infinite recursion of
    calls to Fl::add_timeout
2011-09-10 19:23:28 -05:00
David Freese 6a03241f36 Delayed Tags
* Added queued tags
    - <!GOHOME
    - <!GOFREQ
    - <!IDLE
    - <!WAIT
2011-09-08 14:34:26 -05:00
David Freese 563d667ca2 Inline macro tags
* Created ability to delay execution of designated tags
    until the time of occurance 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
  * The <! tags use the same parameters as their non delayed
    counterparts
2011-09-05 16:08:24 -05:00
Remi Chateauneu 1da9ed17eb modem::display_metric now sets the member modem::m 2011-09-04 14:35:52 -05:00
David Freese 7184fb8947 DTMF decoder
* Added decoder to cDTMF
2011-09-03 19:27:19 -05:00
David Freese ff3b0b2039 DTMF class
* Changed implementation to separate class, similar to RsID
    implementation
  * Added Delay and Tone Pulse Length parameters to <DTMF: tag
    - <DTMF:D500:L250:1-256-828-3105>
    -       |    |    |_phone #
    -       |    |_250 msec pulse duration, 50 msec default
    -       |_500 msec wait before first tone, 0 default
  * Decoder under development
2011-08-30 14:09:00 -05:00
David Freese 3113c68de8 DTMF encoder
* Added DTMF encoder accessible as a macro tag
    - <DTMF:string of chars> where string of chars can
      contain 0..9,space,-,comma,*,#,A..D
    - space, hyphen and comma insert a 50 msec silent
      period in the transmissions
2011-08-29 19:50:24 -05:00
Chris Sylvain 4942a0b2da Packet audio boost
* Added control to provide Rx audio gain boost
2011-08-16 14:42:17 -05:00
David Freese 07c12e07a5 TX Attenuator
* This is a fix to commit 64406547b
  * Added Tx attenuator control to Audio configuration tab
  * Added main dialog short cut keys for tx attenuator control
    alt - ==> decrease by 0.1 dB (Command key "-" on OS X)
    alt = ==> increase by 0.1 dB (Command key "=" on OS X)
  * Modify two-tone generator in Olivia / Contestia to avoid
    remultiplication by txlevel
2011-07-10 14:08:19 -05:00
David Freese 64406547b1 TX attenuator
* Added Tx attenuator control to configure Audio
  * Added quick key control of Tx attenuator
    shift alt + ==> increase by 0.1 dB
    shift alt - ==> decrease by 0.1 dB
2011-06-06 12:17:34 -05:00
John Phelps, KL4YFD ab1602b752 High baud rate Dom/Thor
* New high speed modem types based on dominoex / thor.
     - dominoex at 85 baud
     - dominoex at 125 baud
     - Thor at 85 baud
     - Thor at 125  baud
       Thor85/125 use a convolutional encoder / viterbi
       decoder constraint length of THOR_K=15 (NASA/Galileo)
2011-05-23 17:41:29 -05:00
Chris Sylvain 4931d1d150 Packet Modem
Merged 3.22.0 with berlios/pu/cs development work
  on packet modem
2011-05-23 17:40:56 -05:00
David Freese 2c6043b0ee Compiler warning in trx.cxx
Added default initialization to buffer pointer wherever
  ringbuffer<double>::vector_type was declared
2011-01-16 12:25:08 -06:00
David Freese 81ebe81736 Carrier Squelch
* 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).
2010-11-29 19:50:44 -06:00
David Freese aa4bee2b8c Abort ARQ
Added call to Abort_ARQ when double ESC pressed (panic)
  Added supporting code in modem class.
2010-09-03 14:08:12 -05:00
David Freese dd0d489ea7 Post RsID
Removed post RsID transmission pending resolution of OS X
  segmentation fault caused by post RsID.
2010-07-16 19:54:22 -05:00
Chris Sylvain 62335f9afb RTTY class
Moved _BITS _BAUD _SHIFT into class definition to avoid
  namespace conflicts with future similar modem types.
2010-06-21 06:06:16 -05:00
Chris Sylvain 8e26ee4d08 <ID> video text mod
* Combined 3 patches from kb3cs, added value (W1HKJ)
  * 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
2010-06-21 06:06:03 -05:00
David Freese 5c0eea9a44 CWID
Correct for improper merge of master / wefax branches.
2010-06-10 14:02:48 -05:00