Commit Graph

330 Commits

Author SHA1 Message Date
Kamal Mostafa 78cff1778b tests: verify --tx consistency
PASS: 16-verify-tx-consistent.test
FAIL: 17-verify-tx-consistent-float.test

The FAIL is due inconsistency in the .wav header (only for floats)
constructed by libsndfile -- its different every wall-clock second.
Even just a bare header (no audio samples) shows the effect:

  minimodem --float-samples --tx 1000 -f /tmp/xx.wav </dev/null
  sum -r /tmp/xx.wav
  sleep 1
  minimodem --float-samples --tx 1000 -f /tmp/xx.wav </dev/null
  sum -r /tmp/xx.wav

This might also relate to:
https://github.com/kamalmostafa/minimodem/issues/24
2016-04-23 10:24:13 -07:00
Kamal Mostafa c2e4d9e1c4 Do not emit 0.5 sec flush for audio file output 2016-04-17 09:49:27 -07:00
Chris Osborn 513a11d454 Limit carrier/idle generation for input with delays
For non-interactive output (writing to an audio file), generate the
idle output carrier for same duration that the input is idle.  Makes
this case generate an output .wav file of just over 1 second duration:

  { echo hello; sleep 1; echo world; } | minimodem --tx -f /tmp/xx.wav 300
2016-04-17 08:49:36 -07:00
Kamal Mostafa 84b2406b97 Rename tv_idletimeout (no functional change) 2016-04-17 08:43:32 -07:00
Kamal Mostafa ad83ef5df3 Refactor emit idle tone (no functional change)
Clean up the "emit idle tone" code, which should never have involved
tx_leader_bits_len (that was a copy-paste laziness).

"Emit idle tone" simply generates the idle tone for a hardcoded period
of time now codified as 'idle_tone_usec' and set to 1/25 of a second
(to match the existing behavior).
2016-04-13 09:41:20 -07:00
Colin Ian King 96a60f51b0 initialize ampl_out to avoid it containing garbage
static analysis from clang scan-build detected some paths
in the call to fsk_frame_analyze where ampl_out is not being
set:

fsk.c:493:13: warning: Assigned value is garbage or undefined
            best_a = ampl_out;

..probably the sanest approach here is to initialize it to 0.0
just to avoid it being garbage rather than setting it to zero in
the failed error paths in fsk_frame_analyze.

Signed-off-by: Colin Ian King <colin.king@canonical.com>
2016-03-21 12:42:30 -07:00
Colin Ian King 2d3bd487ca Fix the final few printf format specifiers in fsk.c
Signed-off-by: Colin Ian King <colin.king@canonical.com>
2016-03-21 12:42:30 -07:00
Colin Ian King 7397c3cd9b Fix build warnings about ternary operator precedence
Be more explicit with parenthesis to avoid any possibly confusion
about operator precendence.

Signed-off-by: Colin Ian King <colin.king@canonical.com>
2016-03-21 12:42:29 -07:00
Colin Ian King d6a616fff8 Use %td for ptrdiff_t printf format specifier
Signed-off-by: Colin Ian King <colin.king@canonical.com>
2016-03-21 12:42:29 -07:00
Colin Ian King 632e92f1ae Use %u printf format specifier for unsigned int
Signed-off-by: Colin Ian King <colin.king@canonical.com>
2016-03-21 12:42:29 -07:00
Kamal Mostafa 93b35cbd9d baudot_charset: fix compile warning
Thanks to Colin Ian King <colin.king@canonical.com>.
2016-03-21 12:42:29 -07:00
Kamal Mostafa 3a8d490074 fix harmless strncasecmp off-by-one 2016-02-20 07:02:09 -08:00
Kamal Mostafa bc794806db minimodem-0.23-1 2016-02-19 13:14:29 -08:00
Kamal Mostafa 37bf388038 fix configure.ac version macro glitch 2016-02-19 13:04:28 -08:00
Kamal Mostafa f801ae3f28 update copyright dates 2016 2016-02-19 12:29:58 -08:00
Kamal Mostafa 842c1923e2 trim tests/testdata-ascii.txt
Remove confusing old copy of README.
2016-02-19 12:29:21 -08:00
Kamal Mostafa 6e22843115 add TTY/TDD to README 2016-02-19 12:28:11 -08:00
Kamal Mostafa 4b3301a7ef TTY/TDD self-test and man page entry 2016-01-21 13:20:48 -08:00
Rodrigo Menezes f48257ac59 TTY/TDD support 2016-01-20 10:07:21 -08:00
Kevin Zheng a23c5c73be Clean up configure script 2015-12-22 12:09:51 -06:00
Kevin Zheng 40c1f4c35c Fix bash-isms in configure script 2015-12-22 12:07:51 -06:00
Kamal Mostafa 0555866e57 minimodem-0.22.1-1 2015-08-24 13:55:27 -07:00
Kamal Mostafa 2b5e2c6a40 Do not enable tx-carrier for non-interactive --file sessions
The logic that determined whether to 'block_input' was backwards with
respect to non-interactive --file sessions, such that using --file
*enabled* the tx-carrier behavior when it should have disabled it.
This went unnoticed because on reasonably fast systems, reading the
input data from the file never induce the timeout anyway -- only very
slow machines reveal the problem: long gaps of 'mark' between each
frame, as if each input character was slowly typed interactively.

Fixes: ecebf01 Add ability to output a carrier while waiting for data
2015-08-24 13:54:34 -07:00
Kamal Mostafa 6d9b4d2e0c minimodem-0.22-1 2015-08-23 10:42:47 -07:00
Kamal Mostafa 639b695f31 eliminate all instances of implicit double-promotion 2015-08-23 10:16:15 -07:00
Kamal Mostafa d002c60a92 appease clang self-assignment warning 2015-08-23 09:12:34 -07:00
Kamal Mostafa ed8e633af0 fix non-integer mark/space frequency handling 2015-08-23 09:00:40 -07:00
Kamal Mostafa 17adb2158f clean up autoconf config files 2015-08-23 08:29:12 -07:00
Kevin Zheng 2020b4c2bf Untrack automatically generated files 2015-08-23 08:19:41 -07:00
Kamal Mostafa 2953cdcd8a add Nick Moriarty to AUTHORS 2015-04-22 16:58:44 -07:00
Nick Moriarty 8915ce1525 Fix ALSA latency (causing ALSA not to block).
With arbitrarily large latency setting (unsigned int)-1, ALSA will happily
accept all the samples we want to throw at it.

Reducing to a reasonably long (but still sub-second) value of 100ms, we
cause ALSA writes to block and work properly with --tx-carrier.
2015-04-22 17:48:28 +01:00
Nick Moriarty ecebf013f0 Add ability to output a carrier while waiting for data
Added --tx-carrier, which continues to output a tone while a blocking source
waits for more data on stdin.
2015-04-22 17:48:28 +01:00
Kamal Mostafa 49bfa06f8e minimodem: --binary-raw {nbits} output mode 2015-04-21 14:01:03 -07:00
Kamal Mostafa 1439efa68d minimodem-0.21-1 2014-11-24 08:37:09 -08:00
Kamal Mostafa 2ae79d8a5b man: add uic-train and uic-ground modes 2014-11-16 13:02:59 -08:00
Kamal Mostafa 3b54fa7768 add Marcos Vives Del Sol to AUTHORS and debian/copyright 2014-11-16 12:46:14 -08:00
Kamal Mostafa ff47edfb68 minimodem: accept "uic*" for uic-ground 2014-11-16 12:46:14 -08:00
Marcos Vives Del Sol 532bcfb84c Honor --invert-start-stop in TX 2014-11-16 12:46:14 -08:00
Marcos Vives Del Sol 25d01f73d8 Add UIC-751-3 decoding and optional MSB-first TX/RX
[ kamal: cleanup ]
2014-11-16 12:46:14 -08:00
Marcos Vives Del Sol ff0346f5a8 Really use 64 data types for demodulation
[ kamal: cleanup ]
2014-11-16 12:46:14 -08:00
Kamal Mostafa 2cdf2d29e4 build_expect_bits_string cleanup 2014-11-16 12:46:14 -08:00
Marcos Vives Del Sol bbf121a63f Compute expected bit strings outside of main loop 2014-11-16 12:46:14 -08:00
Marcos Vives Del Sol 163af2539c Add Windows executable to gitignore 2014-11-16 12:46:13 -08:00
Marcos Vives Del Sol cc6b5c9123 Change code to use 64-bit variables for decoding 2014-11-16 12:46:13 -08:00
Marcos Vives Del Sol 909adf0d59 Add option to change start-stop polarity 2014-11-16 12:46:13 -08:00
Kamal Mostafa 40f1d50cbd fsk: calc separate divergences for mark and space bits
Calculate and consider separate signal-strength divergence values for
mark and space bits, so that imbalanced (but consistent) mark/space
strengths do not drive down confidence.

Note: This change makes all existing test cases yield very slightly
higher confidence values.
2014-11-16 11:00:36 -08:00
Kamal Mostafa 746f0f6c7a minimodem: free samplebuf to appease valgrind 2014-11-14 09:12:27 -08:00
Kamal Mostafa eaf229ea5e minimodem-0.20-1 2014-11-13 11:08:29 -08:00
Kamal Mostafa d3a6fd1f26 debian/control: move Vcs- fields to github; bump S-V to 3.9.6 2014-11-13 11:08:29 -08:00
Kamal Mostafa ba5ecec2f7 update copyright dates 2014 2014-11-13 10:56:31 -08:00