From ad1d52fd9911114ad8c9748e808b55de4e16232b Mon Sep 17 00:00:00 2001
From: Tom Rondeau <trondeau@vt.edu>
Date: Tue, 18 Jun 2013 15:08:17 -0400
Subject: controlport: added support for complex data types.

Vectors of complex are still passed as interleaved. Single values can be passed as GNURadio::complex. ControlPort can translate these in GNU Radio to gr_complex; Python programs need to convert themselves. gr-ctrl-monitor updated to handle this.

multiply_const_cc block updated to export get and set of k value through ControlPort.
---
 gr-blocks/lib/multiply_const_cc_impl.cc | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

(limited to 'gr-blocks/lib/multiply_const_cc_impl.cc')

diff --git a/gr-blocks/lib/multiply_const_cc_impl.cc b/gr-blocks/lib/multiply_const_cc_impl.cc
index 1f363fd4a3..d0393907b0 100644
--- a/gr-blocks/lib/multiply_const_cc_impl.cc
+++ b/gr-blocks/lib/multiply_const_cc_impl.cc
@@ -68,5 +68,31 @@ namespace gr {
       return noutput_items;
     }
 
+    void
+    multiply_const_cc_impl::setup_rpc()
+    {
+#ifdef GR_CTRLPORT
+      add_rpc_variable(
+        rpcbasic_sptr(new rpcbasic_register_get<multiply_const_cc, gr_complex>(
+	  alias(), "Constant",
+	  &multiply_const_cc::k,
+	  pmt::from_complex(-1000.0f, 0.0f),
+          pmt::from_complex(1000.0f, 0.0f),
+          pmt::from_complex(0.0f, 0.0f),
+	  "", "Constant to multiply", RPC_PRIVLVL_MIN,
+          DISPTIME | DISPOPTCPLX | DISPOPTSTRIP)));
+
+      add_rpc_variable(
+        rpcbasic_sptr(new rpcbasic_register_set<multiply_const_cc, gr_complex>(
+	  alias(), "Constant",
+	  &multiply_const_cc::set_k,
+	  pmt::from_complex(-1000.0f, 0.0f),
+          pmt::from_complex(1000.0f, 0.0f),
+          pmt::from_complex(0.0f, 0.0f),
+	  "", "Constant to multiply",
+	  RPC_PRIVLVL_MIN, DISPNULL)));
+#endif /* GR_CTRLPORT */
+    }
+
   } /* namespace blocks */
 } /* namespace gr */
-- 
cgit v1.2.3