Commit Graph

131 Commits

Author SHA1 Message Date
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 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 746f0f6c7a minimodem: free samplebuf to appease valgrind 2014-11-14 09:12:27 -08:00
Kamal Mostafa ba5ecec2f7 update copyright dates 2014 2014-11-13 10:56:31 -08:00
Kamal Mostafa a6a7e0da35 callerid: warn when used with --auto-carrier 2014-11-08 09:27:31 -08:00
Kamal Mostafa 151e360720 minimodem: -7 implements 7-bit ASCII 2013-09-17 07:56:20 -07:00
Kamal Mostafa a524e38222 minimodem: fix --baudot cmdline switch
The --baudot (a.k.a. -5) command line switch didn't actually engage
the Baudot encoder/decoder, just set 5 bits per frame.
2013-09-05 15:36:49 -07:00
Kamal Mostafa f9bdf43423 update copyright dates 2013-06-10 09:28:02 -07:00
Kamal Mostafa 0140e0df12 minimodem: --tx SAME emits 16 sync-byte preamble
Emit a preamble of 16 (hardcoded) sync-bytes if --sync-byte is
specified with --tx mode.  This makes --tx SAME emit the required
preamble of 16 0xAB's automatically.  So --rx SAME now directly
decodes the output of --tx SAME without needing to manually inject
the preamble byte(s), simplifying the test case.

Thanks to Harold Giddings, for reporting the issue.
2013-06-08 10:16:56 -07:00
Kamal Mostafa 24f1acff4f minimodem: fsk_transmit_frame factored out 2013-06-08 10:04:06 -07:00
Kamal Mostafa 8876f6674a minimodem: rename bfsk_sync_on_data to bfsk_do_rx_sync 2013-06-08 09:27:01 -07:00
Kamal Mostafa d774ad74dd minimodem: handle arbitrary --startbits N
minimodem --startbits N works for rx and tx, where (0 <= N <= 20).

Thanks Martyn (kronalias), for reporting.
2013-03-20 12:08:52 -07:00
Kamal Mostafa 7ab18a268f minimodem: do not call setitimer(new_value=NULL)
Linux kernel warns:

    minimodem calls setitimer() with new_value NULL pointer. Misfeature support
    will be removed

Thanks Robert Hooker, for reporting.
2013-01-25 15:03:54 -08:00
Kamal Mostafa 032d0bb79c minimodem: refine frame position if confidence falls
Allows for more accurate tracking, esp. for no-frame-bits protocols.
Fixes tests/test-80-SAME-datastream.
2012-11-03 14:20:33 -07:00
Kamal Mostafa 1446844d32 minimodem: do not transmit leader tone if no start bits 2012-11-03 14:10:44 -07:00
Kamal Mostafa 6ad778ce03 minimodem: fix --tx startbits/stopbits handling
Make --tx support specified --startbits and --stopbits; also enables --tx SAME.

Thanks to Jamie Batmanglidj for reporting the issue.
2012-11-01 12:48:40 -07:00
Kamal Mostafa 65493fa12a minimodem: --rx callerid
New "callerid" baudmode supports Bell202 Caller-ID (MDMF or SDMF) prototol.
2012-10-05 19:40:17 -07:00
Kamal Mostafa 49ccd10e1f minimodem: --rx prints all bytes unmolested, unless --print-filter
Now, minimodem prints all received bytes without isprint() filtering,
unless --print-filter is specified.  Allows for binary file transfers
and multibyte characters.
2012-10-05 13:29:30 -07:00
Kamal Mostafa 761cf00b16 minimodem: handle SIGINT on --rx: close the sa backend and print stats 2012-10-02 14:22:38 -07:00
Kamal Mostafa 2373364d9a minimodem: performance: read samples in larger blocks
For performance, read samples from the simpleaudio backend in larger
blocks when the number of bits per frame ends up being small.
2012-10-01 21:00:28 -07:00
Kamal Mostafa 6340365e2f simpleaudio-sndfile: fix minimodem tx_interactive
Un-break tx_interactive: minimodem enables tx_interactive whenever the
stream_name is NULL, so go back to using the stream_name as the sndfile
filename.
2012-09-10 20:02:53 -07:00
Kamal Mostafa 9f1695a3b6 minimodem: fix --auto-carrier crash on positive-shift modes 2012-09-09 17:42:53 -07:00
Kamal Mostafa d603fc444d minimodem: --alsa[=plughw:X,Y] 2012-09-09 15:24:35 -07:00
Kamal Mostafa fabd47ba99 minimodem: less aggressive refine on acquisition 2012-09-05 23:22:27 -07:00
Kamal Mostafa c8dd7ac06b minimodem: fix --rx-one 2012-09-05 09:37:06 -07:00
Kamal Mostafa 3a1469b85e minimodem: fix usage message 2012-09-05 09:36:12 -07:00
Kamal Mostafa 30de59026b minimodem: --inverted switches the mark/space freqs 2012-09-04 16:26:10 -07:00
Kamal Mostafa 8731b54bc2 minimodem: refine fsk frame position on carrier acquisition
FSK_ANALYZE_NSTEPS was previously 10.

Now FSK_ANALYZE_NSTEPS_CARRIER_LOCK is 100, and FSK_ANALYZE_NSTEPS is
reduced to 4.

(Also, try_confidence_search_limit = INFINITY on carrier acquisition frame).

Effects: Better initial phase lock on signal in the first
place; sloppier tracking of fast/slow signals; reduced longterm CPU load.
2012-09-03 23:31:16 -07:00
Kamal Mostafa aa1124d6e7 minimodem: fix incorrect try_max_nsamples calculation 2012-09-02 14:25:43 -07:00
Kamal Mostafa fd45b5571c minimodem: restrict try_max_nsamples to 75% of a bit-width
... actually 125% of a bit width before acquiring carrier.
2012-09-02 14:27:04 -07:00
Kamal Mostafa 7b0e47ac4e minimodem: --binary-output 2012-09-01 00:09:32 -07:00
Kamal Mostafa a172268117 minimodem: auto get samplerate from audio files 2012-09-02 18:10:59 -07:00
Kamal Mostafa 0f3338a91b minimodem: match sync_byte in the fsk layer 2012-09-02 12:02:06 -07:00
Kamal Mostafa 9187dd60a7 minimodem: --rx same (NOAA SAME protocol) 2012-09-01 13:34:50 -07:00
Kamal Mostafa 04cc215640 minimodem: --sync-byte {0xXX} 2012-09-01 14:54:32 -07:00
Kamal Mostafa 82c72352ab minimodem: --startbits; deprecate -T 2012-09-01 13:33:49 -07:00
Kamal Mostafa e2a51f093a databits: split out the databits implementations
rename framebits to databits
added databits_binary decoder
2012-08-31 21:39:08 -07:00
Kamal Mostafa a7d1602c9d minimodem: calculate frame_bits_{mask,shift} 2012-08-31 20:42:05 -07:00
Kamal Mostafa cbd048aac6 minimodem: bfsk_nstartsbits variable
- FIXME: doesn't actually implement the proper expect_bits string
 - only useful for testing SAME decoder's hardcoded "dddddddd" expect_bits
2012-08-30 16:02:53 -07:00
Kamal Mostafa 7b34e89433 minimodem: --stopbits replaces --txstopbits; better bps metric
RX metrics account for fractional number of stop bits (e.g 1.5);
RX bps metric slightly more accurate (?).
2012-08-30 15:05:33 -07:00
Kamal Mostafa becf16761e minimodem: fsk confidence thresholds: thresh=1.5, limit=2.3
Note: fsk_confidence_thresh can now be reduced to 1.5 due to track_amplitude.
2012-08-26 15:16:49 -07:00
Kamal Mostafa 3447a994b7 minimodem: track_amplitude signal amplitude drop 2012-08-30 00:07:15 -07:00
Kamal Mostafa 0c022aca03 minimodem: --rx-one quits after first no-carrier 2012-08-30 10:17:55 -07:00
Kamal Mostafa b480b841da minimodem: --Xrxnoise=factor adds test noise
Injects random noise to input signal (in memory) before analysis.
2012-08-30 00:00:19 -07:00
Kamal Mostafa dd6040336d minimodem: stats report ampl={amplitude} 2012-08-25 09:17:05 -07:00