Don Ward [Thu, 6 May 2010 14:02:35 +0000 (10:02 -0400)]
Flush pending errors in gr_udp_sink on disconnect()
On some systems (e.g., Debian/lenny) UDP errors are reported on the
following send() or recv() call. To avoid having errors (such as
ECONNREFUSED) from an old connection showing up on the first write
to a new connection, we do a recv() on disconnect() to flush them.
This may not work for all errors on all systems, but it works in
some simple cases of interest.
Don Ward [Tue, 4 May 2010 16:41:52 +0000 (12:41 -0400)]
Rework UDP source and sink, with incompatible API changes
Remove source address specifications for sink; add connect() and
disconnect() to sink; add get_port() to source; add optional EOF
signaling (using zero-length packets) to sink and source; modify
dial_tone, vector, and audio examples to match new code; add qa
test case.
Tom Rondeau [Sun, 2 May 2010 19:00:02 +0000 (15:00 -0400)]
Fixes segfault on close. Using the right objective (d_main_gui) instead of d_object to delete all of the plotting widgets. As far as Valgrind tells me, this cleans up my memory leaks although libqt and libqwt still have some of their own.
This checkin also disables the Waterfall3D plotting. It wasn't working anyway, but was also causing its own segfault upon deletion. Once it's working and deleting nicely, it will be re-enabled.
Tom Rondeau [Sat, 1 May 2010 23:06:13 +0000 (19:06 -0400)]
Fixes the replotting update. It's now based on a QTimer so it's in the event buffer as opposed to a best effort based on a hand-made timer. The interval between GUI updates is settable through the qtsink_X objects with set_update_time(newtime). This update makes the plotting much more stable. It also fixes the time scale of the waterfall plot to actually mean the right thing.
Eric Blossom [Sat, 1 May 2010 01:22:41 +0000 (18:22 -0700)]
Add missing buffer allocator hint to gr_ofdm_sampler.cc
This change was needed because gr_ofdm_sampler derives directly from
gr_block, but functions (from the runtime's point of view) as a
decimator. It takes many items in to produce a single output
item. Without this change, values of fft_size > ~4096 would result
in the scheduler complaining that it could never fullfil the block's
request for samples.
When deriving from gr_sync_interpolator or gr_sync_decimator, their
constructors set the hint automatically.
* wip/remove-mld-threads:
Further updates for removing omnithreads
Update build configuration for OSX omnithreads changeover
initial move from mld_threads to gruel:: namespace threads and such
Initial changes to remove mld_thread and instead use gruel:: namespace classes
Tom Rondeau [Sun, 18 Apr 2010 21:51:43 +0000 (17:51 -0400)]
Fixing doxygen warnings from arb_resampler. Also, removed set_taps from public
interface since we don't _really_ suppor this right now. Renamed it and made it private.
Applied patch from Srinivas Vutukuri to have tx_samples accept -g
Date: Tue, 19 Jan 2010 18:15:08 +0530
From: srinivas naga vutukuri <srinivas.vutukuri@gmail.com>
To: discuss-gnuradio@gnu.org
Subject: [Discuss-gnuradio] tx_samples.cc is not accepting the gain
parameter input.
Hi,
I observed that tx_samples.cc is not accepting the gain input parameter
(ie., -g option). I just changed like this in my code.
Its working, so posting the changes. If it is acceptable please take it.
Don Ward [Thu, 15 Apr 2010 18:37:04 +0000 (14:37 -0400)]
Ignore ENOPROTOOPT return from setsockopt(SO_LINGER)
SO_LINGER is not valid for SOCK_DGRAM sockets on Windows, so we
expect setsockopt to return ENOPROTOOPT (invalid option for
protocol) on Cygwin and MinGW. If it happens on any other system
it should probably be ignored there, too.
Tom Rondeau [Tue, 13 Apr 2010 01:22:20 +0000 (21:22 -0400)]
The oversampling rate can be only a few values as defined by the number of channels and input sample rate.
This now checks to make sure the user-specified rate is valid.
Also added some documentation to describe the oversample rate parameter.
Tom Rondeau [Tue, 13 Apr 2010 00:45:10 +0000 (20:45 -0400)]
Channelizer can now produce any rational ratio of the sample rate in [fs/N, fs] where fs is the input sample rate and N is the number of channels. The ratios work out to be N/i for i in [1, N].
Tom Rondeau [Fri, 9 Apr 2010 04:40:36 +0000 (00:40 -0400)]
Every other time through the channelizer, the FFT input buffer must be flipped. The commented code removed in this checkin does that through a calculation in the loops, but the way the filter assignment works with this code, the flip is done by keeping the indexing static, so a look up table works and is slightly faster.
Tom Rondeau [Fri, 9 Apr 2010 04:37:03 +0000 (00:37 -0400)]
Working version of channelizer allowing an integer multiple of the sampling rate out.
There are two versions of the code in here with the second way being more general and efficient. This one should be more extendable to allowing rational ratio output sampling rates.
Johnathan Corgan [Sun, 21 Mar 2010 23:17:15 +0000 (16:17 -0700)]
Add new block gr.additive_scrambler_bb()
This block performs scrambling by XORing the input sequence with
the output of an LFSR. Repeating this operation restores the original
sequence.
(This differs from gr.scrambler_bb(), which convolves the input sequence
with the LFSR output.)
The additive scrambler allows an optional bit count after which the LFSR
is reset to its initial seed. This allows use with, e.g., packetized
fixed length payloads.
Tom Rondeau [Mon, 15 Mar 2010 02:53:53 +0000 (22:53 -0400)]
Removing SSE version of FFT filter until we work out how we want to handle the SSE the use of intrinics. Code for the SSE versions is still there just disabled.
Tom Rondeau [Sun, 14 Mar 2010 21:32:23 +0000 (17:32 -0400)]
Making old and new digital modulations completely seperable by adding modulation_utils2 so only new modulator blocks work with the version 2 of everything. Also changed some internal names for clarity.