Browse Source

Added Frequency Divider Spinbox to interface
Fixed some compatibility issues with Python2/3

kapture2 3 years ago
parent
commit
3055d444ed
1 changed files with 19 additions and 6 deletions
  1. 19 6
      KCG/widgets/FrequencyExtractWidget.py

+ 19 - 6
KCG/widgets/FrequencyExtractWidget.py

@@ -119,6 +119,12 @@ class FrequencyExtractWidget(kcgw.KCGWidgets):
         self.encodeStep.setMaximum(1000.)
         self.encodeStep.setMinimum(0.)
         self.encodeStep.setSingleStep(0.01)
+        self.encodeDivider = QtGui.QDoubleSpinBox()
+        self.encodeDivider.setMinimum(0.)
+        self.encodeDivider.setMaximum(100.)
+        self.encodeDivider.setDecimals(2)
+        self.encodeDivider.setSingleStep(1.)
+
 
         self.encodeStep.valueChanged.connect(self.updateRange)
         self.encodingControls.addWidget(self.createLabel("Encoding Step:"))
@@ -126,10 +132,12 @@ class FrequencyExtractWidget(kcgw.KCGWidgets):
         self.encodingRange = self.createLabel("NaN")
         self.encodingControls.addWidget(self.createLabel("Valid Range:"))
         self.encodingControls.addWidget(self.encodingRange)
+        self.encodingControls.addWidget(self.createLabel("Value Divider:"))
+        self.encodingControls.addWidget(self.encodeDivider)
 
         self.encodeBase.setValue(10)
         self.encodeStep.setValue(0.08)
-
+        self.encodeDivider.setValue(1.)
 
 
         self.layout.addLayout(self.plotBox)
@@ -158,10 +166,11 @@ class FrequencyExtractWidget(kcgw.KCGWidgets):
         #a new connection
         self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 
+        ip = str(self.ip.text())
         try:
-            socket.inet_aton(self.ip.text())
+            socket.inet_aton(ip)
         except OSError:
-            print("Malformed IP: %s"%self.ip.text())
+            print("Malformed IP: %s"%ip)
             return
 
         try:
@@ -169,7 +178,7 @@ class FrequencyExtractWidget(kcgw.KCGWidgets):
             self.socketConnected = True
             self.ethButton.setText("Disconnect")
         except:
-            print("Failed to connect to %s"%self.ip.text())
+            print("Failed to connect to %s"%ip)
             self.socket = None
 
 
@@ -204,6 +213,7 @@ class FrequencyExtractWidget(kcgw.KCGWidgets):
         #In Python2, socket.sendall() will only accept a string
         #But in Python3, socket.sendall() will only accept a byte-sequence
 
+
         toSend = None
         if sys.version_info[0] == 2:
             toSend = chr(value)
@@ -332,9 +342,12 @@ class FrequencyExtractWidget(kcgw.KCGWidgets):
         #at the index we have identified
         xAxisScale = (self.data.fftMaxFreq() - self.data.fftFreqDist()) / float(self.fftYValues.shape[0])
 
-        self.freqText.setText(str(self.fftXValues[indexInData][0]*xAxisScale))
+        freq = self.fftXValues[indexInData][0]*xAxisScale
+        freq = freq / self.encodeDivider.value()
+
+        self.freqText.setText(str(freq))
         self.isFreqValid = True
-        self.sendFreqEth(self.fftXValues[indexInData][0]*xAxisScale)
+        self.sendFreqEth(freq)