Age | Commit message (Collapse) | Author |
|
|
|
* gnuradio/wip/udp_source_sink:
gnuradio-core: update copyrights
gnuradio-core: allow swig to handle exceptions in UDP source/sink
grc: update UDP source and sink block wrappers
Simplify USE_SELECT usage
Return immediately when using d_residual.
Defend against a peer that sends an invalid message length.
Move initialization of select timeout
Correct update of d_temp_offset (parallel construction)
Identify memory leaks that occur on error conditions
Use -1 as file descriptor "not open" value instead of 0
Add additional conditionalization of networking includes
Flush pending errors in gr_udp_sink on disconnect()
Rework UDP source and sink, with incompatible API changes
Updates to udp source/sink (select(), wait, cleanup)
Discard data in gr_udp_sink until receiver is started.
Use getaddrinfo in gr_udp_{source,sink}
Changes to gr_udp_{source,sink} for MinGW
Ignore ENOPROTOOPT return from setsockopt(SO_LINGER)
|
|
|
|
|
|
|
|
(Otherwise recv may overwrite valid data in d_temp_buff.)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
as the outtermost channels (around fs/2 and -fs/2).
|
|
|
|
|
|
|
|
|
|
There is some breakage with GR_FORTRAN / AC_PROG_F77 when running
bootstrap. The gen_interpolator_taps binary is only needed to
regenerate the MMSE interpolator taps, which hasn't been done for
several years. Disable this until proper fix can be done.
|
|
|
|
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.
|
|
|
|
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.
|
|
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.
|
|
|
|
Use select() to avoid blocking on recv() in gr_udp_source (only known
way to avoid blocking on Cygwin).
Add wait argument to gr_udp_source to allow waiting for connection
or accepting lack of connection as EOF; add --no-wait option to
dial_tone_sink.py.
Remove system dependencies from .h files; remove unused data members
and (useless?) public open and close functions.
|
|
properly.
|
|
right now and uses a lot of memory to handle the buffers for each filter/input stream.
|
|
|
|
Remove omnithread dependency in build for gr-audio-portaudio
Remove unused debugging utility class in gnuradio-core (gri_logger)
|
|
Also fixes warnings from gcc 4.3 and adds <boost/bind.hpp> for usrp2.
|
|
Using getaddrinfo allows more common code between posix and winsock
systems. Remove unused variables and #include files. Close sockets
when done.
|
|
interface since we don't _really_ suppor this right now. Renamed it and made it private.
|
|
|
|
|
|
|
|
|
|
Initialize and cleanup after winsock DLL. Interpret winsock error
codes. Use DWORD instead of timeval for setting timeout.
|
|
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.
|
|
possibly looking back at input item -1.
|
|
|
|
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.
|
|
|
|
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].
|
|
Also, cleaning up a bit wrt class members.
|
|
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.
|
|
|
|
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.
|
|
produces the correct output for oversampling_rate = 1.
|
|
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.
|