Hi,

Setting some usrp daughterboards gain can cause different types of errors 
(which leads to python program abortion) when the gain value is greater than 
the maximum allowed value.

Regards,

Firas
Index: gr-usrp/src/db_tv_rx.py
===================================================================
--- gr-usrp/src/db_tv_rx.py	(revision 9280)
+++ gr-usrp/src/db_tv_rx.py	(working copy)
@@ -117,7 +117,13 @@
         return (0, 115, 1)
     
     def set_gain(self,gain):
-        assert gain>=0 and gain<=115
+        if gain < 0 or gain > 115 :
+           print "Gain out of range"
+           if gain < 0 :
+              gain = 0
+           if gain > 115 :
+              gain = 115
+        
         if gain>60:
             rfgain = 60
             gain = gain - 60
Index: gr-usrp/src/db_flexrf.py
===================================================================
--- gr-usrp/src/db_flexrf.py	(revision 9280)
+++ gr-usrp/src/db_flexrf.py	(working copy)
@@ -347,6 +347,12 @@
         @param gain:  gain in decibels
         @returns True/False
         """
+        if gain < self.gain_range()[0] or gain > self.gain_range()[1] :
+           print "Gain out of range"
+           if gain < self.gain_range()[0] :
+              gain = self.gain_range()[0]
+           if gain > self.gain_range()[1] :
+              gain = self.gain_range()[1]
         maxgain = self.gain_range()[1] - self._u.pga_max()
         mingain = self.gain_range()[0]
         if gain > maxgain:
Index: gr-usrp/src/db_dtt768.py
===================================================================
--- gr-usrp/src/db_dtt768.py	(revision 9280)
+++ gr-usrp/src/db_dtt768.py	(working copy)
@@ -128,7 +128,12 @@
         return (0, 115, 1)
     
     def set_gain(self,gain):
-        assert gain>=0 and gain<=115
+	if gain < 0 or gain > 115 :
+           print "Gain out of range"
+           if gain < 0 :
+              gain = 0
+           if gain > 115 :
+              gain = 115
         if gain>60:
             rfgain = 60
             gain = gain - 60
Index: gr-usrp/src/db_wbx.py
===================================================================
--- gr-usrp/src/db_wbx.py	(revision 9280)
+++ gr-usrp/src/db_wbx.py	(working copy)
@@ -330,6 +330,12 @@
         @param gain:  gain in decibels
         @returns True/False
         """
+        if gain < self.gain_range()[0] or gain > self.gain_range()[1] :
+           print "Gain out of range"
+           if gain < self.gain_range()[0] :
+              gain = self.gain_range()[0]
+           if gain > self.gain_range()[1] :
+              gain = self.gain_range()[1]
         maxgain = self.gain_range()[1] - self._u.pga_max()
         mingain = self.gain_range()[0]
         if gain > maxgain:
Index: gr-usrp/src/db_dbs_rx.py
===================================================================
--- gr-usrp/src/db_dbs_rx.py	(revision 9280)
+++ gr-usrp/src/db_dbs_rx.py	(working copy)
@@ -173,7 +173,11 @@
     
     def set_gain(self,gain):
         if not (gain>=0 and gain<105):
-            raise ValueError, "gain out of range"
+            print "Gain out of range"
+            if gain > 104 :
+               gain = 104
+            if gain < 0 :
+               gain = 0
         gc1 = 0
         gc2 = 0
         dl = 0
_______________________________________________
Patch-gnuradio mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/patch-gnuradio

Reply via email to