throttle: cleanup conditional code and reimplement with boost posix time
This greatly cleans up gr_throttle and moves the implementation into the .cc file.The implementation uses boost's posix time library so it will work on all systems.
Also added set_sample_rate() method and support for callback in grc.
runtime: changes to block headers to allow pure virtual sub-classes (interfaces)
Fixing missing include files and various other patches for Windows build issues.
Merge remote branch 'jblum/wip/attributes' into next
Merge remote branch 'jblum/mergeme/misc/gruel_thread_simplification' into next
Merge remote branch 'jblum/mergeme/misc/gr_flowgraph_include_iterator' into next
Merge remote branch 'jblum/mergeme/misc/use_boost_math_round' into next
Merge remote branch 'jblum/mergeme/misc/use_boost_math_trunc' into next
created gruel/attributes.h to house compiler specific attribute macros
replaced instances of attribute with __GR_ATTR from attributes.h
what else has compiler specific attributes?volk - volk is stand-alone, needs its own attributes.hgcell - not touching that, probably gcc only anyways...
Merge remote branch 'jblum/wip/gr-audio' into wip/gr-audio
Added/updated ignore files.
audio: make prefs look like old audio, removed old audio.py
reverted accidental change to keep 1 in n block
uhd: fix generation typo on uhd grc blocks io direction
gruel thread simplification:
Removed get_new_timeout from thread.h (usrp2_vrt carryover) Basically it was created because of a misunderstanding of the time types; and its only ever called once. This also removes thread.cc
Call posix_time::milliseconds in usrp2 control.cc. Notice that it passes a time_duration rather than a ptime (aka system time)....
gr_flowgraph.cc explicit include of <iterator>
Added explicit include of <iterator>,which was implicitly included by <vector>.
Affects platforms where vector does not automatically pull in iterator.
use boost::math::iround in gr_histo_sink_f.cc and gr_wavfile_sink.cc
this provides a round implementation on platforms w/o c99 standard
use boost::math::trunc in gr_frequency_modulator_fc.cc
this replaces the need for a conditional trunc implementation in config.h
Forced initialization of arrays to avoid warnings.
Needed to specify the use of boost::filesystem library.
Merge branch 'mergeme/volk/x86_cpuid_simplification' into next
Merge branch 'mergeme/misc/mkdir_simplification' into next
Merge branch 'mergeme/misc/mkdir_simplification' of git://gnuradio.org/jblum into mergeme/misc/mkdir_simplification
implemented cpuid gcc call in gr-filter gr_cpu_x86.cc, removes cpuid asm files
created gr_sys_paths.h to house functions for getting system paths
gr_sys_paths.h has gr_tmp_path() and gr_appdata_path()this replaces gr_tmp_path.h
Merge branch 'mergeme/misc/complex_dotprod_generic_header_fix' into next
Merge branch 'mergeme/math/gr_math_simplification' into next
Merge branch 'mergeme/misc/gr_fxpt_static_const_fix' into next
Merge branch 'mergeme/math/explicit_type_overloads' into next
Updating copyright.
cleanup mkdir usage with boost filesystem:
Replaced copy/pasted code and MKDIR_TAKES_ONE_ARG #ifdefswith portable boost filesystem path and directory creation.
Gets the correct home directory on windows systems: APPDATA.Replaces large amounts of copypasta with single lines of code....
gr fxpt static const fix:
Initialize PI and TWO_TO_THE_31 the standard portable c++ way.No need for "gcc 4.x fix".See http://www.parashift.com/c++-faq-lite/ctors.html#faq-10.12
remove header includes in *complex_dotprod_generic.cc that don't belong
math explicit type overloads:
Use explicit data type casts in math functions where the overloaded function could not be determined.
affects msvc
gr math simplification:
Replaces gr_gcd, gr_isnan, and gr_signbit one-time instances with boot math calls.No point in wrapping these utility math functions into gnuradio when they are1) provided by boost2) only called once
Removes gr_math.cc, and configure checks for isnan.
Merge branch 'master' into next
Adding accessors to Goertzel filter GR block to call setparms from implementation file for (re)setting parameters.
Adding accessor function to Goertzel filter implementaiton to set/reset its parameters.
Merge branch 'e100-updates' into next
qa_set_msg_handler: Use sleep instead of yield.
Confirmed to fix problem on 32-bit CoreDuo. Probably fixes problem on Arm too.
dotprod_fff : Fix clobber register entries.
dotprod_ccf : Add NEON support for ccf fir filter.
Add QA code for gr_basic_block::set_msg_handler.
Augment gr_nop to count received pmt messages by way of set_msg_handler.
Change pmt message handling interface in gr_basic_block.h
Change the API such that the message handler is now implemented with acallback, not an overridden virtual function. The callback is now setusing gr_basic_block::set_msg_handler, which will accept pretty much...
Fixed error in the name of the test_filter output files.
Have swig/guile wrap enums and constants as scheme variables, not functions.
Fixing how far get_tags_in_range looks; should be exclusive of end point.
Merge branch 'next' of gnuradio.org:gnuradio into next
Only prune if we've moved on in the number of items read. Fixes the problem or premature pruning.
Going back to iterators for use in erasing items from the deque.
Not using an iterator to prune the tags to see if this fixes a problem in Windows.
Buffers now hold on to all tags from both this window and the last window of items instead of just this window.
This protects against the rare times when one block is called twice before another block is, thereby pruning the tags before they can be passed downstream. The same thing will happen if a block is called 3 times in a row, which is highly unlikely.
Fixing a comment.
Create symlink using install-exec-local, not install-exec-hook.
Also rm the symlink using uninstall-local. Passes distcheck.
Move example waveforms to gnuradio-examples/waveforms.
Create and install gr-run-waveform-script, and symlink to it when installed.
Under extreme circumstances, optfir might never produce an answer (atten>300), so this puts in a check on the ripple; if it gets too large, stop trying.
Allowing PFB interpolator to be called without specifying the taps; autogen taps inside hierblock.
Allowing PFB decimator to be called without specifying the taps; autogen taps inside hierblock.
PFB channelizer can be specified without external taps. Uses optfir to generate an internal filter to cover the channel bandwidth; user can specify the attenuation of this filter if desired.
Updating the arb. resampler to use the optfir filter that provides better specificatiion of stopband atten.
Modifying the unittest output. XML files are no longer written outside of the build tree.
Add test to see if Guile was built with threads enabled
Check for lt_dladvise_global and fall back to using lt_dlopenext if not found.
Merge branch 'next' into guile.
Passes distcheck.
PFB resampler: fix it this way to avoid the signed/unsigned warning.
PFB resampler: fixes bug where filter could be looking past the number of inputs.
resampler PFB: Sets relative rate when rate is changed.
Create method to set rate on pfb_arb_resamp after it has been created.Allow it to be called from GRC.
Use load-extension-global instead of load-extension
Add new Guile gsubr that loads shared libraries using the equivalent of the RTLD_GLOBAL flag.
This is part of a work-around for swig bug: 1863647http://sourceforge.net/tracker/index.php?func=detail&aid=1863647&group_id=1645&atid=101645
Disable guile udp tests. They were causing a problem on some systems.
Moved out-of-tree includes out of gnuradio_core_INCLUDES to ensure thatin-tree includes are searched before out-of-tree includes.
Remove incorrect if PYTHON around swiginclude_HEADERS
Merge branch 'next' into guile-next
Modifying blsk2 wrapper for PFB arbitrary resampler to allow the user to just specify the requested resampling rate without providing their own filter taps.
Taps are then generated inside hier_block2 to cover full bandwidth of input signal.
Optional attenuation parameter may be provided.
Regenerated Makefile.swig.gen's
Rename libguile- to libguile-gnuradio- to match guile library naming convention.
The stuff in gnuradio-core ends up with funky names, but that couldbe fixed by renaming gnuradio_core_filter.i -> core_filter.i etc.
update .gitignore
Revert "Add "shims" for booting (mostly) from magic file system"
This reverts commit 9bc62cca21a0a171cbc220419af91b3d8f7e333b.
This stragegy didn't work. Our new gsubrs have not yet be definedwhen the ice-9/boot-9.scm code is loaded.
Try to get block destructors called (fairly) early
Add "shims" for booting (mostly) from magic file system
Moved contents of gr-guile into gnuradio-core/src/guile and removed gr-guile.
Move guts of gr-run-waveform into gnuradio/run-waveform.scm
Remove generated file from repo
Add additional scripting language vector tests
Modifying QA tests for the sample tags. By default, it only checks the sizes of the tags since order is not specified or guarenteed.
Block is a gr_block, so this sets its relative rate. Was required for using in the QA of the sample tags code.
Removing global pmt constants. Were causing segfaults during make check. Must fix this later.
Swapping order of testing rrate.
Merge branch 'tagging' of github.com:trondeau/gnuradio into tagging
Changing propagation policy enum type name and making a few other minor edits.
Add conditionals around gnuradio-core/src/{guile,python}