summaryrefslogtreecommitdiff
path: root/gnuradio-runtime/python/gnuradio/ctrlport/GNURadioControlPortClient.py
diff options
context:
space:
mode:
authorTom Rondeau <tom@trondeau.com>2015-02-22 11:57:01 -0500
committerTom Rondeau <tom@trondeau.com>2015-04-02 15:38:56 -0700
commit490fe7fb527f629f6ba8fb804f33a51822e3b8ae (patch)
treeae50be2134d7fb3c2294ebedd17f248c63d2f865 /gnuradio-runtime/python/gnuradio/ctrlport/GNURadioControlPortClient.py
parentf2e8dd82b5436a344dadc0faeb1f3aaec18e0e09 (diff)
controlport: cleanup and switching over to new Python common interface.
Diffstat (limited to 'gnuradio-runtime/python/gnuradio/ctrlport/GNURadioControlPortClient.py')
-rw-r--r--gnuradio-runtime/python/gnuradio/ctrlport/GNURadioControlPortClient.py58
1 files changed, 41 insertions, 17 deletions
diff --git a/gnuradio-runtime/python/gnuradio/ctrlport/GNURadioControlPortClient.py b/gnuradio-runtime/python/gnuradio/ctrlport/GNURadioControlPortClient.py
index 3cf5186594..b9d0e40972 100644
--- a/gnuradio-runtime/python/gnuradio/ctrlport/GNURadioControlPortClient.py
+++ b/gnuradio-runtime/python/gnuradio/ctrlport/GNURadioControlPortClient.py
@@ -128,6 +128,8 @@ Args:
host: hostname of the connection
"""
+from gnuradio.ctrlport.GNURadio.ttypes import BaseTypes
+
class RPCConnectionThrift(RPCConnection):
def __init__(self, host=None, port=None):
if port is None: port = 9090
@@ -148,29 +150,51 @@ class RPCConnectionThrift(RPCConnection):
result = {}
for key, knob in self.thriftclient.radio.getKnobs(*args).iteritems():
- if knob.type == 0: result[key] = Knob(key, knob.value.a_bool)
- elif knob.type == 1: result[key] = Knob(key, knob.value.a_byte)
- elif knob.type == 2: result[key] = Knob(key, knob.value.a_short)
- elif knob.type == 3: result[key] = Knob(key, knob.value.a_int)
- elif knob.type == 4: result[key] = Knob(key, knob.value.a_long)
- elif knob.type == 5: result[key] = Knob(key, knob.value.a_double)
- elif knob.type == 6: result[key] = Knob(key, knob.value.a_string)
- elif knob.type == 7: result[key] = Knob(key, knob.value.a_complex)
- elif knob.type == 8: result[key] = Knob(key, knob.value.a_f32vector)
- elif knob.type == 9: result[key] = Knob(key, knob.value.a_f64vector)
- elif knob.type == 10: result[key] = Knob(key, knob.value.a_s64vector)
- elif knob.type == 11: result[key] = Knob(key, knob.value.a_s32vector)
- elif knob.type == 12: result[key] = Knob(key, knob.value.a_s16vector)
- elif knob.type == 13: result[key] = Knob(key, knob.value.a_s8vector)
- elif knob.type == 14: result[key] = Knob(key, knob.value.a_s32vector)
- elif knob.type == 15: result[key] = Knob(key, knob.value.byte)
+ if knob.type == BaseTypes.BOOL: result[key] = Knob(key, knob.value.a_bool)
+ elif knob.type == BaseTypes.BYTE: result[key] = Knob(key, knob.value.a_byte)
+ elif knob.type == BaseTypes.SHORT: result[key] = Knob(key, knob.value.a_short)
+ elif knob.type == BaseTypes.INT: result[key] = Knob(key, knob.value.a_int)
+ elif knob.type == BaseTypes.LONG: result[key] = Knob(key, knob.value.a_long)
+ elif knob.type == BaseTypes.DOUBLE: result[key] = Knob(key, knob.value.a_double)
+ elif knob.type == BaseTypes.STRING: result[key] = Knob(key, knob.value.a_string)
+ elif knob.type == BaseTypes.COMPLEX: result[key] = Knob(key, knob.value.a_complex)
+ elif knob.type == BaseTypes.F32VECTOR: result[key] = Knob(key, knob.value.a_f32vector)
+ elif knob.type == BaseTypes.F64VECTOR: result[key] = Knob(key, knob.value.a_f64vector)
+ elif knob.type == BaseTypes.S64VECTOR: result[key] = Knob(key, knob.value.a_s64vector)
+ elif knob.type == BaseTypes.S32VECTOR: result[key] = Knob(key, knob.value.a_s32vector)
+ elif knob.type == BaseTypes.S16VECTOR: result[key] = Knob(key, knob.value.a_s16vector)
+ elif knob.type == BaseTypes.S8VECTOR: result[key] = Knob(key, knob.value.a_s8vector)
+ elif knob.type == BaseTypes.C32VECTOR: result[key] = Knob(key, knob.value.a_c32vector)
else:
raise exceptions.ValueError
return result
def getRe(self,*args):
- return self.thriftclient.radio.getRe(*args)
+ class Knob():
+ def __init__(self, key, value):
+ (self.key, self.value) = (key, value)
+
+ result = {}
+ for key, knob in self.thriftclient.radio.getRe(*args).iteritems():
+ if knob.type == BaseTypes.BOOL: result[key] = Knob(key, knob.value.a_bool)
+ elif knob.type == BaseTypes.BYTE: result[key] = Knob(key, knob.value.a_byte)
+ elif knob.type == BaseTypes.SHORT: result[key] = Knob(key, knob.value.a_short)
+ elif knob.type == BaseTypes.INT: result[key] = Knob(key, knob.value.a_int)
+ elif knob.type == BaseTypes.LONG: result[key] = Knob(key, knob.value.a_long)
+ elif knob.type == BaseTypes.DOUBLE: result[key] = Knob(key, knob.value.a_double)
+ elif knob.type == BaseTypes.STRING: result[key] = Knob(key, knob.value.a_string)
+ elif knob.type == BaseTypes.COMPLEX: result[key] = Knob(key, knob.value.a_complex)
+ elif knob.type == BaseTypes.F32VECTOR: result[key] = Knob(key, knob.value.a_f32vector)
+ elif knob.type == BaseTypes.F64VECTOR: result[key] = Knob(key, knob.value.a_f64vector)
+ elif knob.type == BaseTypes.S64VECTOR: result[key] = Knob(key, knob.value.a_s64vector)
+ elif knob.type == BaseTypes.S32VECTOR: result[key] = Knob(key, knob.value.a_s32vector)
+ elif knob.type == BaseTypes.S16VECTOR: result[key] = Knob(key, knob.value.a_s16vector)
+ elif knob.type == BaseTypes.S8VECTOR: result[key] = Knob(key, knob.value.a_s8vector)
+ elif knob.type == BaseTypes.C32VECTOR: result[key] = Knob(key, knob.value.a_c32vector)
+ else:
+ raise exceptions.ValueError
+ return result
def setKnobs(self,*args):
self.thriftclient.radio.setKnobs(*args)