Houston, we have a trunk.
[debian/gnuradio] / gnuradio-core / ChangeLog
1 2006-07-06  Tom Rondeau  <trondeau@vt.edu>
2
3         * src/python/gnuradio/blksimpl/gmsk2.py:
4         Added AGC to GMSK code.
5         
6 2006-07-06  Tom Rondeau  <trondeau@vt.edu>
7
8         * src/python/gnuradio/blksimpl/Makefile.am: 
9         Call to gmsk.py was causing error after removal of gmsk.py file.
10         Removed call in Makefile.am to this.
11
12 2006-07-05  Eric Blossom  <eb@comsec.com>
13
14         * src/python/gnuradio/blksimpl/gmsk.py: Removed long deprecated
15         code.  We'll give this a week or so for the dust to settle, then
16         we'll rename gmsk2.py to gmsk.py
17
18 2006-06-29  Tom Rondeau  <trondeau@vt.edu>
19
20         * src/lib/general/gr_correlate_access_code_bb.cc (work): 
21         Removed branches; cleaned up code to only deal with a 180 degree phase shift in
22         BPSK.
23
24 2006-06-28  Tom Rondeau   <trondeau@vt.edu>
25
26         * src/python/gnuradio/gr/qa_correlate_access_code.py (test_correlate_access_code.test_001):
27         Changes to access code correlator to handle BPSK phase reversal 
28         killed qa_correlate_access_code. Modified the access code search in
29         test_001 to all the test to pass properly.
30
31 2006-06-28  Tom Rondeau  <trondeau@vt.edu>
32
33         * src/lib/general/gr_constellation_decoder_cb.cc: 
34         Set Compute_EVN=false by default (to clean up the output)
35
36 2006-06-20  Tom Rondeau  <trondeau@vt.edu>
37
38         * src/lib/general/gr_costas_loop_cc.{h,cc,i}: modified to support
39         both BPSK and QPSK via "order" constructor argument.  Removed
40         unused ref_phase ctor arg.
41         
42 2006-06-20  Eric Blossom  <eb@comsec.com>
43
44         * src/lib/general/gr_probe_avg_mag_sqrd_{f,c}.{h,cc,i}: added accessor
45         for threshold.
46
47         * src/python/gnuradio/blksimpl/pkt.py: result of refactoring
48         gmsk2_pkt.py.  This is the common packet handling framework, and
49         is modulation independent.  gmsk2_pkt is now deprecated.
50
51         * src/python/gnuradio/blksimpl/gmsk2_pkt.py: added deprecation warning.
52         
53         * src/python/gnuradio/packet_utils.py (make_packet): added
54         bits_per_baud parameter to handle QPSK, etc in the future.
55
56 2006-06-17  Eric Blossom  <eb@comsec.com>
57
58         * src/lib/runtime/gr_realtime.{h,cc,i}: new function to enable
59         realtime scheduling.
60
61 2006-06-15  Eric Blossom  <eb@comsec.com>
62
63         * src/lib/io/gr_oscope_guts.{h,cc,i},
64         src/lib/io/gr_oscope_sink_x.{h,cc}: added set_sample_rate method.
65
66         * src/lib/general/gr_keep_one_in_n.{h,cc,i}: added set_n method.
67
68 2006-06-13  Eric Blossom  <eb@comsec.com>
69
70         * src/lib/general/gr_binary_slicer_fb.h: corrected calling sequence.
71
72 2006-06-08  Eric Blossom  <eb@comsec.com>
73
74         * src/lib/general/gr_feval.{h,cc,i},
75         src/python/gnuradio/gr/qa_feval.py: new C++/python helper that
76         allows C++ code to evaluate a function defined in Python.  Uses
77         SWIG directors.
78
79 2006-06-06  Eric Blossom  <eb@comsec.com>
80
81         * src/lib/general/gr_unpack_k_bits_bb.cc (work): bug fix.  Was
82         computing the wrong answer and writing *way* too much data if k was > 1.
83         * src/python/gnuradio/gr/qa_unpack_k_bits.py: new ;)
84
85         * src/lib/general/gr_diff_decoder_bb.{h,cc,i}: new.  differential
86         decoder.  constellation index in / constellation index out.
87
88         * src/lib/general/gr_map_bb.{h,cc,i}: new.  map any byte into any
89         other byte.
90
91 2006-06-01  Eric Blossom  <eb@comsec.com>
92
93         * src/lib/filter/ccomplex_dotprod_3dnow64.S,
94         src/lib/filter/3dnow_float_dotprod_really_simple.S,
95         src/lib/filter/3dnow_float_dotprod_simple.S,
96         src/lib/filter/assembly.h,
97         src/lib/filter/ccomplex_dotprod_3dnow.S,
98         src/lib/filter/ccomplex_dotprod_3dnow64.S,
99         src/lib/filter/ccomplex_dotprod_3dnowext.S,
100         src/lib/filter/ccomplex_dotprod_3dnowext64.S,
101         src/lib/filter/ccomplex_dotprod_sse.S,
102         src/lib/filter/ccomplex_dotprod_sse64.S,
103         src/lib/filter/complex_dotprod_3dnow.S,
104         src/lib/filter/complex_dotprod_3dnow64.S,
105         src/lib/filter/complex_dotprod_3dnowext.S,
106         src/lib/filter/complex_dotprod_3dnowext64.S,
107         src/lib/filter/complex_dotprod_sse.S,
108         src/lib/filter/complex_dotprod_sse64.S,
109         src/lib/filter/fcomplex_dotprod_3dnow.S,
110         src/lib/filter/fcomplex_dotprod_3dnow64.S,
111         src/lib/filter/fcomplex_dotprod_sse.S,
112         src/lib/filter/fcomplex_dotprod_sse64.S,
113         src/lib/filter/float_dotprod_3dnow.S,
114         src/lib/filter/float_dotprod_3dnow64.S,
115         src/lib/filter/float_dotprod_sse.S,
116         src/lib/filter/float_dotprod_sse64.S,
117         src/lib/filter/short_dotprod_mmx.S,
118         src/lib/filter/short_dotprod_mmx64.S: changed all occurrences of
119         .align 16 to .p2align 4 to avoid ambiguous interpretation of .align
120         argument.
121
122         
123 2006-05-29  Eric Blossom  <eb@comsec.com>
124
125         * src/python/gnuradio/blksimpl/gmsk2_pkt.py: now uses string of 1's
126         and 0's for access_code representation.  Refactored to use
127         correlate_access_code_bb and frame_sink_1 instead of packet_sink.
128
129         * src/lib/general/gr_binary_slicer_fb.{h,cc,i}: new
130         * src/lib/general/gr_qpsk_slicer_cb.{h,cc,i}: deleted.  Use
131         gr_constellation_decoder_cb instead.
132
133 2006-05-29  Eric Blossom  <eb@comsec.com>
134         
135         * src/lib/general/gr_clock_recovery_mm_cc.cc: revised
136         implementation based on G. R. Danesfahani, T.G. Jeans,
137         "Optimisation of modified Mueller and Muller algorithm,"
138         Electronics Letters, Vol. 31, no. 13, 22 June 1995, pp. 1032 - 1033.
139         Thanks Tom!
140         
141         * src/utils/cool.m, src/utils/db_width.m, src/utils/filter_tools.m,
142         src/utils/read_char_binary.m, src/utils/read_complex_binary.m,
143         src/utils/read_float_binary.m, src/utils/read_int_binary.m, 
144         src/utils/read_short_binary.m: modified to be compatible with
145         MATLAB.
146         
147 2006-05-26  Eric Blossom  <eb@comsec.com>
148
149         * src/lib/general/gr_framer_sink_1.{h,cc,i}: new.  Refactored from
150         gr_packet_sink.  Use in combination with gr_correlate_access_code_bb.
151
152 2006-05-24  Eric Blossom  <eb@comsec.com>
153
154         * src/lib/general/gr_diff_encoder_bb.{h,cc,i}: new. differential encoder.
155
156         * src/lib/general/gr_constellation_decoder_cb.{h,cc,i}: new.
157         Maps i/q value to closest constellation point and return value
158         associated with the point. This probably obsoletes 
159         gr_qpsk_slicer_cb.
160
161         * src/lib/general/gr_qpsk_slicer_cb.{h,cc,i}: new.
162         * src/lib/general/gr_unpack_k_bits_bb.{h,cc,i}: unpack bytes
163         containing k valid bits, into bytes, 1 bit per byte.
164
165         * src/lib/general/gr_correlate_access_code_bb.{h,cc,i}: new.
166         General purpose block for searching for access codes (sync
167         vectors).  Can handle any sync vector between 1 and 64 bits.
168
169 2006-05-23  Eric Blossom  <eb@comsec.com>
170
171         * src/lib/general/gr_diff_phasor_cc.{h,cc,i}: new.  Compute phase
172         difference as a complex number between adjacent complex items in
173         stream.  This is useful for demodulating differentially encoded PSK.
174
175         * src/python/gnuradio/gruimpl/mathmisc.py (log2): new function.
176
177         * src/lib/general/gr_firdes.cc (root_raised_cosine): force ntaps
178         to be odd.
179
180 2006-05-21  Martin Dudok van Heel <nldudok1 at olifantasia.com>
181
182         Added generic test class gr_test.
183         gr_test is a gnuradio block meant to be used in a flow_graph.
184         It doesn't do much processing, but you can specify from python every parameter you need to for testing.
185         For example history, output_multiple, input and output signature, decimation and such.
186         Especially handy for testing setting up the buffers.
187         It also touches every available input and output to check for segfaults.
188         You can also instruct it to not consume all ninput_items or not produce all noutput_items.
189         
190         There is also a new script test_buffers.py in src/tests which uses gr_test to test setting up the buffers.
191         It is NOT automatically run by make check yet, because it will fail with an assert when it reaches circbuf memory limit of the system.
192         (On linux: Trying to setup a buffer >shmmax
193         Note that you can set the smmax limit manually on a linux 2.6 system in the following way in a root console)
194         #set shmmax limit manually to 300MB
195         echo 300000000 >/proc/sys/kernel/shmmax
196
197         * src/lib/general/Makefile.am: added gr_test
198         * src/lib/general/general.i: added gr_test
199         * src/lib/general/gr_test.cc: new
200         * src/lib/general/gr_test.h: new
201         * src/lib/general/gr_test.i: new
202         * src/lib/general/gr_test_types.h: new
203         * src/tests/test_buffers.py: new script to test setting up the buffers using gr_test
204
205 2006-05-21  Martin Dudok van Heel <nldudok1 at olifantasia.com>
206
207         Solved the following bugs which result from incorrect buffersize setup:
208         sched: <gr_block gr_test (21)> is requesting more input data
209           than we can provide.
210           ninput_items_required = 8192
211           max_possible_items_available = 8191
212           If this is a filter, consider reducing the number of taps.
213
214         python: src/lib/runtime/gr_buffer.h:108: unsigned int gr_buffer::index_sub(unsigned int, unsigned int):
215          Assertion `(unsigned) s < d_bufsize' failed.
216         Aborted
217
218         * src/python/gnuradio/gr/flow_graph.py: resolved above bugs by adding + mdown.history() to nitems when appropriate
219
220 2006-04-24  Eric Blossom  <eb@comsec.com>
221
222         * src/lib/general/gr_chunks_to_symbols_XX.{h,cc,i}.t,
223         src/lib/general/gr_packed_to_unpacked_XX.{h,cc,i}.t,
224         src/lib/general/gr_unpacked_to_packed_XX.{h,cc,i}.t: 
225         new pseudo-templates for generating family of blocks.  Patch
226         submitted by Achilleas Anastasopoulos <anastas@umich.edu>, touched
227         up by Eric.
228
229 2006-04-24  Martin Dudok van Heel <nldudok1 at olifantasia.com>
230
231         * src/python/gnuradio/gr/flow_graph.py (buffer_sizes.allocate):
232         increase buffer size allocation for blocks with a large
233         output_multiple, not just those that are decimators.
234
235 2006-04-05  Eric Blossom  <eb@comsec.com>
236
237         * src/lib/general/gr_pll_carriertracking_cc.i: added
238         squelch_enable and set_lock_threshold methods.
239
240         * src/lib/general/gr_clock_recovery_mm_cc.h: removed erroneous
241         class prefix to method.  GCC 4.1.0 complains ;)
242
243 2006-04-03  Eric Blossom  <eb@comsec.com>
244
245         * src/lib/general/gr_pll_carriertracking_cc.cc (phase_detector):
246         fixed typo.
247
248         * src/python/gnuradio/gr/prefs.py: don't load prefs if
249         GR_DONT_LOAD_PREFS environment variable is set.  run_tests sets
250         this to avoid interactions with system and user prefs during
251         make check.
252
253         * src/python/gnuradio/gr/qa_rational_resampler.py: disabled two
254         tests that were causing hangs on SuSE 10.0.  Should be investigated.
255
256 2006-03-30  Eric Blossom  <eb@comsec.com>
257
258         * src/lib/filter/gr_fft_filter_ccc.{h,cc},
259         src/lib/filter/gr_fft_filter_fff.{h,cc}: reworked to allow
260         safer setting of new taps after instantiation.
261
262 2006-03-29  Eric Blossom  <eb@comsec.com>
263
264         * src/lib/general/gr_prefix.{h,cc,i}: new function that returns
265         installation prefix directory (--prefix argument to configure).
266
267         * src/lib/general/gr_prefs.{h,cc,i}: reworked implementation to
268         use python ConfigParser.
269         * src/python/gnuradio/gr/prefs.py: moved from
270         src/python/gnuradio/prefs.py to solve initialization problem.
271
272         * src/lib/general/gr_stream_to_vector.{h,cc,i}: renamed from gr_serial_to_parallel
273         * src/lib/general/gr_vector_to_stream.{h,cc,i}: renamed from gr_parallel_to_serial
274         * src/lib/python/gnuradio/gr/__init__.py: new aliases for
275         backwards compatibility with rename.
276
277         * src/lib/swig/Makefile.am: cleanup for make distcheck.
278
279         * src/lib/atsc/GrAtscBitTimingLoop.cc, GrAtscBitTimingLoop.h,
280         GrAtscBitTimingLoop2.cc, GrAtscBitTimingLoop2.h,
281         GrAtscBitTimingLoop3.cc, GrAtscBitTimingLoop3.h,
282         GrAtscConvert2xTo20.cc, GrAtscConvert2xTo20.h,
283         GrAtscDataSegToSoftDataSeg.cc, GrAtscDataSegToSoftDataSeg.h,
284         GrAtscDeinterleaver.cc, GrAtscDeinterleaver.h,
285         GrAtscDerandomizer.cc, GrAtscDerandomizer.h,
286         GrAtscEqualizer.cc, GrAtscEqualizer.h, GrAtscFPLL.cc,
287         GrAtscFPLL.h, GrAtscFieldSyncChecker.cc,
288         GrAtscFieldSyncChecker.h, GrAtscFieldSyncCorrelator.cc,
289         GrAtscFieldSyncCorrelator.h, GrAtscFieldSyncDemux.cc,
290         GrAtscFieldSyncDemux.h, GrAtscFieldSyncMux.cc,
291         GrAtscFieldSyncMux.h, GrAtscInterleaver.cc,
292         GrAtscInterleaver.h, GrAtscRSDecoder.cc, GrAtscRSDecoder.h,
293         GrAtscRSEncoder.cc, GrAtscRSEncoder.h, GrAtscRandomizer.cc,
294         GrAtscRandomizer.h, GrAtscSegSymSync.cc, GrAtscSegSymSync.h,
295         GrAtscSegSymSyncImpl.cc, GrAtscSegSymSyncImpl.h,
296         GrAtscSegSymSyncImpl_export.h, GrAtscSymbolMapper.h,
297         GrAtscTrellisEncoder.cc, GrAtscTrellisEncoder.h,
298         GrAtscViterbiDecoder.cc, GrAtscViterbiDecoder.h, Makefile.am,
299         README, atsc_basic_trellis_encoder.cc,
300         atsc_basic_trellis_encoder.h, atsc_consts.h,
301         atsc_data_interleaver.cc, atsc_data_interleaver.h,
302         atsc_diag_output.h, atsc_equalizer.cc, atsc_equalizer.h,
303         atsc_equalizer_lms.cc, atsc_equalizer_lms.h,
304         atsc_equalizer_lms2.cc, atsc_equalizer_lms2.h,
305         atsc_equalizer_nop.cc, atsc_equalizer_nop.h, atsc_exp2_lp.cc,
306         atsc_exp2_lp.h, atsc_exp2_lp20.dat, atsc_exp2_lp2x.dat,
307         atsc_fake_single_viterbi.cc, atsc_fake_single_viterbi.h,
308         atsc_fs_checker.cc, atsc_fs_checker.h,
309         atsc_fs_checker_naive.cc, atsc_fs_checker_naive.h,
310         atsc_fs_correlator.cc, atsc_fs_correlator.h,
311         atsc_fs_correlator_naive.cc, atsc_fs_correlator_naive.h,
312         atsc_pnXXX.cc, atsc_pnXXX.h, atsc_randomizer.cc,
313         atsc_randomizer.h, atsc_reed_solomon.cc, atsc_reed_solomon.h,
314         atsc_root_raised_cosine.cc, atsc_root_raised_cosine.h,
315         atsc_root_raised_cosine_bandpass.cc,
316         atsc_root_raised_cosine_bandpass.h, atsc_single_viterbi.cc,
317         atsc_single_viterbi.h, atsc_slicer_agc.h,
318         atsc_sliding_correlator.cc, atsc_sliding_correlator.h,
319         atsc_sssr.cc, atsc_sssr.h, atsc_syminfo.h, atsc_sync_tag.h,
320         atsc_trellis_encoder.cc, atsc_trellis_encoder.h, atsc_types.h,
321         atsc_viterbi_decoder.cc, atsc_viterbi_decoder.h,
322         atsc_viterbi_gen.cc, atsc_vsbtx_lp.cc, atsc_vsbtx_lp.dat,
323         atsc_vsbtx_lp.h, convolutional_interleaver.h,
324         create_atsc_equalizer.cc, create_atsc_equalizer.h,
325         create_atsc_fs_checker.cc, create_atsc_fs_checker.h,
326         create_atsc_fs_correlator.cc, create_atsc_fs_correlator.h,
327         fpll_btloop_coupling.h, gen_encoder.py, interleaver_fifo.h,
328         plinfo.cc, qa_atsc.cc, qa_atsc.h,
329         qa_atsc_basic_trellis_encoder.cc,
330         qa_atsc_basic_trellis_encoder.h, qa_atsc_data_interleaver.cc,
331         qa_atsc_data_interleaver.h, qa_atsc_equalizer_nop.cc,
332         qa_atsc_equalizer_nop.h, qa_atsc_fake_single_viterbi.cc,
333         qa_atsc_fake_single_viterbi.h, qa_atsc_fs_correlator.cc,
334         qa_atsc_fs_correlator.h, qa_atsc_randomizer.cc,
335         qa_atsc_randomizer.h, qa_atsc_reed_solomon.cc,
336         qa_atsc_reed_solomon.h, qa_atsc_single_viterbi.cc,
337         qa_atsc_single_viterbi.h, qa_atsc_sliding_correlator.cc,
338         qa_atsc_sliding_correlator.h, qa_atsc_trellis_encoder.cc,
339         qa_atsc_trellis_encoder.h,
340         qa_atsc_trellis_encoder_t1_input.dat,
341         qa_atsc_trellis_encoder_t1_output.dat,
342         qa_atsc_viterbi_decoder.cc, qa_atsc_viterbi_decoder.h,
343         qa_atsc_viterbi_decoder_t1_input.dat,
344         qa_atsc_viterbi_decoder_t1_output.dat,
345         qa_convolutional_interleaver.cc,
346         qa_convolutional_interleaver.h, qa_interleaver_fifo.cc,
347         qa_interleaver_fifo.h: Moved all atsc code from src/lib/atsc to
348         new gr-atsc CVS module.
349         
350         * src/lib/general/gri_ringbuffer.{h,cc}: removed.  Use
351         gr_buffer/gr_buffer_reader instead.
352
353 2006-03-27  Eric Blossom  <eb@comsec.com>
354
355         * src/lib/general/gr_prefs.{h,cc,i}: renamed parameter from "val" to
356         "v" to work around issue in SWIG 1.3.{28,29} and/or g++ 4.0.2.
357
358         * src/lib/general/gr_prefs.{h,cc,i}, src/python/gnuradio/prefs.py:
359         new class for user preferences.  This uses SWIG directors (serious
360         magic), to have the actual implementation be in python, but
361         callable transparently from C++.  We'll use this for user prefs
362         such as audio module, audio module options, etc.
363
364 2006-03-25  Eric Blossom  <eb@comsec.com>
365
366         * src/lib/io/gri_logger.h (class gri_logger): new class that can
367         safely log to a file from within a JACK or portaudio callback.
368         Uses a ringbuffer to communicate with a separate thread that
369         writes the file.
370
371 2006-03-17  Eric Blossom  <eb@comsec.com>
372
373         * src/lib/runtime/gr_buffer.cc (gr_buffer_reader): added missing
374         drop_reader call to destructor.  Fixed latent bug.
375
376 2006-03-15  Eric Blossom  <eb@comsec.com>
377
378         * src/lib/omnithread.h,
379         src/lib/omnithread/ot_posix.h, src/lib/omnithread/posix.cc,
380         src/lib/omnithread/nt.cc: mods to
381         allow specifying a max count on semaphores. This allows the
382         construction of binary semaphores by passing max_count=1 to the ctor.
383         The default behavior is unchanged.
384
385 2006-03-13  Eric Blossom  <eb@comsec.com>
386
387         * src/lib/general/gr_pll_carriertracking_cc.cc (work): refactored
388         loop control.
389
390 2006-03-12  Stephane Fillod  <f8cfe@free.fr>
391         * src/lib/general/gri_ringbuffer.{cc,h},
392           src/lib/general/Makefile.am: new lockless ringbuffer (single
393           reader/single writer) taken from JACK software (GPL).
394         * * src/lib/omnithread/omnithread.h: add omni_mutex::trylock
395         * * src/lib/omnithread/ot_posix.h: POSIX trylock implementation
396         * * src/lib/omnithread/ot_nt.h: Win32 trylock implementation
397
398 2006-03-12  Eric Blossom  <eb@comsec.com>
399
400         * src/lib/general/gr_firdes.h, src/lib/io/gr_file_source.h: Fix
401         for g++ 4.1.  Removed extra class:: qualification.  Patch
402         submitted by Martin Michlmayr <tbm@cyrius.com>
403
404 2006-03-10  Eric Blossom  <eb@comsec.com>
405
406         * src/lib/general/gr_dd_mpsk_sync_cc.cc: doc fixes.  reworked
407         delay line handling.
408         * src/lib/general/gr_dd_mpsk_sync_cc.h: doc fixes.  Added DLLEN const.
409         * src/lib/general/gr_costas_loop_cc.h: doc fixes.
410         * src/lib/general/gr_costas_loop_cc.cc (work): cosmetic tweak to
411         loop control.
412
413 2006-03-07  Eric Blossom  <eb@comsec.com>
414
415         * src/lib/general/gr_multiply_const_XX.h.t,
416         src/lib/general/gr_quadrature_demod_cf.h,
417         src/lib/general/gr_frequency_modulator_fc.h,
418         src/lib/general/gr_packed_to_unpacked_bb.h,
419         src/lib/general/gr_unpacked_to_packed_bb.h,
420         src/lib/general/gr_chunks_to_symbols_bf.h,
421         src/lib/general/gr_chunks_to_symbols_bc.h: doc fixs.
422
423 2006-02-22  Martin Dudok van Heel <nldudok1 at olifantasia.com>
424
425         Addded new blocks gr_single_pole_iir_filter_cc
426                           gr_agc_cc
427                           gr_phase_modulator_fc
428         Changed gr_single_pole_iir.h  to make this work
429         Bugfix, to make make_check work again.
430
431         * src/lib/filter/Makefile.am: Added gr_single_pole_iir_filter_cc
432         Added missing gr_single_pole_avg.h and gr_single_pole_rec.h (fix make check bug)
433         * src/lib/filter/filter.i: changed. Added gr_single_pole_iir_filter_cc
434         * src/lib/filter/gr_single_pole_iir.h: changed template to have
435         partial specialization for <gr_complex,i_type,double>.  Needed
436         because calculations and temporary variables have to be
437         gr_complexd in this special case
438         * src/lib/filter/gr_single_pole_iir_filter_cc.cc: new
439         * src/lib/filter/gr_single_pole_iir_filter_cc.h: new
440         * src/lib/filter/gr_single_pole_iir_filter_cc.i: new
441         * src/lib/general/Makefile.am: changed. Added gr_agc_cc, gr_phase_modulator_fc,gri_agc_cc
442         * src/lib/general/general.i: changed. Added gr_agc_cc, gr_phase_modulator_fc
443         * src/lib/general/gr_agc_cc.cc: new
444         * src/lib/general/gr_agc_cc.h: new
445         * src/lib/general/gr_agc_cc.i: new
446         * src/lib/general/gr_phase_modulator_fc.cc: new
447         * src/lib/general/gr_phase_modulator_fc.h: new
448         * src/lib/general/gr_phase_modulator_fc.i: new
449         * src/lib/general/gri_agc_cc.h: new
450         * src/lib/general/gri_agc_cc.i: new
451         * src/python/gnuradio/gr/Makefile.am: changed. Added qa_single_pole_iir_cc.py
452         * src/python/gnuradio/gr/qa_single_pole_iir_cc.py: new
453         
454 2006-02-17  Stephane Fillod  <f8cfe@free.fr>
455
456         * configure.ac, src/lib/filter/ccomplex_dotprod_generic.cc,
457         src/lib/filter/complex_dotprod_generic.cc,
458         src/lib/filter/generate_gr_fir_sysconfig.py,
459         src/lib/filter/generate_gr_fir_sysconfig_generic.py,
460         src/lib/filter/generate_gr_fir_util.py,
461         src/lib/filter/gr_fir_XXX.cc.t,
462         src/lib/filter/gr_fir_XXX_generic.cc.t,
463         src/lib/filter/gr_fir_ccc_simd.cc,
464         src/lib/filter/gr_fir_ccc_x86.cc,
465         src/lib/filter/gr_fir_ccf_simd.cc,
466         src/lib/filter/gr_fir_ccf_x86.cc,
467         src/lib/filter/gr_fir_fcc_simd.cc,
468         src/lib/filter/gr_fir_fcc_x86.cc,
469         src/lib/filter/gr_fir_fff_simd.cc,
470         src/lib/filter/gr_fir_fff_x86.cc,
471         src/lib/filter/gr_fir_fsf_simd.cc,
472         src/lib/filter/gr_fir_fsf_x86.cc,
473         src/lib/filter/gr_fir_scc_simd.cc,
474         src/lib/filter/gr_fir_scc_x86.cc,
475         src/lib/filter/gr_fir_sysconfig_x86.cc,
476         src/lib/filter/gri_mmse_fir_interpolator.cc,
477         src/lib/filter/gri_mmse_fir_interpolator_cc.cc,
478         src/lib/filter/sysconfig_x86.cc,
479         src/lib/general/gr_align_on_samplenumbers_ss.cc,
480         src/lib/general/gr_crc32.cc,
481         src/lib/general/gr_head.cc,
482         src/lib/general/gr_lfsr_32k_source_s.cc,
483         src/lib/general/gr_noise_source_X.cc.t,
484         src/lib/general/gr_nop.cc,
485         src/lib/general/gr_reverse.cc,
486         src/lib/general/gr_sig_source_X.cc.t,
487         src/lib/general/gr_simple_correlator.cc,
488         src/lib/general/gr_simple_framer.cc,
489         src/lib/general/gr_skiphead.cc,
490         src/lib/general/gr_vector_sink_X.cc.t,
491         src/lib/general/gr_vector_source_X.cc.t,
492         src/lib/general/qa_gr_fxpt.cc,
493         src/lib/general/qa_gr_fxpt_nco.cc,
494         src/lib/general/qa_gr_fxpt_vco.cc,
495         src/lib/io/gr_oscope_guts.cc,
496         src/lib/runtime/gr_io_signature.cc,
497         src/lib/runtime/gr_types.h,
498         src/lib/runtime/qa_gr_block.cc,
499         src/lib/runtime/qa_gr_buffer.cc,
500         src/lib/runtime/qa_gr_io_signature.cc: added proper config check
501         for stdint.h to define gr_int* types.
502
503 2006-02-16  Eric Blossom  <eb@comsec.com>
504
505         * src/lib/runtime/gr_types.h: added typedef for gr_int64 and
506         gr_uint64.  Need proper autoconf fix for these.
507
508 2006-02-08  Eric Blossom  <eb@comsec.com>
509
510         * src/lib/io/gr_file_sink.{h,cc,i}: added new methods: enable &
511         disable.  Thanks Marcus!
512
513 2006-02-06  Eric Blossom  <eb@comsec.com>
514
515         * src/lib/general/gr_kludge_copy.{h,cc,i}: new. Copies input to output.
516         * src/python/gnuradio/gr/qa_kludge_copy.py: new QA code.
517
518 2006-02-05  Eric Blossom  <eb@comsec.com>
519
520         * src/python/gnuradio/gr/qa_iir.py (test_iir.test_iir_direct_008):
521         accept either RuntimeError or ValueError in test case.  The return
522         value changed in swig 1.3.28.
523
524         * src/lib/swig/gnuradio.i: now use anonymous templates for
525         std::vector's.  This was a tip from one of the SWIG developers.
526         It generates less code.
527
528 2006-02-02  Eric Blossom  <eb@comsec.com>
529
530         * src/python/gnuradio/gruimpl/seq_with_cursor.py: added method to
531         select closest index by value.
532
533 2006-01-30  Eric Blossom  <eb@comsec.com>
534
535         * src/lib/general/gr_packet_sink.{h,i}: Added new "carrier_sensed"
536         method.  Naive implementation, but it just might work ;)
537         * src/python/gnuradio/blksimpl/gmsk2_pkt.py (carrier_sensed): new method.
538
539 2006-01-28  Eric Blossom  <eb@comsec.com>
540
541         * src/lib/general/gr_pa_2x2_phase_combiner.{h,cc,i}: new.  
542         four antenna phase combiner for phased array experiments.
543         
544         * src/lib/general/gr_simple_squelch_cc.{h,cc,i}: added threshold
545         and squelch_range methods.
546
547 2006-01-24  Eric Blossom  <eb@comsec.com>
548
549         * src/lib/general/gr_sync_block.cc (forecast): removed duplicated code.
550         * src/lib/general/gr_sync_interpolator.cc (forecast): removed duplicated code.
551         * src/lib/general/gr_sync_decimation.cc (forecast): removed duplicated code.
552         * src/lib/runtime/gr_single_threaded_scheduler.cc (main_loop):
553         take advantage of fixed_rate() method so that we can consume all
554         available input.  Fixed bad audio sound with encdec.
555
556 2005-12-23  Eric Blossom  <eb@comsec.com>
557
558         * src/lib/general/gr_interleaved_short_to_complex.i (class
559         gr_interleaved_short_to_complex): corrected superclass spec.
560
561 2005-12-19  Martin Dudok van Heel <nldudok1 at olifantasia.com>
562
563         Addded a new blocks to convert from unsigned char to float and for char to float.
564         Added new agc block gr_agc_ff based on existing gr_agc block
565         (which can't be directly used in a flowgraph).  All needed for
566         tv-reception.
567
568         * src/lib/general/gr_uchar_to_float.{cc,h,i}: new
569         * src/lib/general/gri_uchar_to_float.{cc,h}: new
570         * src/lib/general/gr_char_to_float.{cc,h,i}: new
571         * src/lib/general/gri_char_to_float.{cc,h}: new
572         * src/lib/general/gr_agc_ff.cc: new
573         * src/lib/general/gr_agc_ff.h: new
574         * src/lib/general/gr_agc_ff.i: new
575         * src/lib/general/Makefile.am: changed. Added gr_agc_ff,
576         gr_(u)char_to_float and gri_(u)char_to_float.
577         * src/lib/general/general.i: changed. Added
578         gr_agc_ff,gr_(u)char_to_float and gri_(u)char_to_float.
579
580 2005-12-17  Eric Blossom  <eb@comsec.com>
581
582         * src/lib/general/gr_quadrature_demod_cf.cc: use fast arctan code.
583
584 2005-12-17  Bob McGwier N4HY <rwmcgwier@comcast.net>
585
586         * src/lib/general/gr_lms_dfe_cc.{h,cc,i}: new.
587         * src/lib/general/gr_fast_atan2f.cc:  new.  Fast arc tangent using
588         table lookup and interpolation.  Declaration added to gr_math.h
589
590 2005-12-17  Eric Blossom  <eb@comsec.com>
591
592         * src/lib/general/gr_lms_dfe_ff.h: doc fix.
593         * src/lib/general/gr_lms_dfe_ff.cc: refactored.  Moved common
594         functions to gr_misc
595         * src/lib/general/gr_misc.{h,cc}: new.  Collect misc functions in
596         one place.
597         * doc/Makefile.am: --enable-doxygen default is now "no"
598
599 2005-12-16  Eric Blossom  <eb@comsec.com>
600
601         * src/lib/swig/gnuradio_swig_bug_workaround.h: removed from CVS.
602         It's generated when it's needed.
603
604 2005-12-09  Eric Blossom  <eb@comsec.com>
605
606         made 2.6 release.
607
608 2005-12-08  Chuck Swiger  <cswiger@widomaker.com>
609
610         * src/lib/general/gr_probe_signal_f.{h,cc,i}: new.  Return a
611         single sample from the stream.
612
613 2005-12-07  Chuck Swiger  <cswiger@widomaker.com>
614
615         * src/lib/general/gr_probe_avg_mag_sqrd_{f,c}.{h,cc,i}: new.
616         Sinks that measure the average magnitude squared and allow the
617         value to be retrieved via accessors.
618
619 2005-12-06  Eric Blossom  <eb@comsec.com>
620
621         * src/lib/general/gr_clock_recovery_mm_ff.cc: doc fix: added reference to book.
622
623 2005-12-01  Eric Blossom  <eb@comsec.com>
624
625         * src/lib/general/gr_packet_sink.h (class gr_packet_sink): changed
626         d_threshold to unsigned to eliminate warning.
627         * src/lib/general/gr_simple_correlator.cc: removed duplicate
628         definition of slice.
629
630 2005-12-01  Stephane Fillod  <f8cfe@free.fr>
631
632         * src/lib/general/gr_count_bits.cc (gr_count_bits32): faster
633         implementation.  No branching.
634
635 2005-11-22  Ramakrishnan Muthukrishnan <rkrishnan@symonds.net>
636
637         * src/python/gnuradio/gr/qa_filter_delay_fc.py,
638         src/python/gnuradio/gr/qa_hilbert.py: updated QA code to reflect
639         change in delay line handling.
640
641 2005-11-21  Eric Blossom  <eb@comsec.com>
642
643         * config/gr_boost.m4: reworked to look for latest version if
644         installed in version-specific subdir of /usr/local/include.
645         * src/lib/swig/Makefile.am (DISTCLEANFILES): added gnuradio_swig_python.d
646
647 2005-11-19  Eric Blossom  <eb@comsec.com>
648
649         * config/usrp_libusb.m4 (USRP_LIBUSB): add -lIOKit under darwin.
650         * config/gr_no_undefinedm4, config/gr_set_md_cpu.m4,
651         config/gr_x86_64.m3, config/usrp_fusb_tech.m4,
652         config/usrp_libusb.m4: changed incorrect use of
653         AC_CANONICAL_TARGET to HOST.
654
655 2005-11-18  Eric Blossom  <eb@comsec.com>
656
657         These changes enabled discontinous transmission of usrp packets.
658         The treatment of history was slightly changed.  Now we provide
659         zeros for the initial delay lines and produce N outputs for N
660         inputs.  In the past we would produce N-history-1 outputs for N inputs.
661         
662         * src/python/gnuradio/packet_utils.py: ensure at least a single
663         byte of padding to flush filters.
664         * src/lib/runtime/gr_block.{h,cc,i},
665         src/lib/general/gr_sync_block.{h,cc,i},
666         src/lib/general/gr_sync_decimator.{h,cc,i},
667         src/lib/general/gr_sync_interpolator.{h,cc,i}: moved history into
668         gr_block from gr_sync_block.  Added new methods to support fast
669         path through scheduler: fixed_rate, fixed_rate_ninput_to_output
670         and fixed_rate_noutput_to_input.
671         
672         * src/python/gnuradio/gr/flow_graph.py (flow_graph._connect_inputs):
673         account for initial history when attaching buffer reader.
674         * src/lib/runtime/gr_buffer.{h,cc,i} (gr_buffer_add_reader): modified to
675         provide zeros for initial history.
676
677         * src/python/gnuradio/gr/qa_fft_filter.py,
678         src/python/gnuradio/gr/qa_filter_delay_fc.py,
679         src/python/gnuradio/gr/qa_hilbert.py,
680         src/python/gnuradio/gr/qa_interp_fir_filter.py,
681         src/python/gnuradio/gr/qa_rational_resampler.py: tweaked QA code
682         to work with new history behavior.
683
684         
685 2005-11-17  Eric Blossom  <eb@comsec.com>
686
687         * src/lib/filter/gr_interp_fir_filter_XXX.cc.t,
688         gr_rational_resampler_base_XXX.cc.t: ensure that history is set in
689         constructor.
690
691         * src/lib/runtime/gr_msg_queue.i: more evil hackery to release
692         Python global interpreter lock around blocking msg_queue methods.
693
694         * src/python/gnuradio/packet_utils.py (make_packet): conditionally
695         add padding such that final packet is a multiple of 512 bytes on the USB.
696
697 2005-11-16  Eric Blossom  <eb@comsec.com>
698
699         * src/lib/io/gr_message_source.h (class gr_message_source): added
700         msgq limit to constructor args.
701
702         * src/lib/general/gr_packet_sink.{h,cc,i}: added access code
703         detection threshold to ctor args.
704
705         * src/lib/filter/gri_mmse_fir_interpolator.{h,cc}: declared interpolate const.
706
707         * src/lib/general/gr_clock_recovery_mm_ff.cc: limit excursions of
708         omega using omega_relative_limit.  Added conditional diagnostic logging.
709
710         * src/lib/runtime/gr_msg_queue.{h,cc}: block when inserting into a
711         full msg queue.
712
713         * src/lib/filter/gr_fractional_interpolator.cc (general_work):
714         1.0 - d_mu -> d_mu to match revised filter defs.
715
716 2005-11-15  Eric Blossom  <eb@comsec.com>
717
718         * src/lib/io/gr_oscope_guts.{h,cc},
719         src/lib/io/gr_oscope_sink_f.{h,cc,i}: Refactored to use messages
720         and message queues to communicate to Python.  This code will never
721         block waiting for the gui.
722         * src/lib/io/gr_message_sink.{h,cc,i}: new. A sink that packages up its
723         input and puts it in a message queue.
724
725 2005-11-14  Eric Blossom  <eb@comsec.com>
726
727         * doc/Doxyfile.in: updated to latest version.  Turned off serveral
728         options to reduce documentation generation time.
729
730 2005-11-13  Eric Blossom  <eb@comsec.com>
731
732         * src/python/gnuradio/blksimpl/gmsk2.py,
733         src/python/gnuradio/blksimpl/gmsk2_pkt.py: new GMSK mod/demod.
734         * src/python/gnuradio/gruimpl/mathmisc.py: new: gcd, lcm.
735         * src/python/gnuradio/blksimpl/rational_resampler.py: If neither
736         taps nor fractional_bw is supplied, provide a reasonable default.
737
738 2005-11-11  Eric Blossom  <eb@comsec.com>
739
740         * src/lib/filter/qa_gri_mmse_fir_interpolator.cc (t1): revised sign.
741
742         * src/lib/filter/gr_fir_filter_XXX.cc.t (work): if taps updated, return 0.
743         * src/lib/filter/gr_interp_fir_filter_XXX.cc.t (work): if taps updated, return 0.
744
745 2005-11-09  Matt Ettus  <matt@ettus.com>
746
747         * src/lib/general/gr_packet_sink.cc (gr_make_packet_sink): new.
748         slices, correlates for packet access code, checks header and
749         assembles packets.
750
751 2005-11-09  Eric Blossom  <eb@comsec.com>
752
753         * src/lib/io/gr_message_source.h: new class.  Messages sent to
754         this class are streamed to its single output.
755
756         * src/lib/runtime/gr_message.{h,cc,i}: removed unused methods; new
757         constructor from string; get contents as string.
758
759         * src/lib/filter/gri_mmse_fir_interpolator.{h,cc}: renamed from gr_mmse_fir_interpolator.
760         * src/lib/filter/gr_fractional_interpolator.{h,cc,i}: new.
761
762 2005-11-08  Eric Blossom  <eb@comsec.com>
763         
764         * src/lib/general/gr_crc32.{h,cc,i}: new.  ISO 3309 CRC-32 generator.
765
766 2005-11-08  Matt Ettus  <matt@ettus.com>
767
768         * src/lib/general/gr_threshold_ff.{h,cc,i}: new.
769         * src/python/gnuradio/blksimpl/standard_squelch.py: new
770         * src/python/gnuradio/blksimpl/nbfm_rx.py: removed squelch from
771         block.
772
773 2005-11-07  Eric Blossom  <eb@comsec.com>
774
775         * src/python/gnuradio/blksimpl/rational_resampler.py
776         (design_filter): added code to automatically design filter.
777
778         * src/lib/general/gr_firdes.cc (window): fixed Kaiser window.
779
780 2005-10-28  Eric Blossom  <eb@comsec.com>
781
782         * src/lib/io/gr_oscope_sink_f.cc (gr_oscope_sink_f): fixed del of
783         unowned variable that was causing double-free.
784
785 2005-10-23  Eric Blossom  <eb@comsec.com>
786
787         * src/lib/general/gr_nco.h (gr_nco): removed unused local var.
788
789 2005-10-17  Eric Blossom  <eb@comsec.com>
790
791         * src/lib/general/gr_fxpt_vco.h: use floats instead of double.
792         Gives 30% speedup on Opteron under gcc 3.3.5
793
794 2005-10-17  Stephane Fillod  <f8cfe@free.fr>
795
796         * src/lib/general/gr_fxpt_nco.h, src/lib/general/gr_nco.h,
797         src/lib/general/gr_sig_source_X.cc.t: set primitives in shape
798         for an eventual simd speedup. fix bug in sincos() of gr_nco.h.
799
800         * src/lib/general/Makefile.am, src/lib/general/gr_vco.h,
801         src/lib/general/gr_vco_f.cc, src/lib/general/gr_vco_f.h,
802         src/lib/general/qa_gr_fxpt_vco.h, src/lib/general/qa_gr_fxpt_vco.cc,
803         src/lib/general/qa_general.cc, src/tests/benchmark_vco.cc,
804         src/lib/general/gr_fxpt_vco.h: make use of fixed point cosine for VCO,
805         with appropriate QA code, set primitives in shape for an eventual 
806         simd speedup.
807         * src/lib/general/qa_gr_fxpt_vco.cc, src/lib/general/gr_vco.h,
808         src/lib/general/qa_gr_fxpt_vco.h, src/lib/general/gr_fxpt_vco.h: new
809
810         * README: reference gr-audio-jack, gr-audio-windows and gr-comedi
811
812 2005-10-12  Eric Blossom  <eb@comsec.com>
813
814         * src/lib/runtime/gr_vmcircbuf_mmap_tmpfile.{h,cc}: resurrected
815         rev 1.1 then added check for contiguous mapping.
816         * src/lib/runtime/gr_vmcircbuf.cc: enable gr_vmcircbuf_mmap_tmpfile.
817
818 2005-10-11  Eric Blossom  <eb@comsec.com>
819
820         * src/lib/runtime/gr_vmcircbuf_mmap_shm_open.cc
821         (gr_vmcircbuf_mmap_shm_open): corrected error message.
822
823 2005-10-10  Eric Blossom  <eb@comsec.com>
824
825         * src/lib/runtime/gr_vmcircbuf_mmap_tmpfile.{h,cc}: removed.
826
827 2005-10-10  Stephane Fillod  <f8cfe@free.fr>
828
829         * src/lib/general/gr_check_counting_s.cc,
830         src/lib/general/gr_check_lfsr_32k_s.cc,
831         src/lib/general/gr_vector_source_X.cc.t,
832         src/lib/runtime/gr_vmcircbuf_createfilemapping.cc,
833         src/lib/runtime/gr_vmcircbuf_mmap_shm_open.cc: compiler warning
834         silencing.
835
836         * src/lib/general/gr_sig_source_X.cc.t,
837         src/lib/general/gr_fxpt_nco.h,
838         src/lib/general/gr_nco.h: added sincos block primitive.
839         * src/lib/general/qa_gr_fxpt_nco.cc: qa code for new sincos
840         block primitive. cleanup.
841         * src/tests/benchmark_nco.cc: benchmark the new sincos block
842
843         * src/tests/Makefile.am: added benchmark_vco
844         src/tests/benchmark_vco.cc: new
845
846 2005-10-05  Eric Blossom  <eb@comsec.com>
847
848         * src/python/gnuradio/gr/hier_block.py (hier_block_base.__init__):
849         reenabled weakref to break circular graph.
850         * src/python/gnuradio/gr/basic_flow_graph.py (basic_flow_graph),
851         src/python/gnuradio/gr/flow_graph.py (flow_graph):
852         removed __slots__ class attribute so we can create weakrefs to
853         flow graphs.
854
855         * src/python/gnuradio/gr/gr_threading.py: New.  Load appropriate bug fix.
856         * src/python/gnuradio/gr/gr_threading_23.py (Thread.join): bug fixed
857         version of python 2.3 threading.py.
858         * src/python/gnuradio/gr/gr_threading_24.py (Thread.join): bug fixed
859         version of python 2.4 threading.py.
860
861         * src/lib/general/gr_vco_f.{h,cc,i}: new VCO block.
862
863 2005-10-03  Eric Blossom  <eb@comsec.com>
864
865         * src/python/gnuradio/gr/hier_block.py (hier_block_base.__init__):
866         backed out use of weakref.
867         * src/python/gnuradio/gr/scheduler.py (scheduler.wait): backed out
868         "Control-C fix".
869
870 2005-10-02  Eric Blossom  <eb@comsec.com>
871
872         * src/python/gnuradio/blksimpl/wfm_tx.py: New. Wide band FM tx block.
873
874 2005-09-29  Eric Blossom  <eb@comsec.com>
875
876         * src/python/gnuradio/gr/hier_block.py (hier_block_base.__init__):
877         store weakref to flow_graph to break circular graph so that flow
878         graph can be reclaimed right away.
879
880         * src/python/gnuradio/gr/flow_graph.py (flow_graph.__del__): call
881         self.stop() to ensure that i/o devices get shutdown gracefully.
882
883         * src/python/gnuradio/gr/scheduler.py (scheduler.wait): calling
884         thread.join was keeping us from seeing SIGINT.  Replaced with
885         alternate implementation.
886
887 2005-09-27  Eric Blossom  <eb@comsec.com>
888
889         * src/python/gnuradio/eng_option.py (check_subdev): removed the
890         (0, None) and (1, None) results.
891
892 2005-09-21  Eric Blossom  <eb@comsec.com>
893
894         * src/python/gnuradio/eng_option.py (check_subdev): added new
895         command line parser type, "subdev", for selecting usrp daughterboards.
896
897 2005-09-17  Krzysztof Kamieniecki <krys@kamieniecki.com>
898
899         * src/lib/filter/qa_gr_fir_ccf.cc: alignment fix for gcc 4.x
900
901 2005-08-28  Stephane Fillod  <f8cfe@free.fr>
902         
903         * config/gr_set_md_cpu.m4, src/lib/filter/Makefile.am: add simd 
904         support for x86_64 platform.
905
906         * src/lib/filter/ccomplex_dotprod_3dnow64.S,
907         src/lib/filter/ccomplex_dotprod_3dnowext64.S,
908         src/lib/filter/ccomplex_dotprod_sse64.S,
909         src/lib/filter/complex_dotprod_3dnow64.S,
910         src/lib/filter/complex_dotprod_3dnowext64.S,
911         src/lib/filter/complex_dotprod_sse64.S,
912         src/lib/filter/fcomplex_dotprod_3dnow64.S,
913         src/lib/filter/fcomplex_dotprod_sse64.S,
914         src/lib/filter/float_dotprod_3dnow64.S,
915         src/lib/filter/float_dotprod_sse64.S,
916         src/lib/filter/short_dotprod_mmx64.S,
917         src/lib/filter/cpuid_x86_64.S: new
918
919         * src/lib/filter/ccomplex_dotprod_3dnow.S,
920         src/lib/filter/ccomplex_dotprod_3dnowext.S,
921         src/lib/filter/ccomplex_dotprod_sse.S,
922         src/lib/filter/complex_dotprod_3dnow.S,
923         src/lib/filter/complex_dotprod_3dnowext.S,
924         src/lib/filter/complex_dotprod_sse.S,
925         src/lib/filter/fcomplex_dotprod_3dnow.S,
926         src/lib/filter/fcomplex_dotprod_sse.S,
927         src/lib/filter/float_dotprod_3dnow.S,
928         src/lib/filter/float_dotprod_sse.S,
929         src/lib/filter/short_dotprod_mmx.S
930         src/lib/filter/cpuid_x86.S: filename debug info fix, 
931         removed useless emms instruction in pure SSE.
932         * src/lib/filter/qa_gr_fir_ccc.cc: comment fix
933         
934 2005-08-28  Eric Blossom  <eb@comsec.com>
935
936         * src/lib/general/malloc16.c: fixed 64-bit pointer to int cast problem.
937
938 2005-08-26  Eric Blossom  <eb@comsec.com>
939
940         * src/python/gnuradio/gr/qa_rational_resampler.py
941         (test_rational_resampler.test_002_interp):  reduced random test
942         from 10k cases to 1000 cases.  The 10k case turns up a single
943         failure.  FIXME figure out why!
944
945         * src/python/gnuradio/gr/qa_fsk_stuff.py
946         (test_bytes_to_syms.test_simple_framer):  fixed test case to
947         reflect 0x55 trailing tail.
948
949         * src/lib/filter/qa_gr_fir_ccc.cc (test_random_io): Ensure 16-byte
950         input alignment to meet contract with SIMD ccc kernel.
951
952 2005-08-25  Eric Blossom  <eb@comsec.com>
953
954         * src/lib/general/gr_simple_correlator.cc: average the samples in
955         the sync field and use this to set the slicing level for the
956         payload.  This helps account for frequency offsets between the Tx
957         and Rx sides.
958
959 2005-08-24  Eric Blossom  <eb@comsec.com>
960
961         * src/lib/general/gr_simple_framer_sync.h: include GRSF_TAIL_PAD
962         in GRSF_OVERHEAD.
963
964         * src/lib/runtime/gr_single_threaded_scheduler.cc (main_loop): now
965         only invoke sources if we are not making progress.  This avoids
966         blocking (in most cases) unless we've got nothing better to do.
967
968         * src/lib/filter/gr_freq_xlating_fir_filter_XXX.cc.t
969         (build_composite_fir): reversed taps to fix problem introduced
970         when we "rationalized" the tap ordering a while ago.  [We are
971         missing a unit test for this...]
972
973 2005-08-22  Matt Ettus  <matt@ettus.com>
974
975         * src/python/gnuradio/blksimpl/gmsk.py:
976                 made several changes to the filters on both TX and RX.
977                 The demod filter (integrate_taps) should not average
978                 over multiple samples.  In reality, a few samples should 
979                 work, so I'm not sure why it doesn't here.
980
981 2005-08-22  Eric Blossom  <eb@comsec.com>
982
983         * src/lib/general/gr_simple_correlator.cc (general_work): removed
984         incorrect magic number and replaced with constant expression.
985         [Almost as embarrassing as a buffer overflow]
986
987 2005-08-21  Eric Blossom  <eb@comsec.com>
988
989         * src/lib/general/gr_simple_framer_sync.h: added one byte tail
990         padding to ensure that correlator has a chance to get synced in
991         case it was later on the previous packet.
992
993         * src/lib/general/gr_simple_correlator.cc (general_work):
994         corrected to use count_bits64.
995
996 2005-08-19  Eric Blossom  <eb@comsec.com>
997
998         * doc/Makefile.am: clean-local now uses $(RM) -fr
999
1000 2005-08-18  Eric Blossom  <eb@comsec.com>
1001
1002         * src/lib/general/gr_count_bits.{h,cc}: new gr_count_bits64.
1003         
1004         * src/lib/general/gr_simple_correlator.{h,cc},
1005         src/lib/general/gr_simple_framer.{h,cc},
1006         src/lib/general/gr_simple_framer_sync.h,
1007         src/python/gnuradio/gr/qa_fsk_stuff.py: changed length of SYNC
1008         code from 32 to 64 bits.
1009
1010 2005-08-16  Andrew Thomas Beck <Andrew.Beck@postgrads.unisa.edu.au>
1011
1012         * src/lib/runtime/gr_vmcircbuf_createfilemapping.cc (gr_vmcircbuf_createfilemapping): fixes.
1013
1014 2005-08-15  Eric Blossom  <eb@comsec.com>
1015
1016         * src/lib/runtime/gr_single_threaded_scheduler.i,
1017         src/lib/runtime/gr_block_detail.i, src/lib/runtime/gr_buffer.i:
1018         fixes for SWIG 1.3.25.  Thanks to Job de Haas for a big clue!
1019
1020 2005-08-08  Martin Dudok van Heel <nldudok1 at olifantasia.com>
1021
1022        Addded a new block to convert from float to unsigned char. Needed for new tv-reception example.
1023
1024        * src/lib/general/gr_float_to_uchar.{cc,h,i}: new
1025        * src/lib/general/gri_float_to_uchar.{cc,h}: new
1026        * src/lib/general/Makefile.am: changed. Added gr_float_to_uchar and gri_float_to_uchar. (Also added gr_float_to_char.h which was
1027          forgotten in previous patch to add gr_float_to_char)   
1028        * src/lib/general/general.i: changed. Added gr_float_to_uchar and gri_float_to_uchar.
1029
1030 2005-07-28  Eric Blossom  <eb@comsec.com>
1031
1032         * src/lib/general/qa_gr_circular_file.cc (t1): conditionalized
1033         base on HAVE_MMAP.
1034
1035 2005-07-24  Stephane Fillod  <f8cfe@free.fr>
1036
1037         * src/lib/runtime/gr_vmcircbuf_mmap_tmpfile.cc: get correct
1038         granularity under Cygwin.
1039
1040         * src/lib/filter/Makefile.am: renamed .s files to .S in order
1041         to enable preprocessor support in assembly source
1042         * src/lib/general/README: misc status update
1043         * src/lib/filter/assembly.h: new
1044         * src/lib/filter/3dnow_float_dotprod_really_simple.S,
1045         src/lib/filter/3dnow_float_dotprod_simple.S,
1046         src/lib/filter/ccomplex_dotprod_3dnow.S,
1047         src/lib/filter/ccomplex_dotprod_3dnowext.S,
1048         src/lib/filter/ccomplex_dotprod_sse.S,
1049         src/lib/filter/complex_dotprod_3dnow.S,
1050         src/lib/filter/complex_dotprod_3dnowext.S,
1051         src/lib/filter/complex_dotprod_sse.S,
1052         src/lib/filter/fcomplex_dotprod_3dnow.S,
1053         src/lib/filter/fcomplex_dotprod_sse.S,
1054         src/lib/filter/float_dotprod_3dnow.S,
1055         src/lib/filter/float_dotprod_sse.S,
1056         src/lib/filter/short_dotprod_mmx.S,
1057         src/lib/filter/cpuid_x86.S: new, moved from .s files with
1058         added preprocessor macros to handle both ELF and Windows
1059         x86 assembly.
1060         * src/lib/filter/3dnow_float_dotprod_really_simple.s,
1061         src/lib/filter/3dnow_float_dotprod_simple.s,
1062         src/lib/filter/ccomplex_dotprod_3dnow.s,
1063         src/lib/filter/ccomplex_dotprod_3dnowext.s,
1064         src/lib/filter/ccomplex_dotprod_sse.s,
1065         src/lib/filter/complex_dotprod_3dnow.s,
1066         src/lib/filter/complex_dotprod_3dnowext.s,
1067         src/lib/filter/complex_dotprod_sse.s,
1068         src/lib/filter/fcomplex_dotprod_3dnow.s,
1069         src/lib/filter/fcomplex_dotprod_sse.s,
1070         src/lib/filter/float_dotprod_3dnow.s,
1071         src/lib/filter/float_dotprod_sse.s,
1072         src/lib/filter/short_dotprod_mmx.s,
1073         src/lib/filter/cpuid_x86.s: removed (renamed)
1074
1075
1076 2005-07-21  Eric Blossom  <eb@comsec.com>
1077
1078         * src/lib/filter/gr_fft_filter_fff.cc (compute_sizes): turned off
1079         debugging output.
1080
1081 2005-07-20  Eric Blossom  <eb@comsec.com>
1082
1083         * src/python/gnuradio/blksimpl/filterbank.py: documented channel
1084         number to frequency mapping.  Fixed a couple of problems related
1085         to reversing filter tap order.
1086
1087 2005-07-20  Martin Dvh <gnuradiomail@olifantasia.com>
1088
1089         * src/lib/runtime/gr_vmcircbuf_createfilemapping.{h,cc}: new.
1090         Native implementation for Windows NT/W2K/XP.
1091         * config/gr_python.m4: MinGW mods.
1092
1093 2005-07-19  Eric Blossom  <eb@comsec.com>
1094
1095         * src/lib/filter/gr_fft_filter_fff.{h,cc,i}: new.  Work in
1096         progress.  Not yet ready for prime time.
1097
1098         * src/lib/runtime/gr_single_threaded_scheduler.cc: fixed spinning when
1099         sink's upstream was done, but there was a non-zero but too small
1100         amount of data left in the sink's input buffer.
1101
1102 2005-07-18  Stephane Fillod  <f8cfe@free.fr>
1103
1104         * config/gr_libgnuradio_core_extra_ldflags.m4,
1105         config/gr_no_undefined.m4, config/gr_python.m4: mods for MinGW.
1106
1107 2005-07-17  Eric Blossom  <eb@comsec.com>
1108
1109         * src/lib/filter/gr_rational_resampler_base_XXX.{h,cc,i}: new.
1110
1111         * src/python/gnuradio/blksimpl/rational_resampler.py
1112         (rational_resampler_ccc.__init__): new.  High-level wrapper for
1113         gr.rational_resampler_base_???
1114         
1115 2005-07-15  Eric Blossom  <eb@comsec.com>
1116
1117         * src/lib/filter/gr_fft_filter_ccc.cc,  src/lib/filter/gr_fir_XXX.h.t,
1118         src/lib/filter/gr_fir_ccc_simd.cc, src/lib/filter/gr_fir_ccc_simd.h,
1119         src/lib/filter/gr_fir_ccf_simd.cc, src/lib/filter/gr_fir_ccf_simd.h,
1120         src/lib/filter/gr_fir_fcc_simd.cc, src/lib/filter/gr_fir_fcc_simd.h,
1121         src/lib/filter/gr_fir_fff_simd.cc, src/lib/filter/gr_fir_fsf_simd.cc,
1122         src/lib/filter/gr_fir_scc_simd.cc, src/lib/filter/gr_fir_scc_simd.h,
1123         src/lib/filter/gr_hilbert_fc.cc, src/lib/filter/gr_interp_fir_filter_XXX.cc.t,
1124         src/lib/filter/gr_mmse_fir_interpolator.cc, src/lib/filter/qa_ccomplex_dotprod_x86.cc,
1125         src/lib/filter/qa_gr_fir_ccc.cc, src/lib/filter/qa_gr_fir_ccf.cc,
1126         src/lib/filter/qa_gr_fir_fcc.cc, src/lib/filter/qa_gr_fir_fff.cc,
1127         src/lib/filter/qa_gr_fir_scc.cc, src/lib/general/Makefile.am,
1128         src/lib/general/gr_firdes.cc, src/lib/general/gr_firdes.h,
1129         src/lib/general/gr_firdes.i, src/python/gnuradio/gr/qa_filter_delay_fc.py,
1130         src/python/gnuradio/gr/qa_interp_fir_filter.py: reversed order of
1131         "taps" arguments constructors and set_taps, fixed taps() so it
1132         returns the right order.  We now require the "right" order for
1133         taps, instead of the reversed order ("dot product order") we used to
1134         require.
1135
1136 2005-07-13  Martin Dvh <gnuradiomail@olifantasia.com>
1137
1138         * config/gr_check_createfilemapping.m4,
1139           config/gr_libgnuradio_core_extra_ldflags.m4: new files
1140         * configure.ac, config/Makefile.am, src/lib/Makefile.am: added
1141           support for extra ld flags and future createfilemapping
1142           factory.
1143         * src/lib/io/gr_file_source.cc, src/lib/io/gr_file_sink.cc:
1144           binary mode support under Windows.
1145
1146 2005-07-02  Eric Blossom  <eb@comsec.com>
1147
1148         * config/gr_no_undefined.m4, config/gr_x86_64.m4: new, x86_64 support.
1149         * config/gr_python.m4: backed out search for libpython, making
1150         x86_64 work and breaking Cygwin/MinGW.
1151         * configure.ac, src/lib/Makefile.am: mods for x86_64, $(NO_UNDEFINED)
1152
1153         * src/python/gnuradio/gr/qa_complex_to_xxx.py: loosened up passing
1154         threshold so that we pass on x86_64.
1155
1156 2005-06-23  Eric Blossom  <eb@comsec.com>
1157
1158         * src/lib/runtime/gr_error_handler.cc: added #include <unistd.h>
1159
1160 2005-06-19  Eric Blossom  <eb@comsec.com>
1161
1162         * src/lib/runtime/gr_single_threaded_scheduler.cc (main_loop):
1163         added diagnostic logging.  Fixed problem where data was dribbling
1164         through pipeline.
1165
1166         * src/lib/general/gr_fxpt.cc: gcc 4.x fix.
1167
1168 2005-06-16  Eric Blossom  <eb@comsec.com>
1169         
1170         * src/lib/general/gr_nco.h: increase precision: float->double.
1171         * src/lib/general/qa_gr_fxpt_nco.h: changed initial test frequency
1172         
1173 2005-06-16  Stephane Fillod  <f8cfe@free.fr>
1174
1175         * gnuradio-core.pc.in, src/lib/Makefile.am, src/lib/atsc/Makefile.am,
1176         src/lib/filter/Makefile.am, src/lib/general/Makefile.am,
1177         src/lib/runtime/Makefile.am, src/tests/Makefile.am: put qa code
1178         in separate library.
1179         
1180 2005-06-12  Eric Blossom  <eb@comsec.com>
1181
1182         * src/python/gnuradio/blksimpl/filterbank.py: new. DFT filterbank.
1183         * src/lib/general/gr_vector_to_streams.{h,cc,i}: new.
1184         * src/lib/general/gr_streams_to_vector.{h,cc,i}: new.
1185         * src/lib/general/gr_streams_to_stream.{h,cc,i}: new. Convert
1186         streams of 1 item into a stream of N items.
1187         * src/lib/general/gr_stream_to_streams.{h,cc,i}: new. Convert 
1188         a stream of N items into N streams of 1 items.
1189
1190 2005-06-11  Eric Blossom  <eb@comsec.com>
1191
1192         * src/lib/general/gr_nlog10_ff.{h,cc,i}: added addition constructor arg,
1193         k, that is added to the return value.  Handy for normalizing FFTs.
1194
1195         * src/lib/filter/gr_fft_filter_ccc.{h,cc,i}: new.  FFT based FIR filtering.
1196
1197 2005-06-10  Eric Blossom  <eb@comsec.com>
1198
1199         * src/python/gnuradio/gr/flow_graph.py (buffer_sizes.allocate),
1200         src/python/gnuradio/gr/basic_flow_graph.py (downstream_verticies_port):
1201         modified to take into account downstream block decimation ratio.
1202         This allows us to compute big FFTs, FIRs with lots of taps, etc.
1203
1204 2005-05-18  Eric Blossom  <eb@comsec.com>
1205
1206         * src/lib/runtime/gr_block.{h,cc,i}: new start/stop methods.  These are
1207         useful for minimizing latency due to startup overhead.
1208         * src/lib/runtime/gr_single_threaded_scheduler.cc: call new methods.
1209
1210 2005-05-18  John Gilmore  <gnu@toad.com>
1211
1212         * src/python/gnuradio/gruimpl/hexint.py: new.  Convert hex
1213         constants to negative ints for long ints >= 2**31.
1214
1215 2005-05-11  Eric Blossom  <eb@comsec.com>
1216
1217         * src/lib/runtime/gr_vmcircbuf_sysv_shm.cc
1218         (gr_vmcircbuf_sysv_shm): add read-only guard page on either side
1219         of buffer.
1220
1221         * src/lib/general/gr_throttle.{h,cc,i}: new block to rate-limit
1222         samples.  Mostly useful where there's nothing stopping us from
1223         sucking down all CPU.  E.g., reading from files, gr.sig_source, etc.
1224
1225 2005-05-09  Stephane Fillod  <f8cfe@free.fr>
1226         
1227         * src/lib/filter/fcomplex_dotprod_{3dnow,sse}.s,
1228         src/lib/filter/fcomplex_dotprod_x86.h,
1229         src/lib/filter/gr_fir_ccf_simd.{cc,h},
1230         src/lib/filter/gr_fir_ccf_x86.{cc,h},
1231         src/lib/filter/gr_fir_fcc_simd.{cc,h},
1232         src/lib/filter/gr_fir_fcc_x86.{cc,h},
1233         src/tests/benchmark_dotprod_ccf.cc,
1234         src/tests/benchmark_dotprod_fsf.cc: new files
1235         * src/lib/filter/Makefile.am, src/tests/Makefile.am,
1236         src/lib/filter/gr_fir_sysconfig_x86.{cc,h}: support for FCC and
1237         CCF filter speedup
1238         * src/tests/benchmark_dotprod_{ccc,fcc,scc}.cc: copy/paste fixes
1239         which should not change benchmark results
1240
1241 2005-05-09  Stephane Fillod  <f8cfe@free.fr>
1242
1243         * config/gr_sysv_shm.m4: SysV shared memory not mandatory
1244         * config/gr_pwin32.m4, config/gr_python.m4, config/lf_cxx.m4:
1245         fixes for Cygwin, MinGW
1246         * src/lib/runtime/gr_error_handler.cc, src/lib/runtime/gr_local_sighandler.{h,cc},
1247         src/lib/runtime/gr_vmcircbuf.cc, src/lib/runtime/gr_vmcircbuf_mmap_tmpfile.cc: 
1248         modifications for Cygin, MinGW
1249
1250 2005-04-27  Eric Blossom  <eb@comsec.com>
1251
1252         * src/lib/general/gr_fake_channel_coder_pp.{h,cc,i}: new classes
1253         the pretend to do channel encoding and decoding, but really only
1254         add and strip padding...
1255
1256         * src/lib/runtime/gr_buffer.cc (allocate_buffer): cleaned up formatting
1257         on allocation warning message.
1258         
1259         * src/python/gnuradio/blksimpl/digital_voice.py: GSM vocoder + GMSK.
1260
1261 2005-04-03  Eric Blossom  <eb@comsec.com>
1262
1263         * src/lib/io/gr_oscope_guts.cc (found_trigger): fixed trigger
1264         problem where value was exactly equal to trigger value.
1265
1266 2005-03-29  Eric Blossom  <eb@comsec.com>
1267
1268         * src/python/gnuradio/blksimpl/gmsk.py: new GMSK mod and demod
1269         from Joshua Lackey <jl@noether.uoregon.edu>
1270
1271 2005-03-29  Ramakrishnan Muthukrishnan <rkrishnan@symonds.net>
1272
1273         * src/lib/filter/gr_filter_delay_fc.{h,cc,i},
1274         src/python/gnuradio/gr/qa_filter_delay_fc.py:  New block that
1275         pairs a filter with a delay.
1276
1277 2005-03-26  Eric Blossom  <eb@comsec.com>
1278
1279         * src/lib/runtime/gr_dispatcher.{h,cc,i},
1280         src/lib/runtime/gr_select_handler.{h,cc,i}: new.  Framework for
1281         callbacks based on select(2).
1282         
1283         * src/lib/runtime/gr_error_handler.{h,cc,i}: new.
1284
1285 2005-03-14  Eric Blossom  <eb@comsec.com>
1286
1287         * src/lib/general/gr_complex_to_xxx.{h,cc,i}: now support
1288         vector length argument, vlen.
1289         * src/lib/general/gr_nlog10_ff.{h,cc,i}: new.
1290         * src/lib/general/gr_parallel_to_serial.{h,cc,i}: new.
1291         * src/lib/filter/gr_single_pole_iir_filter_ff.{h,cc,i}: new
1292         * src/python/gnuradio/gr/qa_single_pole_iir.py: new
1293         * src/python/gnuradio/gr/qa_nlog10.py: new
1294
1295 2005-03-08  Eric Blossom  <eb@comsec.com>
1296
1297         * src/python/gnuradio/gr/qa_fsk_stuff.py: enabled simple_framer qa code.
1298         * src/lib/general/gr_simple_framer.{h,cc}: added forecast method.
1299
1300 2005-03-07  Eric Blossom  <eb@comsec.com>
1301
1302         * configure.ac: test for trunc and work around if missing.
1303
1304 2005-03-02  Eric Blossom  <eb@comsec.com>
1305
1306         * src/python/gnuradio/blks/__init__.py, src/python/gnuradio/blksimpl/__init__.py,
1307         src/python/gnuradio/gru/__init__.py,
1308         src/python/gnuradio/gruimpl/__init__.py: refactored organization
1309         so that hierarchical blocks are physically contained in the
1310         blkimpl directory, but that for convenience in naming, all blocks
1311         appear in the gnuradio.blks package.  Same story for gruimpl vs gru.
1312
1313         Rearranged a bunch of stuff under src/python.  CVS sucks!
1314
1315 2005-02-28  Eric Blossom  <eb@comsec.com>
1316
1317         * src/lib/general/gr_frequency_modulator_fc.cc (work): fixed
1318         floating point loss of precision.
1319         * src/lib/general/gr_simple_correlator.cc (general_work): fixed
1320         bug that had it processing only a single sample at a time.
1321
1322 2005-02-25  Matt Ettus  <matt@ettus.com>
1323
1324         * lib/general/Makefile.am, lib/general/general.i, 
1325         lib/general/gr_rms_[ff,cf].[cc,h,i]: new rms measuring block
1326
1327 2005-02-25  Eric Blossom  <eb@comsec.com>
1328
1329         * python/gnuradio/gr/qa_mute.py, lib/general/gr_mute_XX.cc.t,
1330         lib/general/gr_mute_XX.h.t, lib/general/gr_mute_XX.i.t: new block.
1331         * lib/general/Makefile.am, lib/general/Makefile.gen, 
1332         lib/general/general_generated.i, lib/general/generate_common.py:
1333         mods to generate new block.
1334
1335 2005-02-23  Eric Blossom  <eb@comsec.com>
1336
1337         * src/python/gnuradio/gr/hier_block.py: new. support for
1338         hierarchical signal processing blocks.
1339         * src/python/gnuradio/gr/basic_flow_graph.py,
1340         src/python/gnuradio/gr/qa_basic_flow_graph.py: modified to support
1341         hierarchical signal processing blocks.
1342
1343 2005-02-22  Eric Blossom  <eb@comsec.com>
1344
1345         * src/lib/general/gr_simple_squelch_cc.{h,cc,i}: new.
1346
1347         * src/lib/runtime/gr_message.{h,cc,i},
1348         src/lib/runtime/gr_msg_handler.{h,cc,i}, 
1349         src/lib/runtime/gr_msg_queue.{h,cc,i}, 
1350         src/lib/runtime/gr_timer.h: new. work-in-progress.
1351
1352 2005-02-09  Eric Blossom  <eb@comsec.com>
1353
1354         * src/lib/io/gr_file_descriptor_source.{h,cc}(work): reworked to
1355         return as soon as any data is available.  This make it much more
1356         friendly for reading sockets, named pipes, etc.
1357
1358 2005-02-07  Eric Blossom  <eb@comsec.com>
1359
1360         * src/python/gnuradio/gr/basic_flow_graph.py (coerce_endpoint):
1361         fix exception message.
1362
1363 2005-02-06  Eric Blossom  <eb@comsec.com>
1364
1365         * src/python/gnuradio/gr/basic_flow_graph.py
1366         (basic_flow_graph.connect): connect now takes >= 2 args, per
1367         Thomas Traber's suggestion.
1368         * src/python/gnuradio/gr/qa_flow_graph.py,
1369         src/python/gnuradio/gr/qa_basic_flow_grapy.py:  additional test code.
1370
1371 2005-02-05  Eric Blossom  <eb@comsec.com>
1372
1373         * src/python/gnuradio/gr/basic_flow_graph.py
1374         (basic_flow_graph.connect): removed unnecessary None
1375
1376 2005-02-02  Chuck Swiger <cswiger@widomaker.com>
1377
1378         * src/lib/io/gr_file_source.{h,cc,i}: added seek method.
1379
1380 2005-01-29  Eric Blossom  <eb@comsec.com>
1381
1382         * src/lib/runtime/gr_io_signature.i: mods for SWIG 1.3.24
1383
1384 2005-01-24  Eric Blossom  <eb@comsec.com>
1385
1386         * src/python/gnuradio/freqz.py (freqz): New. Compute frequency
1387         response of filter.
1388         * src/python/gnuradio/gnuplot_freqz.py: New. Plot output of freqz.
1389
1390 2005-01-17  Eric Blossom  <eb@comsec.com>
1391
1392         * src/lib/runtime/gr_single_threaded_scheduler.cc (main_loop):
1393         Make better initial estimate of noutput_items when current block
1394         is a decimator.  Removed old diagnostic code.
1395
1396         * src/lib/general/gr_vector_source_X.cc.t (work): reorganized the
1397         repeat case so that we always return the number of items requested.
1398         This fixes the excessive latency we were seeing in
1399         spectrum_inversion.py
1400
1401         * src/python/gnuradio/gr/flow_graph.py: Set noutputs correctly.
1402         * src/python/gnuradio/gr/qa_flow_graph.py: Test value of noutputs.
1403         
1404 2005-01-16  Eric Blossom  <eb@comsec.com>
1405
1406         * src/lib/runtime/gr_single_threaded_scheduler.cc (main_loop):
1407         check for situation where block is requesting more input data than
1408         we will ever provide.
1409
1410         * src/python/gnuradio/gr/flow_graph.py (buffer_sizes.allocate):
1411         set minimum buffersize to 2 * output_multiple()
1412
1413         * src/lib/runtime/gr_buffer.cc (space_available): fixed degenerate
1414         case to be consistent with normal case.
1415
1416 2005-01-01  Eric Blossom  <eb@comsec.com>
1417
1418         * src/lib/io/sdr_1000.i (class sdr_1000_base): removed default arg
1419         to work around SWIG 1.3.23 bug.
1420
1421 2004-12-22  Eric Blossom  <eb@comsec.com>
1422
1423         * src/lib/general/qa_gr_fxpt.cc (t0): disabled float_to_fixed test
1424         to avoid spurious failures.
1425
1426 2004-12-21  Eric Blossom  <eb@comsec.com>
1427
1428         * src/lib/general/gr_fxpt.h (class gr_fxpt): added explicit float cast.
1429         * src/lib/general/Makefile.am (grinclude_HEADERS): added gr_fxpt_nco.h
1430
1431 2004-12-18  Eric Blossom  <eb@comsec.com>
1432
1433         * src/lib/general/gr_fxpt.{h,cc},src/lib/general/gr_fxpt_nco.{h,cc},
1434         src/lib/general/qa_gr_fxpt.{h,cc},src/lib/general/qa_gr_fxpt_nco.{h,cc},
1435         src/tests/benchmark_nco.cc: new.  Faster sine and cosine
1436         calculation.  Uses table lookup with linear interpolation.  This
1437         is about 3x faster than the original code.
1438
1439 2004-12-17  Eric Blossom  <eb@comsec.com>
1440
1441         * src/lib/general/Makefile.am (swiginclude_HEADERS): fixed typo.
1442         * src/lib/general/gr_deinterleave.{h,cc,i}: new.
1443
1444 2004-12-11  Eric Blossom  <eb@comsec.com>
1445
1446         * src/lib/general/gr_interleave.{h,cc,i}: new.
1447
1448 2004-12-10  Eric Blossom  <eb@comsec.com>
1449
1450         * src/python/gnuradio/eng_option.py (check_intx): now parses hex
1451         numbers too.
1452
1453 2004-12-09  Eric Blossom  <eb@comsec.com>
1454
1455         * src/lib/filter/Makefile.am: fixed problem with gr_hilbert_fc on
1456         OS/X (it was in the wrong place in the makefile).  Now builds and
1457         checks on OS/X.
1458
1459 2004-12-06  Ramakrishnan Muthukrishnan <rkrishnan@symonds.net>
1460
1461         * src/lib/filter/Makefile.am, src/lib/general/Makefile.am,
1462         src/python/gnuradio/Makefile.am,
1463         src/python/gnuradio/gr/Makefile.am: added *.pyc to CLEANFILES
1464
1465 2004-11-30  Eric Blossom  <eb@comsec.com>
1466
1467         * src/python/gnuradio/gr/Makefile.am, configure.ac: modified to 
1468         no longer require run_test_trampoline.  Now uses AC_CONFIG_COMMANDS to
1469         set execute bit on run_tests.
1470         * src/python/gnuradio/gr/run_test_trampoline: removed.
1471
1472         * src/lib/filter/Makefile.am (swiginclude_HEADERS): fix typo in gr_hilbert_fc.i
1473
1474 2004-11-27  Eric Blossom  <eb@comsec.com>
1475
1476         * src/python/gnuradio/gr/qa_hilbert.py: new
1477         * src/lib/general/gr_firdes.i: moved from filter to general.
1478         * src/lib/general/gr_firdes.{h,cc}: new method: reverse.
1479         * src/lib/filter/gr_hilbert_fc.i: new.
1480         * src/lib/filter/gr_hilbert_fc.cc: ensure ntaps is odd.
1481
1482 2004-11-08  Stephane Fillod <f8cfe@free.fr>
1483         
1484         * src/lib/filter/Makefile.am, src/tests/Makefile.am,
1485         src/lib/filter/complex_dotprod_generic.cc,
1486         src/lib/filter/gr_fir_sysconfig_x86.{cc,h},
1487         src/lib/filter/qa_dotprod_x86.cc, src/lib/filter/qa_filter.cc:
1488         added support for x86 SIMD CCC dotproduct.
1489         * src/lib/filter/ccomplex_dotprod_3dnow.s,
1490         src/lib/filter/ccomplex_dotprod_3dnowext.s,
1491         src/lib/filter/ccomplex_dotprod_generic.{cc,h},
1492         src/lib/filter/ccomplex_dotprod_sse.s,
1493         src/lib/filter/ccomplex_dotprod_x86.h,
1494         src/lib/filter/gr_fir_ccc_simd.{cc,h},
1495         src/lib/filter/gr_fir_ccc_x86.{cc,h},
1496         src/lib/filter/qa_ccomplex_dotprod_x86.{cc,h},
1497         src/lib/filter/qa_gr_fir_ccc.{cc,h},
1498         src/tests/benchmark_dotprod.cc,
1499         src/tests/benchmark_dotprod_{ccc,fcc,scc}.cc: new
1500
1501 2004-11-08  Eric Blossom  <eb@comsec.com>
1502
1503         * src/lib/runtime/gr_block.h: new methods: set_input_signature and
1504         set_output_signature.
1505
1506 2004-11-04  Eric Blossom  <eb@comsec.com>
1507
1508         * configure.ac: upped version to 2.3cvs
1509         
1510         * configure.ac: set version to 2.3.  Made release.
1511         * src/python/gnuradio/audio.py (__init__): raise error if no audio
1512         module found.
1513
1514 2004-11-02  Eric Blossom  <eb@comsec.com>
1515
1516         * src/lib/runtime/gr_local_sighandler.cc (name): conditionalized
1517         based on signal names.
1518
1519 2004-10-30  Eric Blossom  <eb@comsec.com>
1520
1521         * src/lib/runtime/gr_local_sighandler.{h,cc}: new.  get and set
1522         signal handlers.
1523         * src/lib/runtime/gr_vmcircbuf.cc (test_factory): install handlers
1524         for SIGBUS and SIGSEGV while running tests.
1525
1526 2004-10-18  Stephane Fillod <f8cfe@free.fr>
1527         
1528         * config/gr_pwin32.m4, src/lib/runtime/gr_preferences.cc: proper
1529         detect Sleep() support, check for mkdir that takes only one arg
1530         under win32.
1531         * src/lib/runtime/gr_io_signature.cc,
1532         src/lib/runtime/gr_io_signature.h,
1533         src/lib/runtime/gr_io_signature.i,
1534         src/lib/runtime/qa_gr_io_signature.cc: resolve a clash with
1535         INFINITE already defined.
1536         * src/lib/runtime/gr_pagesize.cc: declare missing prototype of
1537         getpagesize() under win32.
1538
1539 2004-10-18  Eric Blossom  <eb@comsec.com>
1540
1541         * src/python/gnuradio/gr/run_tests.in: allow VPATH building.
1542
1543 2004-10-18  Stephane Fillod <f8cfe@free.fr>
1544
1545         * configure.ac, src/lib/filter/Makefile.am,
1546         src/lib/general/Makefile.am: allow VPATH building.
1547
1548 2004-10-17  Eric Blossom  <eb@comsec.com>
1549
1550         * doc/Makefile.am (install-data-local): install html documentation.
1551         * src/lib/filter/gr_iir_filter_ffd.cc (gr_iir_filter_ffd): removed
1552         debug message.
1553         * src/python/gnuradio/gr/run_tests.in: changed == to = for POSIX
1554         compatibility.
1555         * src/python/gnuradio/gr/qa_basic_flow_graph.py: use /usr/bin/env
1556         to find python.
1557
1558 2004-10-13  Eric Blossom  <eb@comsec.com>
1559
1560         * configure.ac: upped rev to 2.2cvs
1561
1562 2004-10-11  Eric Blossom  <eb@comsec.com>
1563
1564         * configure.ac: bumped rev to 2.2, make release
1565         * Makefile.am (EXTRA_DIST): added config.h.in
1566
1567 2004-10-07  Eric Blossom  <eb@comsec.com>
1568
1569         * src/python/gnuradio/lmx2306.py: now works!
1570
1571 2004-09-29  Eric Blossom  <eb@comsec.com>
1572
1573         * src/lib/filter/gri_iir.h: renamed from gr_iir.h.  Also, changed
1574         the sign back.  We're consistent with Oppenheim and Schafer,
1575         "Discrete-Time Signal Processing."  Documented exactly what we
1576         compute.  Faster delay line implementation.
1577         * src/lib/filter/gr_iir_filter_ffd.{h,cc,i}: new direct form IIR block.
1578         
1579 2004-09-23  Eric Blossom  <eb@comsec.com>
1580
1581         * config/usrp_fusb_tech.m4, config/bnv_have_qt.m4, config/cppunit.m4,
1582         config/gr_check_mc4020.m4, config/gr_check_usrp.m4, config/gr_doxygen.m4,
1583         config/gr_gprof.m4, config/gr_scripting.m4, config/gr_set_md_cpu.m4,
1584         config/pkg.m4, config/usrp_fusb_tech.m4: added additional quoting
1585         to first arg of AC_DEFUN to silence automake warning.
1586
1587 2004-09-22  Eric Blossom  <eb@comsec.com>
1588
1589         * src/lib/io/gr_file_descriptor_sink.cc: added missing #include <errno.h>
1590         * src/lib/io/gr_file_descriptor_source.cc: added missing #include <errno.h>
1591
1592 2004-09-21  Matthew Hall  <mahall@ncsa.uiuc.edu>
1593                                                                               
1594         * src/gnu/lib/gr/gr_iir.h: rewrote ctor docs. Fixed sign error
1595         in filter method. Now gr_iir uses Direct Form I of IIR.
1596         
1597 2004-09-19  Eric Blossom  <eb@comsec.com>
1598
1599         * src/lib/general/gr_complex_to_xxx.{h,cc,i}: new blocks.
1600         * src/python/gnuradio/gr/qa_complex_xxx.py: new qa code.
1601         
1602         * src/lib/general/gr_simple_correlator.{h,cc,i}: payload size is
1603         now in bytes, not bits.
1604         * src/lib/general/gr_simple_framer.{h,cc,i}: payload size is
1605         now in bytes, not bits.
1606
1607         * src/lib/swig/Makefile.am: now tracks swig .i file dependencies.
1608         * src/lib/swig/gnuradio.i: simplification and cleanup.
1609
1610 2004-09-18  Eric Blossom  <eb@comsec.com>
1611
1612         These modifications happened sometime between 2004-09-08 and 2004-09-18.
1613         The details are lost in the swirl around preparing the TAPR DCC.
1614
1615         * src/lib/filter/gr_interp_fir_filter_XXX.{h,cc,i}.t: new
1616         * src/lib/filter/generate_gr_interp_fir_filter_XXX.py: new
1617         * src/lib/filter/generate_all.py: modified for to generate interpolating fir filter
1618         * src/lib/general/gr_bytes_to_syms.{h,cc,i}: new
1619         * src/lib/general/gr_frequency_modulator_fc.{h,cc,i}: new
1620         * src/lib/general/gr_simple_framer.{h,cc,i}: new
1621         * src/lib/general/gr_simple_framer_sync.h: new
1622         * src/lib/general/gr_simple_correlator.{h,cc,i}: new
1623         * src/lib/io/gr_oscope_guts.{h,cc}: new
1624         * src/lib/io/gr_oscope_sink_{f,x}.{h,cc}: new
1625         * src/lib/io/gr_trigger_mode.h: new
1626         * src/lib/io/ppio.i: new
1627
1628         The following changes are related to moving from SWIG 1.3.21 to 1.3.22
1629         
1630         * src/lib/runtime/gr_block_detail.i: removed unneccesary global decl of friend.
1631         * src/lib/runtime/gr_buffer.i: removed unneccesary global decl of friend.
1632         * src/lib/runtime/gr_io_signature.i: removed unneccesary global decl of friend.
1633         * src/lib/runtime/gr_single_threaded_scheduler.i: removed unneccesary global decl of friend.
1634         * src/lib/swig/gnuradio.i: mods for improved STL support
1635         
1636         * src/lib/runtime/gr_types.h: new typedefs
1637         * src/lib/swig/gen-swig-bug-fix: new.  generate gnuradio_swig_bug_workaround.h
1638
1639         * src/python/gnuradio/eng_notation.py: new
1640         * src/python/gnuradio/grutil.py: new
1641         * src/python/gnuradio/gr_unittest.py: new subclass of unittest
1642         * src/python/gnuradio/lmx2306.py: new.  Control National PLL synthesizer
1643         * src/python/gnuradio/microtune.py: new.  Command line interface
1644         to microtune boards.
1645         * src/python/gnuradio/gr/qa_frequency_modulator.py: new
1646         * src/python/gnuradio/gr/qa_fsk_stuff.py: new
1647         * src/python/gnuradio/gr/qa_head.py: new
1648         * src/python/gnuradio/gr/qa_interp_fir_filter.py: new
1649         * src/python/gnuradio/gr/qa_sig_source.py: new
1650         
1651 2004-09-08  Eric Blossom  <eb@comsec.com>
1652
1653         * src/python/gnuradio/gr/basic_flow_graph.py
1654         (basic_flow_graph.validate): now calls check_topology.
1655         * src/lib/runtime/gr_block.{h,cc,i} (check_topology): new method.
1656         
1657         * src/lib/general/gr_short_to_float.{h,cc,i}: new
1658         * src/lib/general/gr_float_to_short.{h,cc,i}: new
1659
1660 2004-08-26  Eric Blossom  <eb@comsec.com>
1661
1662         * src/lib/general/gr_fft_vfc.{h,cc,i}: new
1663         * src/lib/general/gr_fft_vcc.{h,cc,i}: new
1664         * src/lib/general/gri_fft.{h,cc}: renamed from gr_fft.{h,cc}
1665         * src/lib/general/gr_serial_to_parallel.{h,cc,i}: new
1666         * src/lib/general/gr_keep_one_in_n.{h,cc,i}: new
1667
1668 2004-08-25  Eric Blossom  <eb@comsec.com>
1669
1670         * src/lib/io/gr_file_descriptor_source.{h,cc,i}: new
1671         * src/lib/io/gr_file_descriptor_sink.{h,cc,i}: new
1672
1673 2004-08-19  Eric Blossom  <eb@comsec.com>
1674
1675         * src/lib/general/gr_sig_source_X.cc.t (work): performance tweak
1676         for constant case.
1677
1678         * src/python/gnuradio/eng_option.py (check_eng_float): support
1679         engineering notation in option parsing.  E.g., 32k, 106.5M
1680
1681 2004-08-18  Eric Blossom  <eb@comsec.com>
1682
1683         * src/python/gnuradio/gr/scheduler.py,
1684         src/python/gnuradio/gr/basic_flow_graph.py,
1685         src/python/gnuradio/gr/flow_graph.py,
1686         src/python/gnuradio/gr/qa_flowgraph.py: modified to partition
1687         graphs and assign separate threads to each disjoint set of
1688         verticies.
1689         
1690
1691 2004-08-05  Eric Blossom  <eb@comsec.com>
1692
1693         * src/lib/general/gr_lfsr_32k_source_s.{h,cc,i}: new.
1694
1695         * src/lib/general/gr_check_counting_s.{h,cc,i}: renamed from gr_counting_sink.
1696         * src/lib/general/gri_lfsr_15_1_0.h: new LFSR generator with
1697         period 32K-1 bits.
1698         * src/lib/general/gri_lfsr_32k.h: new LFSR generator with period
1699         32K bits.
1700         * src/lib/general/gr_counting_sink_s.{h,cc,i}: new.  checks that
1701         it's input is a counting sequence.
1702         * src/lib/filter/Makefile.am: added missing .t files
1703
1704 2004-07-31  Eric Blossom  <eb@comsec.com>
1705
1706         * src/lib/general/gr_vector_source_X.{h,cc,i}.t: added repeat
1707         argument to constructor.
1708
1709 2004-07-30  Eric Blossom  <eb@comsec.com>
1710
1711         * src/lib/general/gr_sig_source_X.cc.t (work): now use gr_sincos
1712         to compute both at same time.
1713
1714         * src/lib/general/gr_nco.h (gr_nco): renamed method cossin -> sincos
1715         and use gr_sincos to compute value.
1716
1717         * configure.ac: upped rev to 2.1cvs.
1718
1719 2004-07-21  Eric Blossom  <eb@comsec.com>
1720
1721         * configure.ac: upped rev to 2.1.  Made release.
1722
1723 2004-07-20  Eric Blossom  <eb@comsec.com>
1724
1725         * src/python/gnuradio/optfir.py: new.  High level routines for optimal FIR design.
1726         * src/lib/general/gr_remez.{h,cc}: new.  Parks-McClellan method
1727         for optimal FIR design.
1728
1729 2004-07-19  Eric Blossom  <eb@comsec.com>
1730
1731         * src/lib/general/gri_add_const_ss_generic.cc: new.
1732         * src/lib/general/gri_add_const_ss.h: new.
1733
1734 2004-07-17  Eric Blossom  <eb@comsec.com>
1735
1736         * src/python/gnuradio/gr/flow_graph.py (buffer_sizes.allocate):
1737         take into account output_multiple when computing buffer size.
1738
1739         * src/lib/runtime/gr_block.i: added output_multiple and
1740         relative_rate to swig interface.
1741
1742 2004-07-12  Eric Blossom  <eb@comsec.com>
1743
1744         * configure.ac: upped rev to 2.0cvs
1745
1746         * src/python/gnuradio/sdr_1000.py: added back in.
1747         * src/lib/io/sdr_1000.{h,cc}: added back in.
1748
1749 2004-07-11  Eric Blossom  <eb@comsec.com>
1750
1751         * config/gr_boost.m4 (GR_REQUIRE_BOOST_INCLUDES): new m4 macro.
1752
1753 2004-07-09  Eric Blossom  <eb@comsec.com>
1754
1755         * src/lib/audio-oss: removed all files and moved to gr-audio-oss package.
1756
1757 2004-07-04  Eric Blossom  <eb@comsec.com>
1758
1759         * src/lib/general/gr_{add,sub,multiply,divide}_XX.{h,i,cc}.t: new
1760         * src/lib/general/gr_multiply_const_XX.{h,i,cc}.t: new
1761         * src/lib/runtime/gr_block.{h,cc} (class gr_block): renamed
1762         basic_work method to general_work
1763         * src/lib/general/gr_sync_block.{h,cc} (class gr_sync_block): 
1764         renamed sync_work method to work.
1765
1766 2004-07-03  Eric Blossom  <eb@comsec.com>
1767
1768         * src/python/gnuradio/gr/scheduler.py: new.  Now run graph in
1769         separate thread.
1770         * src/lib/runtime/gr_single_threaded_scheduler.{h,i,cc}: added
1771         stop method.
1772         * src/lib/general/gr_noise_source_X.{h,i,cc}.t: new random noise source.
1773         * config/gr_swig.m4: fail, not warn, if the right version isn't found.
1774         * src/lib/general/gr_random.{h,cc}: moved implementation specific
1775         defines out of header and into implementation.  Also moved statics
1776         into class and cleaned up a couple of other annoyances.
1777
1778 2004-07-01  Eric Blossom  <eb@comsec.com>
1779
1780         * src/python/gnuradio/gr/run_tests.in: new.  Sets PYTHONPATH
1781         for sucessful testing in build tree; runs all tests.
1782         * src/lib/runtime/{gr_block.i,gr_swig_block_magic.i}: revised to
1783         use lambda expression for repr printing instead of referencing global.
1784         * src/lib/swig/Makefile.am: now generate standalone swig runtime
1785         library that all other swig modules link against.
1786         
1787 2004-06-21  Eric Blossom  <eb@comsec.com>
1788
1789         Cleaned up interface to microtune modules and eval boards.
1790         Now uses boost::shared_ptr's.  Refactored all uses 4937 and 4702,
1791         and corresponding eval board classes.
1792         
1793         * src/lib/io/i2c.{h,cc}: split into i2c.{h,cc} and i2c_bitbang.{h,cc}
1794         * src/lib/io/eval_board_4702_defs.h: deleted.
1795         * src/lib/io/i2cio.{h,cc}: renamed to i2c_bbio.{h,cc}
1796         * src/lib/io/i2cio_pp.{h,cc}: renamed to i2c_bbio_pp.{h,cc}
1797
1798 2004-06-13  Eric Blossom  <eb@comsec.com>
1799
1800         * src/lib/general/gr_quadrature_demod_cf.{i,h,cc}: new.
1801
1802         * src/lib/audio-oss/gr_audio_sink_oss.{i,h,cc}: new.
1803         FIXME: should be moved into a different build tree to decouple oss
1804         dependency.
1805
1806         * src/lib/io/gr_file_{sink,source}.{i,h,cc} io.i: new.
1807         
1808 2004-06-12  Eric Blossom  <eb@comsec.com>
1809
1810         * src/lib/general/gr_sig_source_X.{h,cc,i}.t: new
1811         * src/lib/general/gr_sig_source_waveform.h: new
1812         * src/lib/general/gr_head.{h,cc,i}: new
1813
1814         * src/lib/runtime/gr_block_detail.cc (set_done), gr_buffer.h:
1815         propagate "done" upstream
1816
1817
1818 2004-XX-XX  Eric Blossom  <eb@comsec.com>
1819
1820         Months of changes...  This was whatever it took to get
1821         the beginning of the new code base working...
1822         
1823 2004-03-11  Eric Blossom  <eb@comsec.com>
1824
1825         * src/lib/runtime/io_signature.{h,cc},
1826         * src/lib/runtime/qa_io_signature.{h,cc}: new.
1827
1828 2004-03-08  Eric Blossom  <eb@comsec.com>
1829
1830         Removed cppunit from our build tree and updated qa code to work
1831         with cppunit-1.9.12
1832
1833         * Makefile.am
1834         * bootstrap
1835         * configure.ac
1836         * config/Makefile.am
1837         * config/cppunit.m4
1838         * src/lib/Makefile.am
1839         * src/lib/atsc/convolutional_interleaver.h
1840         * src/lib/atsc/qa_atsc_basic_trellis_encoder.cc
1841         * src/lib/atsc/qa_atsc_data_interleaver.cc
1842         * src/lib/atsc/qa_atsc_equalizer_nop.cc
1843         * src/lib/atsc/qa_atsc_fake_single_viterbi.cc
1844         * src/lib/atsc/qa_atsc_fs_correlator.cc
1845         * src/lib/atsc/qa_atsc_randomizer.cc
1846         * src/lib/atsc/qa_atsc_reed_solomon.cc
1847         * src/lib/atsc/qa_atsc_single_viterbi.cc
1848         * src/lib/atsc/qa_atsc_trellis_encoder.cc
1849         * src/lib/atsc/qa_atsc_viterbi_decoder.cc
1850         * src/lib/atsc/qa_convolutional_interleaver.cc
1851         * src/lib/atsc/qa_interleaver_fifo.cc
1852         * src/lib/filter/qa_complex_dotprod_x86.cc
1853         * src/lib/filter/qa_float_dotprod_x86.cc
1854         * src/lib/filter/qa_gr_fir_CCF.cc
1855         * src/lib/filter/qa_gr_fir_FCC.cc
1856         * src/lib/filter/qa_gr_fir_FFF.cc
1857         * src/lib/filter/qa_gr_fir_SCC.cc
1858         * src/lib/filter/qa_gr_mmse_fir_interpolator.cc
1859         * src/lib/filter/qa_sse_float_dotprod.cc
1860         * src/lib/general/qa_gr_circular_file.cc
1861         * src/lib/general/qa_gr_firdes.cc
1862         * src/lib/general/old/qa_gr_fir_SSS.cc
1863         * src/lib/general/old/qa_gr_fir_sse.cc
1864         * src/lib/runtime/qa_gr_vmcircbuf.cc
1865         * src/lib/vrx/VrComplex.h
1866         * src/tests/GrTestSink.cc
1867         * src/tests/GrTestSkippingSink.cc
1868         * src/tests/GrTestSource.cc
1869
1870         
1871
1872 This code was derived from gnuradio-0.9 with a massive amount of hacking.
1873         
1874 #
1875 # Copyright 2001,2002,2003,2004,2005,2006 Free Software Foundation, Inc.
1876
1877 # This file is part of GNU Radio
1878
1879 # GNU Radio is free software; you can redistribute it and/or modify
1880 # it under the terms of the GNU General Public License as published by
1881 # the Free Software Foundation; either version 2, or (at your option)
1882 # any later version.
1883
1884 # GNU Radio is distributed in the hope that it will be useful,
1885 # but WITHOUT ANY WARRANTY; without even the implied warranty of
1886 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1887 # GNU General Public License for more details.
1888
1889 # You should have received a copy of the GNU General Public License
1890 # along with GNU Radio; see the file COPYING.  If not, write to
1891 # the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
1892 # Boston, MA 02111-1307, USA.
1893