summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohnathan Corgan <johnathan@corganlabs.com>2016-02-12 11:24:19 -0800
committerJohnathan Corgan <johnathan@corganlabs.com>2016-02-12 11:24:19 -0800
commit965c4db3669cb4dfdc24cda8ccbc4a09c46d5ced (patch)
tree96921535937d0c5745373054c359670824022cce
parentfa6813a91b4eb528b5b4b65bacfacfbc115aebe4 (diff)
parentefed1fe3701c77bb71ffe2bfd659777c802109ea (diff)
Merge branch 'master' into next
-rw-r--r--gr-analog/lib/CMakeLists.txt11
-rw-r--r--gr-analog/lib/frequency_modulator_fc_impl.cc22
-rw-r--r--gr-analog/lib/frequency_modulator_fc_impl.h2
-rw-r--r--gr-blocks/lib/min_XX_impl.cc.t4
-rw-r--r--gr-uhd/apps/uhd_app.py22
-rwxr-xr-xgr-uhd/apps/uhd_rx_cfile11
6 files changed, 50 insertions, 22 deletions
diff --git a/gr-analog/lib/CMakeLists.txt b/gr-analog/lib/CMakeLists.txt
index 918f894abe..a75d70337b 100644
--- a/gr-analog/lib/CMakeLists.txt
+++ b/gr-analog/lib/CMakeLists.txt
@@ -110,17 +110,6 @@ GR_LIBRARY_FOO(gnuradio-analog RUNTIME_COMPONENT "analog_runtime" DEVEL_COMPONEN
add_dependencies(gnuradio-analog analog_generated_includes analog_generated_swigs gnuradio-filter)
if(ENABLE_STATIC_LIBS)
- if(ENABLE_GR_CTRLPORT)
- # Remove GR_CTRLPORT set this target's definitions.
- # Makes sure we don't try to use ControlPort stuff in source files
- GET_DIRECTORY_PROPERTY(STATIC_DEFS COMPILE_DEFINITIONS)
- list(REMOVE_ITEM STATIC_DEFS "GR_CTRLPORT")
- SET_PROPERTY(DIRECTORY PROPERTY COMPILE_DEFINITIONS "${STATIC_DEFS}")
-
- # readd it to the target since we removed it from the directory-wide list.
- SET_PROPERTY(TARGET gnuradio-analog APPEND PROPERTY COMPILE_DEFINITIONS "GR_CTRLPORT")
- endif(ENABLE_GR_CTRLPORT)
-
add_library(gnuradio-analog_static STATIC ${analog_sources})
add_dependencies(gnuradio-analog_static
diff --git a/gr-analog/lib/frequency_modulator_fc_impl.cc b/gr-analog/lib/frequency_modulator_fc_impl.cc
index 812eb8bf0b..56fa0f7c17 100644
--- a/gr-analog/lib/frequency_modulator_fc_impl.cc
+++ b/gr-analog/lib/frequency_modulator_fc_impl.cc
@@ -76,5 +76,27 @@ namespace gr {
return noutput_items;
}
+ void
+ frequency_modulator_fc_impl::setup_rpc()
+ {
+#ifdef GR_CTRLPORT
+ add_rpc_variable(
+ rpcbasic_sptr(new rpcbasic_register_get<frequency_modulator_fc, float>(
+ alias(), "sensitivity",
+ &frequency_modulator_fc::sensitivity,
+ pmt::mp(-1024.0f), pmt::mp(1024.0f), pmt::mp(0.0f),
+ "", "Sensitivity", RPC_PRIVLVL_MIN,
+ DISPTIME | DISPOPTSTRIP)));
+
+ add_rpc_variable(
+ rpcbasic_sptr(new rpcbasic_register_set<frequency_modulator_fc, float>(
+ alias(), "sensitivity",
+ &frequency_modulator_fc::set_sensitivity,
+ pmt::mp(-1024.0f), pmt::mp(1024.0f), pmt::mp(0.0f),
+ "", "sensitivity",
+ RPC_PRIVLVL_MIN, DISPNULL)));
+#endif /* GR_CTRLPORT */
+
+ }
} /* namespace analog */
} /* namespace gr */
diff --git a/gr-analog/lib/frequency_modulator_fc_impl.h b/gr-analog/lib/frequency_modulator_fc_impl.h
index 9f5310ce97..9f595d1ddb 100644
--- a/gr-analog/lib/frequency_modulator_fc_impl.h
+++ b/gr-analog/lib/frequency_modulator_fc_impl.h
@@ -41,6 +41,8 @@ namespace gr {
void set_sensitivity(float sens) { d_sensitivity = sens; }
float sensitivity() const { return d_sensitivity; }
+ void setup_rpc();
+
int work(int noutput_items,
gr_vector_const_void_star &input_items,
gr_vector_void_star &output_items);
diff --git a/gr-blocks/lib/min_XX_impl.cc.t b/gr-blocks/lib/min_XX_impl.cc.t
index d1cea61424..0f7059f7cd 100644
--- a/gr-blocks/lib/min_XX_impl.cc.t
+++ b/gr-blocks/lib/min_XX_impl.cc.t
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2014,2015 Free Software Foundation, Inc.
+ * Copyright 2014,2015,2016 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -77,7 +77,7 @@ namespace gr {
}
else // vector mode output
- for(int i = 0; i < noutput_items * d_vlen_out; i++) {
+ for(size_t i = 0; i < noutput_items * d_vlen_out; i++) {
@I_TYPE@ min = ((@I_TYPE@ *)input_items[0])[i];
for(int k = 1; k < ninputs; k++) {
diff --git a/gr-uhd/apps/uhd_app.py b/gr-uhd/apps/uhd_app.py
index 0a2beec21c..ff4412a140 100644
--- a/gr-uhd/apps/uhd_app.py
+++ b/gr-uhd/apps/uhd_app.py
@@ -170,12 +170,17 @@ class UHDApp(object):
treq = uhd.tune_request(args.freq)
self.has_lo_sensor = 'lo_locked' in self.usrp.get_sensor_names()
# Make sure tuning is synched:
+ command_time_set = False
if len(self.channels) > 1:
if args.sync == 'pps':
self.usrp.set_time_unknown_pps(uhd.time_spec())
cmd_time = self.usrp.get_time_now() + uhd.time_spec(COMMAND_DELAY)
- for mb_idx in xrange(self.usrp.get_num_mboards()):
- self.usrp.set_command_time(cmd_time, mb_idx)
+ try:
+ for mb_idx in xrange(self.usrp.get_num_mboards()):
+ self.usrp.set_command_time(cmd_time, mb_idx)
+ command_time_set = True
+ except RuntimeError:
+ sys.stderr.write('[{prefix}] [WARNING] Failed to set command times.\n'.format(prefix=self.prefix))
for chan in self.channels:
self.tr = self.usrp.set_center_freq(treq, chan)
if self.tr == None:
@@ -183,7 +188,7 @@ class UHDApp(object):
prefix=self.prefix, chan=chan
))
exit(1)
- if len(self.channels) > 1:
+ if command_time_set:
for mb_idx in xrange(self.usrp.get_num_mboards()):
self.usrp.clear_command_time(mb_idx)
self.vprint("Syncing channels...".format(prefix=self.prefix))
@@ -226,10 +231,15 @@ class UHDApp(object):
else:
treq = uhd.tune_request(freq)
# Make sure tuning is synched:
+ command_time_set = False
if len(self.channels) > 1 and not skip_sync:
cmd_time = self.usrp.get_time_now() + uhd.time_spec(COMMAND_DELAY)
- for mb_idx in xrange(self.usrp.get_num_mboards()):
- self.usrp.set_command_time(cmd_time, mb_idx)
+ try:
+ for mb_idx in xrange(self.usrp.get_num_mboards()):
+ self.usrp.set_command_time(cmd_time, mb_idx)
+ command_time_set = True
+ except RuntimeError:
+ sys.stderr.write('[{prefix}] [WARNING] Failed to set command times.\n'.format(prefix=self.prefix))
for chan in self.channels:
self.tr = self.usrp.set_center_freq(treq, chan)
if self.tr == None:
@@ -237,7 +247,7 @@ class UHDApp(object):
prefix=self.prefix, chan=chan
))
exit(1)
- if len(self.channels) > 1 and not skip_sync:
+ if command_time_set:
for mb_idx in xrange(self.usrp.get_num_mboards()):
self.usrp.clear_command_time(mb_idx)
self.vprint("Syncing channels...".format(prefix=self.prefix))
diff --git a/gr-uhd/apps/uhd_rx_cfile b/gr-uhd/apps/uhd_rx_cfile
index 80bbc8766c..672e9641e4 100755
--- a/gr-uhd/apps/uhd_rx_cfile
+++ b/gr-uhd/apps/uhd_rx_cfile
@@ -115,18 +115,23 @@ class rx_cfile_block(gr.top_block):
else:
treq = uhd.tune_request(options.freq)
# Make sure tuning is synched:
+ command_time_set = False
if len(self.channels) > 1:
if options.sync == 'pps':
self._u.set_time_unknown_pps(uhd.time_spec())
cmd_time = self._u.get_time_now() + uhd.time_spec(COMMAND_DELAY)
- for mb_idx in xrange(self._u.get_num_mboards()):
- self._u.set_command_time(cmd_time, mb_idx)
+ try:
+ for mb_idx in xrange(self._u.get_num_mboards()):
+ self._u.set_command_time(cmd_time, mb_idx)
+ command_time_set = True
+ except RuntimeError:
+ sys.stderr.write('[UHD_RX] [WARNING] Failed to set command times.\n')
for chan in self.channels:
tr = self._u.set_center_freq(treq, chan)
if tr == None:
sys.stderr.write('[UHD_RX] [ERROR] Failed to set center frequency on channel {chan}\n'.format(chan=chan))
exit(1)
- if len(self.channels) > 1:
+ if command_time_set:
for mb_idx in xrange(self._u.get_num_mboards()):
self._u.clear_command_time(mb_idx)
print("[UHD_RX] Syncing channels...")