diff options
author | Tim O'Shea <tim.oshea753@gmail.com> | 2013-02-13 11:36:10 -0500 |
---|---|---|
committer | Tom Rondeau <trondeau@vt.edu> | 2013-02-13 12:54:55 -0500 |
commit | a482bd9a29ba643ff148ae392dc359ff53dd7fb9 (patch) | |
tree | 1923b0b1822761cc0a2c0b6ff92f52b64e2143b5 /gnuradio-core/src | |
parent | 5405f7de80902b3e5783911e5536f8b6ff79b207 (diff) |
core: exposing gr_throttle to CtrlPort
Diffstat (limited to 'gnuradio-core/src')
-rw-r--r-- | gnuradio-core/src/lib/general/gr_throttle.cc | 19 | ||||
-rw-r--r-- | gnuradio-core/src/lib/general/gr_throttle.h | 1 |
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; }; |