Skip to content

Commit 6ee7c1a

Browse files
committed
Merged in master.
2 parents bb01988 + d1b65f4 commit 6ee7c1a

File tree

109 files changed

+1041
-585
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

109 files changed

+1041
-585
lines changed

CMakeLists.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules)
4141
# Set the version information here
4242
set(VERSION_INFO_MAJOR_VERSION 3)
4343
set(VERSION_INFO_API_COMPAT 7)
44-
set(VERSION_INFO_MINOR_VERSION git)
45-
set(VERSION_INFO_MAINT_VERSION 0)
44+
set(VERSION_INFO_MINOR_VERSION 0)
45+
set(VERSION_INFO_MAINT_VERSION git)
4646
include(GrVersion) #setup version info
4747

4848
# Append -O2 optimization flag for Debug builds

cmake/Modules/FindQwt.cmake

+6-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55

66
find_path (QWT_INCLUDE_DIRS
77
NAMES qwt_plot.h
8+
HINTS
9+
${CMAKE_INSTALL_PREFIX}/include/qwt
810
PATHS
911
/usr/local/include/qwt-qt4
1012
/usr/local/include/qwt
@@ -16,7 +18,10 @@ find_path (QWT_INCLUDE_DIRS
1618
)
1719

1820
find_library (QWT_LIBRARIES
19-
NAMES qwt-qt4 qwt
21+
NAMES qwt qwt-qt4
22+
HINTS
23+
${CMAKE_INSTALL_PREFIX}/lib
24+
${CMAKE_INSTALL_PREFIX}/lib64
2025
PATHS
2126
/usr/local/lib
2227
/usr/lib

cmake/Modules/GnuradioConfig.cmake

+24-24
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,11 @@ function(GR_MODULE EXTVAR PCNAME INCFILE LIBFILE)
5959
FIND_PATH(
6060
${INCVAR_NAME}
6161
NAMES ${INCFILE}
62-
HINTS $ENV{GNURADIO_RUNTIME_DIR}/include/gnuradio
63-
${PC_INCDIR}/gnuradio/
64-
${CMAKE_INSTALL_PREFIX}/include/gnuradio
65-
PATHS /usr/local/include/gnuradio
66-
/usr/include/gnuradio
62+
HINTS $ENV{GNURADIO_RUNTIME_DIR}/include
63+
${PC_INCDIR}
64+
${CMAKE_INSTALL_PREFIX}/include
65+
PATHS /usr/local/include
66+
/usr/include
6767
)
6868

6969
# look for libs
@@ -101,22 +101,22 @@ function(GR_MODULE EXTVAR PCNAME INCFILE LIBFILE)
101101

102102
endfunction()
103103

104-
GR_MODULE(RUNTIME gnuradio-runtime gr_top_block.h gnuradio-runtime)
105-
GR_MODULE(ANALOG gnuradio-analog analog/api.h gnuradio-analog)
106-
GR_MODULE(ATSC gnuradio-atsc atsc/api.h gnuradio-atsc)
107-
GR_MODULE(AUDIO gnuradio-audio audio/api.h gnuradio-audio)
108-
GR_MODULE(BLOCKS gnuradio-blocks blocks/api.h gnuradio-blocks)
109-
GR_MODULE(CHANNELS gnuradio-channels channels/api.h gnuradio-channels)
110-
GR_MODULE(DIGITAL gnuradio-digital digital/api.h gnuradio-digital)
111-
GR_MODULE(FCD gnuradio-fcd fcd_api.h gnuradio-fcd)
112-
GR_MODULE(FEC gnuradio-fec fec/api.h gnuradio-fec)
113-
GR_MODULE(FFT gnuradio-fft fft/api.h gnuradio-fft)
114-
GR_MODULE(FILTER gnuradio-filter filter/api.h gnuradio-filter)
115-
GR_MODULE(NOAA gnuradio-noaa noaa/api.h gnuradio-noaa)
116-
GR_MODULE(PAGER gnuradio-pager pager/api.h gnuradio-pager)
117-
GR_MODULE(QTGUI gnuradio-qtgui qtgui/api.h gnuradio-qtgui)
118-
GR_MODULE(TRELLIS gnuradio-trellis trellis/api.h gnuradio-trellis)
119-
GR_MODULE(UHD gnuradio-uhd uhd/api.h gnuradio-uhd)
120-
GR_MODULE(VOCODER gnuradio-vocoder vocoder/api.h gnuradio-vocoder)
121-
GR_MODULE(WAVELET gnuradio-wavelet wavelet/api.h gnuradio-wavelet)
122-
GR_MODULE(WXGUI gnuradio-wxgui wxgui/api.h gnuradio-wxgui)
104+
GR_MODULE(RUNTIME gnuradio-runtime gnuradio/top_block.h gnuradio-runtime)
105+
GR_MODULE(ANALOG gnuradio-analog gnuradio/analog/api.h gnuradio-analog)
106+
GR_MODULE(ATSC gnuradio-atsc gnuradio/atsc/api.h gnuradio-atsc)
107+
GR_MODULE(AUDIO gnuradio-audio gnuradio/audio/api.h gnuradio-audio)
108+
GR_MODULE(BLOCKS gnuradio-blocks gnuradio/blocks/api.h gnuradio-blocks)
109+
GR_MODULE(CHANNELS gnuradio-channels gnuradio/channels/api.h gnuradio-channels)
110+
GR_MODULE(DIGITAL gnuradio-digital gnuradio/digital/api.h gnuradio-digital)
111+
GR_MODULE(FCD gnuradio-fcd gnuradio/fcd_api.h gnuradio-fcd)
112+
GR_MODULE(FEC gnuradio-fec gnuradio/fec/api.h gnuradio-fec)
113+
GR_MODULE(FFT gnuradio-fft gnuradio/fft/api.h gnuradio-fft)
114+
GR_MODULE(FILTER gnuradio-filter gnuradio/filter/api.h gnuradio-filter)
115+
GR_MODULE(NOAA gnuradio-noaa gnuradio/noaa/api.h gnuradio-noaa)
116+
GR_MODULE(PAGER gnuradio-pager gnuradio/pager/api.h gnuradio-pager)
117+
GR_MODULE(QTGUI gnuradio-qtgui gnuradio/qtgui/api.h gnuradio-qtgui)
118+
GR_MODULE(TRELLIS gnuradio-trellis gnuradio/trellis/api.h gnuradio-trellis)
119+
GR_MODULE(UHD gnuradio-uhd gnuradio/uhd/api.h gnuradio-uhd)
120+
GR_MODULE(VOCODER gnuradio-vocoder gnuradio/vocoder/api.h gnuradio-vocoder)
121+
GR_MODULE(WAVELET gnuradio-wavelet gnuradio/wavelet/api.h gnuradio-wavelet)
122+
GR_MODULE(WXGUI gnuradio-wxgui gnuradio/wxgui/api.h gnuradio-wxgui)

cmake/Modules/GrSwig.cmake

+4-2
Original file line numberDiff line numberDiff line change
@@ -130,8 +130,10 @@ macro(GR_SWIG_MAKE name)
130130
find_package(PythonLibs)
131131
list(APPEND GR_SWIG_INCLUDE_DIRS ${PYTHON_INCLUDE_PATH}) #deprecated name (now dirs)
132132
list(APPEND GR_SWIG_INCLUDE_DIRS ${PYTHON_INCLUDE_DIRS})
133-
list(APPEND GR_SWIG_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR})
134-
list(APPEND GR_SWIG_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR})
133+
134+
#prepend local swig directories
135+
list(INSERT GR_SWIG_INCLUDE_DIRS 0 ${CMAKE_CURRENT_SOURCE_DIR})
136+
list(INSERT GR_SWIG_INCLUDE_DIRS 0 ${CMAKE_CURRENT_BINARY_DIR})
135137

136138
#determine include dependencies for swig file
137139
execute_process(

cmake/Packaging/Fedora-17.cmake

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ SET(PACKAGE_DEPENDS_CORE_RUNTIME "fftw-libs")
22
SET(PACKAGE_DEPENDS_QTGUI_RUNTIME "qt" "qwt")
33
SET(PACKAGE_DEPENDS_QTGUI_PYTHON "PyQt4" "PyQwt")
44
SET(PACKAGE_DEPENDS_GRC "python" "numpy" "gtk2" "python-lxml" "python-cheetah")
5-
SET(PACKAGE_DEPENDS_WXGUI "wxGTK" "python" "numpy")
5+
SET(PACKAGE_DEPENDS_WXGUI "wxGTK" "python" "numpy" "PyOpenGL")
66
SET(PACKAGE_DEPENDS_VIDEO_SDL_RUNTIME "SDL")
77
SET(PACKAGE_DEPENDS_UHD_RUNTIME "uhd")
88
SET(PACKAGE_DEPENDS_AUDIO_RUNTIME "pulseaudio" "alsa-lib" "jack-audio-connection-kit")

cmake/Packaging/Fedora-18.cmake

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ SET(PACKAGE_DEPENDS_CORE_RUNTIME "fftw-libs")
22
SET(PACKAGE_DEPENDS_QTGUI_RUNTIME "qt" "qwt")
33
SET(PACKAGE_DEPENDS_QTGUI_PYTHON "PyQt4" "PyQwt")
44
SET(PACKAGE_DEPENDS_GRC "python" "numpy" "gtk2" "python-lxml" "python-cheetah")
5-
SET(PACKAGE_DEPENDS_WXGUI "wxGTK" "python" "numpy")
5+
SET(PACKAGE_DEPENDS_WXGUI "wxGTK" "python" "numpy" "PyOpenGL")
66
SET(PACKAGE_DEPENDS_VIDEO_SDL_RUNTIME "SDL")
77
SET(PACKAGE_DEPENDS_UHD_RUNTIME "uhd")
88
SET(PACKAGE_DEPENDS_AUDIO_RUNTIME "pulseaudio" "alsa-lib" "jack-audio-connection-kit")

cmake/Packaging/Ubuntu-12.04.cmake

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ SET(PACKAGE_DEPENDS_CORE_RUNTIME "libfftw3-3")
22
SET(PACKAGE_DEPENDS_QTGUI_RUNTIME "libqtcore4" "libqwt6")
33
SET(PACKAGE_DEPENDS_QTGUI_PYTHON "python-qt4" "python-qwt5-qt4")
44
SET(PACKAGE_DEPENDS_GRC "python" "python-numpy" "python-gtk2" "python-lxml" "python-cheetah")
5-
SET(PACKAGE_DEPENDS_WXGUI "python-wxgtk2.8")
5+
SET(PACKAGE_DEPENDS_WXGUI "python-wxgtk2.8" "python-opengl")
66
SET(PACKAGE_DEPENDS_VIDEO_SDL_RUNTIME "libsdl1.2debian")
77
SET(PACKAGE_DEPENDS_UHD_RUNTIME "uhd")
88
SET(PACKAGE_DEPENDS_AUDIO_RUNTIME "libpulse0" "alsa-base" "libjack0")

cmake/Packaging/Ubuntu-12.10.cmake

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ SET(PACKAGE_DEPENDS_CORE_RUNTIME "libfftw3-3")
22
SET(PACKAGE_DEPENDS_QTGUI_RUNTIME "libqtcore4" "libqwt6")
33
SET(PACKAGE_DEPENDS_QTGUI_PYTHON "python-qt4" "python-qwt5-qt4")
44
SET(PACKAGE_DEPENDS_GRC "python" "python-numpy" "python-gtk2" "python-lxml" "python-cheetah")
5-
SET(PACKAGE_DEPENDS_WXGUI "python-wxgtk2.8")
5+
SET(PACKAGE_DEPENDS_WXGUI "python-wxgtk2.8" "python-opengl")
66
SET(PACKAGE_DEPENDS_VIDEO_SDL_RUNTIME "libsdl1.2debian")
77
SET(PACKAGE_DEPENDS_UHD_RUNTIME "uhd")
88
SET(PACKAGE_DEPENDS_AUDIO_RUNTIME "libpulse0" "alsa-base" "libjack0")

cmake/Packaging/Ubuntu-13.04.cmake

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
SET(PACKAGE_DEPENDS_GRUEL_RUNTIME "libboost-all-dev" "libc6")
2+
SET(PACKAGE_DEPENDS_GRUEL_PYTHON "python" "python-numpy")
3+
SET(PACKAGE_DEPENDS_CORE_RUNTIME "libfftw3-3")
4+
SET(PACKAGE_DEPENDS_QTGUI_RUNTIME "libqtcore4" "libqwt6")
5+
SET(PACKAGE_DEPENDS_QTGUI_PYTHON "python-qt4" "python-qwt5-qt4")
6+
SET(PACKAGE_DEPENDS_GRC "python" "python-numpy" "python-gtk2" "python-lxml" "python-cheetah")
7+
SET(PACKAGE_DEPENDS_WXGUI "python-wxgtk2.8" "python-opengl")
8+
SET(PACKAGE_DEPENDS_VIDEO_SDL_RUNTIME "libsdl1.2debian")
9+
SET(PACKAGE_DEPENDS_UHD_RUNTIME "uhd")
10+
SET(PACKAGE_DEPENDS_AUDIO_RUNTIME "libpulse0" "alsa-base" "libjack0")
11+
SET(PACKAGE_DEPENDS_WAVELET_RUNTIME "libgsl0ldbl")
12+
SET(PACKAGE_DEPENDS_WAVELET_PYTHON "python" "python-numpy")

gnuradio-runtime/include/gnuradio/logger.h.in

+1-2
Original file line numberDiff line numberDiff line change
@@ -513,8 +513,7 @@ namespace gr {
513513
* Add console appender to a given logger
514514
*
515515
* \param logger Logger to which appender will be added
516-
* \param target Std target to write 'cout' or 'cerr' (default is cout)
517-
* \param pattern Formating pattern for log messages
516+
* \param appender Console appender to add
518517
*/
519518
GR_RUNTIME_API void logger_add_appender(logger_ptr logger,
520519
std::string appender);

gnuradio-runtime/include/gnuradio/py_feval.h

+23-5
Original file line numberDiff line numberDiff line change
@@ -20,58 +20,76 @@
2020
* Boston, MA 02110-1301, USA.
2121
*/
2222

23+
#ifndef INCLUDED_GR_PY_FEVAL_H
24+
#define INCLUDED_GR_PY_FEVAL_H
25+
2326
#include <pmt/pmt.h>
27+
#include <gnuradio/feval.h>
28+
29+
class ensure_py_gil_state {
30+
PyGILState_STATE d_gstate;
31+
public:
32+
ensure_py_gil_state() { d_gstate = PyGILState_Ensure(); }
33+
~ensure_py_gil_state() { PyGILState_Release(d_gstate); }
34+
};
2435

2536
namespace gr {
2637

27-
class py_feval_dd : public feval_dd
38+
class GR_RUNTIME_API py_feval_dd : public feval_dd
2839
{
2940
public:
3041
double calleval(double x)
3142
{
3243
ensure_py_gil_state _lock;
3344
return eval(x);
3445
}
46+
virtual ~py_feval_dd() {};
3547
};
3648

37-
class py_feval_cc : public feval_cc
49+
class GR_RUNTIME_API py_feval_cc : public feval_cc
3850
{
3951
public:
4052
gr_complex calleval(gr_complex x)
4153
{
4254
ensure_py_gil_state _lock;
4355
return eval(x);
4456
}
57+
virtual ~py_feval_cc() {};
4558
};
4659

47-
class py_feval_ll : public feval_ll
60+
class GR_RUNTIME_API py_feval_ll : public feval_ll
4861
{
4962
public:
5063
long calleval(long x)
5164
{
5265
ensure_py_gil_state _lock;
5366
return eval(x);
5467
}
68+
virtual ~py_feval_ll() {};
5569
};
5670

57-
class py_feval : public feval
71+
class GR_RUNTIME_API py_feval : public feval
5872
{
5973
public:
6074
void calleval()
6175
{
6276
ensure_py_gil_state _lock;
6377
eval();
6478
}
79+
virtual ~py_feval() {};
6580
};
6681

67-
class py_feval_p : public feval_p
82+
class GR_RUNTIME_API py_feval_p : public feval_p
6883
{
6984
public:
7085
void calleval(pmt::pmt_t x)
7186
{
7287
ensure_py_gil_state _lock;
7388
eval(x);
7489
}
90+
virtual ~py_feval_p() {};
7591
};
7692

7793
} /* namespace gr */
94+
95+
#endif /* INCLUDED_GR_PY_FEVAL_H */

gnuradio-runtime/include/gnuradio/realtime.h

-2
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,6 @@
2828

2929
namespace gr {
3030

31-
typedef impl::rt_status_t rt_status_t;
32-
3331
/*!
3432
* \brief If possible, enable high-priority "real time" scheduling.
3533
* \ingroup misc

gnuradio-runtime/include/gnuradio/realtime_impl.h

+12-13
Original file line numberDiff line numberDiff line change
@@ -32,20 +32,20 @@
3232
* \sa sys_pri.h
3333
*/
3434
namespace gr {
35-
namespace impl {
3635

37-
typedef enum {
38-
RT_OK = 0,
39-
RT_NOT_IMPLEMENTED,
40-
RT_NO_PRIVS,
41-
RT_OTHER_ERROR
42-
} rt_status_t;
36+
typedef enum {
37+
RT_OK = 0,
38+
RT_NOT_IMPLEMENTED,
39+
RT_NO_PRIVS,
40+
RT_OTHER_ERROR
41+
} rt_status_t;
4342

44-
enum rt_sched_policy {
45-
RT_SCHED_RR = 0, // round robin
46-
RT_SCHED_FIFO = 1, // first in first out
47-
};
43+
enum rt_sched_policy {
44+
RT_SCHED_RR = 0, // round robin
45+
RT_SCHED_FIFO = 1, // first in first out
46+
};
4847

48+
namespace impl {
4949
/*
5050
* Define the range for our virtual priorities (don't change
5151
* these)
@@ -88,8 +88,7 @@ namespace gr {
8888

8989
// NOTE: If you change this, you need to change the code in
9090
// gnuradio-runtime/swig/realtime.i, see note there.
91-
rt_status_t
92-
GR_RUNTIME_API enable_realtime_scheduling(rt_sched_param = rt_sched_param());
91+
GR_RUNTIME_API rt_status_t enable_realtime_scheduling(rt_sched_param = rt_sched_param());
9392

9493
} /* namespace impl */
9594
} /* namespace gr */

gnuradio-runtime/lib/CMakeLists.txt

+3-1
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ list(APPEND gnuradio_runtime_sources
9595
pagesize.cc
9696
prefs.cc
9797
realtime.cc
98+
realtime_impl.cc
9899
scheduler.cc
99100
scheduler_sts.cc
100101
scheduler_tpb.cc
@@ -219,7 +220,8 @@ list(APPEND test_gnuradio_runtime_sources
219220
qa_runtime.cc
220221
)
221222

222-
include_directories(${CPPUNIT_INCLUDE_DIRS} ${CMAKE_CURRENT_SOURCE_DIR}/math)
223+
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/math)
224+
include_directories(${CPPUNIT_INCLUDE_DIRS})
223225
link_directories(${CPPUNIT_LIBRARY_DIRS})
224226

225227
add_library(test-gnuradio-runtime SHARED ${test_gnuradio_runtime_sources})

gnuradio-runtime/lib/block_detail.cc

+5-3
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,7 @@ namespace gr {
263263
d_avg_noutput_items = noutput_items;
264264
d_var_noutput_items = 0;
265265
for(size_t i=0; i < d_input.size(); i++) {
266-
gr::thread::scoped_lock guard(*d_output[i]->mutex());
266+
gr::thread::scoped_lock guard(*d_input[i]->mutex());
267267
float pfull = static_cast<float>(d_input[i]->items_available()) /
268268
static_cast<float>(d_input[i]->max_possible_items_available());
269269
d_ins_input_buffers_full[i] = pfull;
@@ -287,15 +287,16 @@ namespace gr {
287287

288288
d = nproduced - d_avg_nproduced;
289289
d_ins_nproduced = nproduced;
290-
d_avg_nproduced = d_avg_nproduced + d/d_pc_counter;
291-
d_var_nproduced = d_var_nproduced + d*d;
290+
d_avg_nproduced = d_avg_nproduced + d/d_pc_counter;
291+
d_var_nproduced = d_var_nproduced + d*d;
292292

293293
d = noutput_items - d_avg_noutput_items;
294294
d_ins_noutput_items = noutput_items;
295295
d_avg_noutput_items = d_avg_noutput_items + d/d_pc_counter;
296296
d_var_noutput_items = d_var_noutput_items + d*d;
297297

298298
for(size_t i=0; i < d_input.size(); i++) {
299+
gr::thread::scoped_lock guard(*d_input[i]->mutex());
299300
float pfull = static_cast<float>(d_input[i]->items_available()) /
300301
static_cast<float>(d_input[i]->max_possible_items_available());
301302

@@ -306,6 +307,7 @@ namespace gr {
306307
}
307308

308309
for(size_t i=0; i < d_output.size(); i++) {
310+
gr::thread::scoped_lock guard(*d_output[i]->mutex());
309311
float pfull = 1.0f - static_cast<float>(d_output[i]->space_available()) /
310312
static_cast<float>(d_output[i]->bufsize());
311313

gnuradio-runtime/lib/pmt/CMakeLists.txt

+3-3
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020
########################################################################
2121
# This file included, use CMake directory variables
2222
########################################################################
23-
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
24-
include_directories(${CMAKE_CURRENT_BINARY_DIR})
23+
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR})
24+
include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR})
2525

2626
########################################################################
2727
# Generate serial tags header file
@@ -144,4 +144,4 @@ add_executable(gr_pmt_test test_pmt.cc)
144144
target_link_libraries(gr_pmt_test test-gnuradio-pmt)
145145
GR_ADD_TEST(gr-pmt-test gr_pmt_test)
146146

147-
endif(ENABLE_TESTING)
147+
endif(ENABLE_TESTING)

gnuradio-runtime/lib/realtime.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ namespace gr {
3131
rt_status_t
3232
enable_realtime_scheduling()
3333
{
34-
return gr::enable_realtime_scheduling();
34+
return gr::impl::enable_realtime_scheduling();
3535
}
3636

3737
} /* namespace gr */

0 commit comments

Comments
 (0)