summaryrefslogtreecommitdiff
path: root/gnuradio-core/src
diff options
context:
space:
mode:
authorTim O'Shea <tim.oshea753@gmail.com>2013-02-13 11:36:10 -0500
committerTom Rondeau <trondeau@vt.edu>2013-02-13 12:54:55 -0500
commita482bd9a29ba643ff148ae392dc359ff53dd7fb9 (patch)
tree1923b0b1822761cc0a2c0b6ff92f52b64e2143b5 /gnuradio-core/src
parent5405f7de80902b3e5783911e5536f8b6ff79b207 (diff)
core: exposing gr_throttle to CtrlPort
Diffstat (limited to 'gnuradio-core/src')
-rw-r--r--gnuradio-core/src/lib/general/gr_throttle.cc19
-rw-r--r--gnuradio-core/src/lib/general/gr_throttle.h1
2 files changed, 20 insertions, 0 deletions
diff --git a/gnuradio-core/src/lib/general/gr_throttle.cc b/gnuradio-core/src/lib/general/gr_throttle.cc
index 040ab52205..f1faf5cff1 100644
--- a/gnuradio-core/src/lib/general/gr_throttle.cc
+++ b/gnuradio-core/src/lib/general/gr_throttle.cc
@@ -40,6 +40,10 @@ public:
/* NOP */
}
+ double sample_rate(){
+ return d_samps_per_us*1e6;
+ }
+
void set_sample_rate(double rate){
//changing the sample rate performs a reset of state params
d_start = boost::get_system_time();
@@ -78,6 +82,21 @@ private:
size_t d_itemsize;
uint64_t d_total_samples;
double d_samps_per_tick, d_samps_per_us;
+
+ void setup_rpc(){
+#ifdef GR_CTRLPORT
+ d_rpc_vars.push_back(
+ rpcbasic_sptr(new rpcbasic_register_get<gr_throttle_impl, double>(
+ alias(), "sample_rate", &gr_throttle_impl::sample_rate,
+ pmt::mp(0.0), pmt::mp(100.0e6), pmt::mp(0.0),
+ "Hz", "Sample Rate", RPC_PRIVLVL_MIN, DISPTIMESERIESF)));
+ d_rpc_vars.push_back(
+ rpcbasic_sptr(new rpcbasic_register_set<gr_throttle_impl, double>(
+ alias(), "sample_rate", &gr_throttle_impl::set_sample_rate,
+ pmt::mp(0.0), pmt::mp(100.0e6), pmt::mp(0.0),
+ "Hz", "Sample Rate", RPC_PRIVLVL_MIN, DISPTIMESERIESF)));
+#endif
+ }
};
gr_throttle::sptr
diff --git a/gnuradio-core/src/lib/general/gr_throttle.h b/gnuradio-core/src/lib/general/gr_throttle.h
index 876d6d8269..2235ffacf1 100644
--- a/gnuradio-core/src/lib/general/gr_throttle.h
+++ b/gnuradio-core/src/lib/general/gr_throttle.h
@@ -42,6 +42,7 @@ public:
typedef boost::shared_ptr<gr_throttle> sptr;
//! Sets the sample rate in samples per second
+ virtual double sample_rate() = 0;
virtual void set_sample_rate(double rate) = 0;
};