Revision 977b0e09

b/gnuradio-examples/python/digital/benchmark_qt_loopback2.py
54 54

55 55
        self.set_alpha_time(self.fg.rx_timing_gain_alpha())
56 56
        self.set_beta_time(self.fg.rx_timing_gain_beta())
57
        self.set_alpha_freq(self.fg.rx_freq_gain_alpha())
57
        self.set_alpha_phase(self.fg.rx_phase_gain_alpha())
58 58

59 59
        # Add the qtsnk widgets to the hlayout box
60 60
        self.gui.sinkLayout.addWidget(snkTx)
......
79 79
                     self.alphaTimeEditText)
80 80
        self.connect(self.gui.betaTimeEdit, QtCore.SIGNAL("editingFinished()"),
81 81
                     self.betaTimeEditText)
82
        self.connect(self.gui.alphaFreqEdit, QtCore.SIGNAL("editingFinished()"),
83
                     self.alphaFreqEditText)
82
        self.connect(self.gui.alphaPhaseEdit, QtCore.SIGNAL("editingFinished()"),
83
                     self.alphaPhaseEditText)
84 84

85 85
        # Build a timer to update the packet number and PER fields
86 86
        self.update_delay = 250  # time between updating packet rate fields
......
151 151
    def set_beta_time(self, beta):
152 152
        self.gui.betaTimeEdit.setText(QtCore.QString("%1").arg(beta))
153 153

154
    def set_alpha_freq(self, alpha):
155
        self.gui.alphaFreqEdit.setText(QtCore.QString("%1").arg(alpha))
154
    def set_alpha_phase(self, alpha):
155
        self.gui.alphaPhaseEdit.setText(QtCore.QString("%1").arg(alpha))
156 156

157
    def alphaFreqEditText(self):
157
    def alphaPhaseEditText(self):
158 158
        try:
159
            alpha = self.gui.alphaFreqEdit.text().toDouble()[0]
160
            self.fg.set_rx_freq_gain_alpha(alpha)
159
            alpha = self.gui.alphaPhaseEdit.text().toDouble()[0]
160
            self.fg.set_rx_phase_gain_alpha(alpha)
161 161
        except RuntimeError:
162 162
            pass
163 163

......
220 220
        # FIXME: do better exposure to lower issues for control
221 221
        self._timing_gain_alpha = self.rxpath.packet_receiver._demodulator._timing_alpha
222 222
        self._timing_gain_beta = self.rxpath.packet_receiver._demodulator._timing_beta
223
        self._freq_gain_alpha = self.rxpath.packet_receiver._demodulator._costas_alpha
223
        self._phase_gain_alpha = self.rxpath.packet_receiver._demodulator._costas_alpha
224 224

225 225
        if channelon:
226 226
            self.channel = gr.channel_model(self._noise_voltage,
......
257 257
            
258 258
                # Connect to the QT sinks
259 259
                # FIXME: make better exposure to receiver from rxpath
260
                self.freq_recov = self.rxpath.packet_receiver._demodulator.clock_recov
260
                self.freq_recov = self.rxpath.packet_receiver._demodulator.freq_recov
261
                self.phase_recov = self.rxpath.packet_receiver._demodulator.phase_recov
261 262
                self.time_recov = self.rxpath.packet_receiver._demodulator.time_recov
262
                self.freq_recov.set_alpha(self._freq_gain_alpha)
263
                self.freq_recov.set_beta(0.25*self._freq_gain_alpha*self._freq_gain_alpha)
263
                self.phase_recov.set_alpha(self._phase_gain_alpha)
264
                self.phase_recov.set_beta(0.25*self._phase_gain_alpha*self._phase_gain_alpha)
264 265
                self.time_recov.set_alpha(self._timing_gain_alpha)
265 266
                self.time_recov.set_beta(self._timing_gain_beta)
266 267
                self.connect(self.channel, self.snk_tx)
267
                self.connect(self.time_recov, self.snk_rx)
268
                self.connect(self.phase_recov, self.snk_rx)
269
                #self.connect(self.freq_recov, self.snk_rx)
268 270

269 271
                pyTxQt  = self.snk_tx.pyqwidget()
270 272
                pyTx = sip.wrapinstance(pyTxQt, QtGui.QWidget)
......
335 337
        self._timing_gain_beta = gain
336 338
        self.time_recov.set_beta(self._timing_gain_beta)
337 339

338
    def rx_freq_gain_alpha(self):
339
        return self._freq_gain_alpha
340
    def rx_phase_gain_alpha(self):
341
        return self._phase_gain_alpha
340 342

341
    def rx_freq_gain_beta(self):
342
        return self._freq_gain_beta
343
    def rx_phase_gain_beta(self):
344
        return self._phase_gain_beta
343 345
    
344
    def set_rx_freq_gain_alpha(self, alpha):
345
        self._freq_gain_alpha = alpha
346
        self._freq_gain_beta = .25 * self._freq_gain_alpha * self._freq_gain_alpha
347
        self.freq_recov.set_alpha(self._freq_gain_alpha)
348
        self.freq_recov.set_beta(self._freq_gain_beta)
346
    def set_rx_phase_gain_alpha(self, alpha):
347
        self._phase_gain_alpha = alpha
348
        self._phase_gain_beta = .25 * self._phase_gain_alpha * self._phase_gain_alpha
349
        self.phase_recov.set_alpha(self._phase_gain_alpha)
350
        self.phase_recov.set_beta(self._phase_gain_beta)
349 351

350 352

351 353

b/gnuradio-examples/python/digital/qt_digital_window2.py
1 1
# -*- coding: utf-8 -*-
2 2

3
# Form implementation generated from reading ui file 'qt_digital_window.ui'
3
# Form implementation generated from reading ui file 'qt_digital_window2.ui'
4 4
#
5
# Created: Mon Oct 12 12:10:54 2009
5
# Created: Sun Dec 20 22:08:51 2009
6 6
#      by: PyQt4 UI code generator 4.4.3
7 7
#
8 8
# WARNING! All changes made in this file will be lost!
......
17 17
        self.centralwidget.setObjectName("centralwidget")
18 18
        self.gridLayout = QtGui.QGridLayout(self.centralwidget)
19 19
        self.gridLayout.setObjectName("gridLayout")
20
        self.verticalLayout_2 = QtGui.QVBoxLayout()
21
        self.verticalLayout_2.setObjectName("verticalLayout_2")
22
        self.sysBox = QtGui.QGroupBox(self.centralwidget)
23
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
24
        sizePolicy.setHorizontalStretch(0)
25
        sizePolicy.setVerticalStretch(0)
26
        sizePolicy.setHeightForWidth(self.sysBox.sizePolicy().hasHeightForWidth())
27
        self.sysBox.setSizePolicy(sizePolicy)
28
        self.sysBox.setMinimumSize(QtCore.QSize(240, 60))
29
        self.sysBox.setMaximumSize(QtCore.QSize(240, 16777215))
30
        self.sysBox.setObjectName("sysBox")
31
        self.formLayoutWidget = QtGui.QWidget(self.sysBox)
32
        self.formLayoutWidget.setGeometry(QtCore.QRect(10, 20, 211, 31))
33
        self.formLayoutWidget.setObjectName("formLayoutWidget")
34
        self.formLayout = QtGui.QFormLayout(self.formLayoutWidget)
35
        self.formLayout.setSizeConstraint(QtGui.QLayout.SetFixedSize)
36
        self.formLayout.setVerticalSpacing(20)
37
        self.formLayout.setObjectName("formLayout")
38
        self.sampleRateEdit = QtGui.QLineEdit(self.formLayoutWidget)
39
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
40
        sizePolicy.setHorizontalStretch(0)
41
        sizePolicy.setVerticalStretch(0)
42
        sizePolicy.setHeightForWidth(self.sampleRateEdit.sizePolicy().hasHeightForWidth())
43
        self.sampleRateEdit.setSizePolicy(sizePolicy)
44
        self.sampleRateEdit.setMinimumSize(QtCore.QSize(60, 26))
45
        self.sampleRateEdit.setMaximumSize(QtCore.QSize(80, 26))
46
        self.sampleRateEdit.setObjectName("sampleRateEdit")
47
        self.formLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.sampleRateEdit)
48
        self.sampleRateLabel = QtGui.QLabel(self.formLayoutWidget)
49
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
50
        sizePolicy.setHorizontalStretch(0)
51
        sizePolicy.setVerticalStretch(0)
52
        sizePolicy.setHeightForWidth(self.sampleRateLabel.sizePolicy().hasHeightForWidth())
53
        self.sampleRateLabel.setSizePolicy(sizePolicy)
54
        self.sampleRateLabel.setMinimumSize(QtCore.QSize(0, 20))
55
        self.sampleRateLabel.setMaximumSize(QtCore.QSize(16777215, 20))
56
        self.sampleRateLabel.setObjectName("sampleRateLabel")
57
        self.formLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.sampleRateLabel)
58
        self.verticalLayout_2.addWidget(self.sysBox)
20
        self.verticalLayout = QtGui.QVBoxLayout()
21
        self.verticalLayout.setObjectName("verticalLayout")
22
        self.pauseButton = QtGui.QPushButton(self.centralwidget)
23
        self.pauseButton.setMinimumSize(QtCore.QSize(80, 0))
24
        self.pauseButton.setMaximumSize(QtCore.QSize(80, 16777215))
25
        self.pauseButton.setObjectName("pauseButton")
26
        self.verticalLayout.addWidget(self.pauseButton)
59 27
        spacerItem = QtGui.QSpacerItem(20, 60, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed)
60
        self.verticalLayout_2.addItem(spacerItem)
61
        self.gridLayout.addLayout(self.verticalLayout_2, 2, 0, 1, 1)
62
        self.verticalLayout_5 = QtGui.QVBoxLayout()
63
        self.verticalLayout_5.setObjectName("verticalLayout_5")
64
        self.sinkFrame = QtGui.QFrame(self.centralwidget)
65
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
66
        sizePolicy.setHorizontalStretch(0)
67
        sizePolicy.setVerticalStretch(0)
68
        sizePolicy.setHeightForWidth(self.sinkFrame.sizePolicy().hasHeightForWidth())
69
        self.sinkFrame.setSizePolicy(sizePolicy)
70
        self.sinkFrame.setMinimumSize(QtCore.QSize(500, 550))
71
        self.sinkFrame.setFrameShape(QtGui.QFrame.StyledPanel)
72
        self.sinkFrame.setFrameShadow(QtGui.QFrame.Raised)
73
        self.sinkFrame.setObjectName("sinkFrame")
74
        self.gridLayout_2 = QtGui.QGridLayout(self.sinkFrame)
75
        self.gridLayout_2.setObjectName("gridLayout_2")
76
        self.sinkLayout = QtGui.QHBoxLayout()
77
        self.sinkLayout.setObjectName("sinkLayout")
78
        self.gridLayout_2.addLayout(self.sinkLayout, 1, 0, 1, 1)
79
        self.verticalLayout_5.addWidget(self.sinkFrame)
80
        self.gridLayout.addLayout(self.verticalLayout_5, 0, 0, 1, 6)
28
        self.verticalLayout.addItem(spacerItem)
29
        self.closeButton = QtGui.QPushButton(self.centralwidget)
30
        self.closeButton.setMinimumSize(QtCore.QSize(80, 0))
31
        self.closeButton.setMaximumSize(QtCore.QSize(80, 16777215))
32
        self.closeButton.setObjectName("closeButton")
33
        self.verticalLayout.addWidget(self.closeButton)
34
        self.gridLayout.addLayout(self.verticalLayout, 2, 5, 1, 1)
81 35
        self.channelModeBox = QtGui.QGroupBox(self.centralwidget)
82 36
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
83 37
        sizePolicy.setHorizontalStretch(0)
......
119 73
        self.timeEdit.setObjectName("timeEdit")
120 74
        self.formLayout_2.setWidget(2, QtGui.QFormLayout.FieldRole, self.timeEdit)
121 75
        self.gridLayout.addWidget(self.channelModeBox, 2, 1, 1, 1)
76
        self.verticalLayout_2 = QtGui.QVBoxLayout()
77
        self.verticalLayout_2.setObjectName("verticalLayout_2")
78
        self.sysBox = QtGui.QGroupBox(self.centralwidget)
79
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
80
        sizePolicy.setHorizontalStretch(0)
81
        sizePolicy.setVerticalStretch(0)
82
        sizePolicy.setHeightForWidth(self.sysBox.sizePolicy().hasHeightForWidth())
83
        self.sysBox.setSizePolicy(sizePolicy)
84
        self.sysBox.setMinimumSize(QtCore.QSize(240, 60))
85
        self.sysBox.setMaximumSize(QtCore.QSize(240, 16777215))
86
        self.sysBox.setObjectName("sysBox")
87
        self.formLayoutWidget = QtGui.QWidget(self.sysBox)
88
        self.formLayoutWidget.setGeometry(QtCore.QRect(10, 20, 211, 31))
89
        self.formLayoutWidget.setObjectName("formLayoutWidget")
90
        self.formLayout = QtGui.QFormLayout(self.formLayoutWidget)
91
        self.formLayout.setSizeConstraint(QtGui.QLayout.SetFixedSize)
92
        self.formLayout.setVerticalSpacing(20)
93
        self.formLayout.setObjectName("formLayout")
94
        self.sampleRateEdit = QtGui.QLineEdit(self.formLayoutWidget)
95
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
96
        sizePolicy.setHorizontalStretch(0)
97
        sizePolicy.setVerticalStretch(0)
98
        sizePolicy.setHeightForWidth(self.sampleRateEdit.sizePolicy().hasHeightForWidth())
99
        self.sampleRateEdit.setSizePolicy(sizePolicy)
100
        self.sampleRateEdit.setMinimumSize(QtCore.QSize(60, 26))
101
        self.sampleRateEdit.setMaximumSize(QtCore.QSize(80, 26))
102
        self.sampleRateEdit.setObjectName("sampleRateEdit")
103
        self.formLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.sampleRateEdit)
104
        self.sampleRateLabel = QtGui.QLabel(self.formLayoutWidget)
105
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
106
        sizePolicy.setHorizontalStretch(0)
107
        sizePolicy.setVerticalStretch(0)
108
        sizePolicy.setHeightForWidth(self.sampleRateLabel.sizePolicy().hasHeightForWidth())
109
        self.sampleRateLabel.setSizePolicy(sizePolicy)
110
        self.sampleRateLabel.setMinimumSize(QtCore.QSize(0, 20))
111
        self.sampleRateLabel.setMaximumSize(QtCore.QSize(16777215, 20))
112
        self.sampleRateLabel.setObjectName("sampleRateLabel")
113
        self.formLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.sampleRateLabel)
114
        self.verticalLayout_2.addWidget(self.sysBox)
115
        spacerItem1 = QtGui.QSpacerItem(20, 60, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed)
116
        self.verticalLayout_2.addItem(spacerItem1)
117
        self.gridLayout.addLayout(self.verticalLayout_2, 2, 0, 1, 1)
122 118
        self.rxBox_2 = QtGui.QGroupBox(self.centralwidget)
123 119
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
124 120
        sizePolicy.setHorizontalStretch(0)
......
160 156
        self.perEdit.setObjectName("perEdit")
161 157
        self.formLayout_4.setWidget(2, QtGui.QFormLayout.FieldRole, self.perEdit)
162 158
        self.gridLayout.addWidget(self.rxBox_2, 2, 3, 1, 1)
163
        spacerItem1 = QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
164
        self.gridLayout.addItem(spacerItem1, 2, 4, 1, 1)
165
        self.verticalLayout = QtGui.QVBoxLayout()
166
        self.verticalLayout.setObjectName("verticalLayout")
167
        self.pauseButton = QtGui.QPushButton(self.centralwidget)
168
        self.pauseButton.setMinimumSize(QtCore.QSize(80, 0))
169
        self.pauseButton.setMaximumSize(QtCore.QSize(80, 16777215))
170
        self.pauseButton.setObjectName("pauseButton")
171
        self.verticalLayout.addWidget(self.pauseButton)
172
        spacerItem2 = QtGui.QSpacerItem(20, 60, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed)
173
        self.verticalLayout.addItem(spacerItem2)
174
        self.closeButton = QtGui.QPushButton(self.centralwidget)
175
        self.closeButton.setMinimumSize(QtCore.QSize(80, 0))
176
        self.closeButton.setMaximumSize(QtCore.QSize(80, 16777215))
177
        self.closeButton.setObjectName("closeButton")
178
        self.verticalLayout.addWidget(self.closeButton)
179
        self.gridLayout.addLayout(self.verticalLayout, 2, 5, 1, 1)
159
        spacerItem2 = QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
160
        self.gridLayout.addItem(spacerItem2, 2, 4, 1, 1)
161
        self.verticalLayout_5 = QtGui.QVBoxLayout()
162
        self.verticalLayout_5.setObjectName("verticalLayout_5")
163
        self.sinkFrame = QtGui.QFrame(self.centralwidget)
164
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
165
        sizePolicy.setHorizontalStretch(0)
166
        sizePolicy.setVerticalStretch(0)
167
        sizePolicy.setHeightForWidth(self.sinkFrame.sizePolicy().hasHeightForWidth())
168
        self.sinkFrame.setSizePolicy(sizePolicy)
169
        self.sinkFrame.setMinimumSize(QtCore.QSize(500, 550))
170
        self.sinkFrame.setFrameShape(QtGui.QFrame.StyledPanel)
171
        self.sinkFrame.setFrameShadow(QtGui.QFrame.Raised)
172
        self.sinkFrame.setObjectName("sinkFrame")
173
        self.gridLayout_2 = QtGui.QGridLayout(self.sinkFrame)
174
        self.gridLayout_2.setObjectName("gridLayout_2")
175
        self.sinkLayout = QtGui.QHBoxLayout()
176
        self.sinkLayout.setObjectName("sinkLayout")
177
        self.gridLayout_2.addLayout(self.sinkLayout, 1, 0, 1, 1)
178
        self.verticalLayout_5.addWidget(self.sinkFrame)
179
        self.gridLayout.addLayout(self.verticalLayout_5, 0, 0, 1, 6)
180 180
        self.rxBox = QtGui.QGroupBox(self.centralwidget)
181 181
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
182 182
        sizePolicy.setHorizontalStretch(0)
......
195 195
        self.alphaTimeLabel = QtGui.QLabel(self.formLayoutWidget_3)
196 196
        self.alphaTimeLabel.setObjectName("alphaTimeLabel")
197 197
        self.formLayout_3.setWidget(0, QtGui.QFormLayout.LabelRole, self.alphaTimeLabel)
198
        self.alphaFreqLabel = QtGui.QLabel(self.formLayoutWidget_3)
199
        self.alphaFreqLabel.setObjectName("alphaFreqLabel")
200
        self.formLayout_3.setWidget(2, QtGui.QFormLayout.LabelRole, self.alphaFreqLabel)
198
        self.alphaPhaseLabel = QtGui.QLabel(self.formLayoutWidget_3)
199
        self.alphaPhaseLabel.setObjectName("alphaPhaseLabel")
200
        self.formLayout_3.setWidget(2, QtGui.QFormLayout.LabelRole, self.alphaPhaseLabel)
201 201
        self.alphaTimeEdit = QtGui.QLineEdit(self.formLayoutWidget_3)
202 202
        self.alphaTimeEdit.setMinimumSize(QtCore.QSize(60, 0))
203 203
        self.alphaTimeEdit.setMaximumSize(QtCore.QSize(80, 16777215))
204 204
        self.alphaTimeEdit.setObjectName("alphaTimeEdit")
205 205
        self.formLayout_3.setWidget(0, QtGui.QFormLayout.FieldRole, self.alphaTimeEdit)
206
        self.alphaFreqEdit = QtGui.QLineEdit(self.formLayoutWidget_3)
207
        self.alphaFreqEdit.setMinimumSize(QtCore.QSize(60, 0))
208
        self.alphaFreqEdit.setMaximumSize(QtCore.QSize(80, 16777215))
209
        self.alphaFreqEdit.setObjectName("alphaFreqEdit")
210
        self.formLayout_3.setWidget(2, QtGui.QFormLayout.FieldRole, self.alphaFreqEdit)
206
        self.alphaPhaseEdit = QtGui.QLineEdit(self.formLayoutWidget_3)
207
        self.alphaPhaseEdit.setMinimumSize(QtCore.QSize(60, 0))
208
        self.alphaPhaseEdit.setMaximumSize(QtCore.QSize(80, 16777215))
209
        self.alphaPhaseEdit.setObjectName("alphaPhaseEdit")
210
        self.formLayout_3.setWidget(2, QtGui.QFormLayout.FieldRole, self.alphaPhaseEdit)
211 211
        self.betaTimeEdit = QtGui.QLineEdit(self.formLayoutWidget_3)
212 212
        self.betaTimeEdit.setMaximumSize(QtCore.QSize(80, 16777215))
213 213
        self.betaTimeEdit.setObjectName("betaTimeEdit")
......
240 240

241 241
    def retranslateUi(self, DigitalWindow):
242 242
        DigitalWindow.setWindowTitle(QtGui.QApplication.translate("DigitalWindow", "MainWindow", None, QtGui.QApplication.UnicodeUTF8))
243
        self.sysBox.setTitle(QtGui.QApplication.translate("DigitalWindow", "System Parameters", None, QtGui.QApplication.UnicodeUTF8))
244
        self.sampleRateLabel.setText(QtGui.QApplication.translate("DigitalWindow", "Sample Rate (sps)", None, QtGui.QApplication.UnicodeUTF8))
243
        self.pauseButton.setText(QtGui.QApplication.translate("DigitalWindow", "Pause", None, QtGui.QApplication.UnicodeUTF8))
244
        self.closeButton.setText(QtGui.QApplication.translate("DigitalWindow", "Close", None, QtGui.QApplication.UnicodeUTF8))
245 245
        self.channelModeBox.setTitle(QtGui.QApplication.translate("DigitalWindow", "Channel Model Parameters", None, QtGui.QApplication.UnicodeUTF8))
246 246
        self.snrLabel.setText(QtGui.QApplication.translate("DigitalWindow", "SNR (dB)", None, QtGui.QApplication.UnicodeUTF8))
247 247
        self.freqLabel.setText(QtGui.QApplication.translate("DigitalWindow", "Frequency Offset (Hz)", None, QtGui.QApplication.UnicodeUTF8))
248 248
        self.timeLabel.setText(QtGui.QApplication.translate("DigitalWindow", "Timing Offset", None, QtGui.QApplication.UnicodeUTF8))
249
        self.sysBox.setTitle(QtGui.QApplication.translate("DigitalWindow", "System Parameters", None, QtGui.QApplication.UnicodeUTF8))
250
        self.sampleRateLabel.setText(QtGui.QApplication.translate("DigitalWindow", "Sample Rate (sps)", None, QtGui.QApplication.UnicodeUTF8))
249 251
        self.rxBox_2.setTitle(QtGui.QApplication.translate("DigitalWindow", "Received Packet Info", None, QtGui.QApplication.UnicodeUTF8))
250 252
        self.pktsRcvdLabel.setText(QtGui.QApplication.translate("DigitalWindow", "Packets Rcvd.", None, QtGui.QApplication.UnicodeUTF8))
251 253
        self.pktsCorrectLabel.setText(QtGui.QApplication.translate("DigitalWindow", "Packets Correct", None, QtGui.QApplication.UnicodeUTF8))
252 254
        self.perLabel.setText(QtGui.QApplication.translate("DigitalWindow", "PER", None, QtGui.QApplication.UnicodeUTF8))
253
        self.pauseButton.setText(QtGui.QApplication.translate("DigitalWindow", "Pause", None, QtGui.QApplication.UnicodeUTF8))
254
        self.closeButton.setText(QtGui.QApplication.translate("DigitalWindow", "Close", None, QtGui.QApplication.UnicodeUTF8))
255 255
        self.rxBox.setTitle(QtGui.QApplication.translate("DigitalWindow", "Receiver Parameters", None, QtGui.QApplication.UnicodeUTF8))
256 256
        self.alphaTimeLabel.setText(QtGui.QApplication.translate("DigitalWindow", "Alpha: time", None, QtGui.QApplication.UnicodeUTF8))
257
        self.alphaFreqLabel.setText(QtGui.QApplication.translate("DigitalWindow", "Alpha: freq", None, QtGui.QApplication.UnicodeUTF8))
257
        self.alphaPhaseLabel.setText(QtGui.QApplication.translate("DigitalWindow", "Alpha: phase", None, QtGui.QApplication.UnicodeUTF8))
258 258
        self.betaTimeLabel.setText(QtGui.QApplication.translate("DigitalWindow", "Beta: time", None, QtGui.QApplication.UnicodeUTF8))
259 259
        self.menuFile.setTitle(QtGui.QApplication.translate("DigitalWindow", "&File", None, QtGui.QApplication.UnicodeUTF8))
260 260
        self.actionExit.setText(QtGui.QApplication.translate("DigitalWindow", "E&xit", None, QtGui.QApplication.UnicodeUTF8))
b/gnuradio-examples/python/digital/qt_digital_window2.ui
14 14
  </property>
15 15
  <widget class="QWidget" name="centralwidget" >
16 16
   <layout class="QGridLayout" name="gridLayout" >
17
    <item row="2" column="0" >
18
     <layout class="QVBoxLayout" name="verticalLayout_2" >
17
    <item row="2" column="5" >
18
     <layout class="QVBoxLayout" name="verticalLayout" >
19 19
      <item>
20
       <widget class="QGroupBox" name="sysBox" >
21
        <property name="sizePolicy" >
22
         <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
23
          <horstretch>0</horstretch>
24
          <verstretch>0</verstretch>
25
         </sizepolicy>
26
        </property>
20
       <widget class="QPushButton" name="pauseButton" >
27 21
        <property name="minimumSize" >
28 22
         <size>
29
          <width>240</width>
30
          <height>60</height>
23
          <width>80</width>
24
          <height>0</height>
31 25
         </size>
32 26
        </property>
33 27
        <property name="maximumSize" >
34 28
         <size>
35
          <width>240</width>
29
          <width>80</width>
36 30
          <height>16777215</height>
37 31
         </size>
38 32
        </property>
39
        <property name="title" >
40
         <string>System Parameters</string>
33
        <property name="text" >
34
         <string>Pause</string>
41 35
        </property>
42
        <widget class="QWidget" name="formLayoutWidget" >
43
         <property name="geometry" >
44
          <rect>
45
           <x>10</x>
46
           <y>20</y>
47
           <width>211</width>
48
           <height>31</height>
49
          </rect>
50
         </property>
51
         <layout class="QFormLayout" name="formLayout" >
52
          <property name="sizeConstraint" >
53
           <enum>QLayout::SetFixedSize</enum>
54
          </property>
55
          <property name="verticalSpacing" >
56
           <number>20</number>
57
          </property>
58
          <item row="0" column="1" >
59
           <widget class="QLineEdit" name="sampleRateEdit" >
60
            <property name="sizePolicy" >
61
             <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
62
              <horstretch>0</horstretch>
63
              <verstretch>0</verstretch>
64
             </sizepolicy>
65
            </property>
66
            <property name="minimumSize" >
67
             <size>
68
              <width>60</width>
69
              <height>26</height>
70
             </size>
71
            </property>
72
            <property name="maximumSize" >
73
             <size>
74
              <width>80</width>
75
              <height>26</height>
76
             </size>
77
            </property>
78
           </widget>
79
          </item>
80
          <item row="0" column="0" >
81
           <widget class="QLabel" name="sampleRateLabel" >
82
            <property name="sizePolicy" >
83
             <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
84
              <horstretch>0</horstretch>
85
              <verstretch>0</verstretch>
86
             </sizepolicy>
87
            </property>
88
            <property name="minimumSize" >
89
             <size>
90
              <width>0</width>
91
              <height>20</height>
92
             </size>
93
            </property>
94
            <property name="maximumSize" >
95
             <size>
96
              <width>16777215</width>
97
              <height>20</height>
98
             </size>
99
            </property>
100
            <property name="text" >
101
             <string>Sample Rate (sps)</string>
102
            </property>
103
           </widget>
104
          </item>
105
         </layout>
106
        </widget>
107 36
       </widget>
108 37
      </item>
109 38
      <item>
110
       <spacer name="verticalSpacer_2" >
39
       <spacer name="verticalSpacer" >
111 40
        <property name="orientation" >
112 41
         <enum>Qt::Vertical</enum>
113 42
        </property>
......
122 51
        </property>
123 52
       </spacer>
124 53
      </item>
125
     </layout>
126
    </item>
127
    <item row="0" column="0" colspan="6" >
128
     <layout class="QVBoxLayout" name="verticalLayout_5" >
129 54
      <item>
130
       <widget class="QFrame" name="sinkFrame" >
131
        <property name="sizePolicy" >
132
         <sizepolicy vsizetype="Expanding" hsizetype="Expanding" >
133
          <horstretch>0</horstretch>
134
          <verstretch>0</verstretch>
135
         </sizepolicy>
136
        </property>
55
       <widget class="QPushButton" name="closeButton" >
137 56
        <property name="minimumSize" >
138 57
         <size>
139
          <width>500</width>
140
          <height>550</height>
58
          <width>80</width>
59
          <height>0</height>
141 60
         </size>
142 61
        </property>
143
        <property name="frameShape" >
144
         <enum>QFrame::StyledPanel</enum>
62
        <property name="maximumSize" >
63
         <size>
64
          <width>80</width>
65
          <height>16777215</height>
66
         </size>
145 67
        </property>
146
        <property name="frameShadow" >
147
         <enum>QFrame::Raised</enum>
68
        <property name="text" >
69
         <string>Close</string>
148 70
        </property>
149
        <layout class="QGridLayout" name="gridLayout_2" >
150
         <item row="1" column="0" >
151
          <layout class="QHBoxLayout" name="sinkLayout" />
152
         </item>
153
        </layout>
154 71
       </widget>
155 72
      </item>
156 73
     </layout>
......
265 182
        </item>
266 183
       </layout>
267 184
      </widget>
268
      <zorder>formLayoutWidget_2</zorder>
269
      <zorder>rxBox</zorder>
270 185
     </widget>
271 186
    </item>
187
    <item row="2" column="0" >
188
     <layout class="QVBoxLayout" name="verticalLayout_2" >
189
      <item>
190
       <widget class="QGroupBox" name="sysBox" >
191
        <property name="sizePolicy" >
192
         <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
193
          <horstretch>0</horstretch>
194
          <verstretch>0</verstretch>
195
         </sizepolicy>
196
        </property>
197
        <property name="minimumSize" >
198
         <size>
199
          <width>240</width>
200
          <height>60</height>
201
         </size>
202
        </property>
203
        <property name="maximumSize" >
204
         <size>
205
          <width>240</width>
206
          <height>16777215</height>
207
         </size>
208
        </property>
209
        <property name="title" >
210
         <string>System Parameters</string>
211
        </property>
212
        <widget class="QWidget" name="formLayoutWidget" >
213
         <property name="geometry" >
214
          <rect>
215
           <x>10</x>
216
           <y>20</y>
217
           <width>211</width>
218
           <height>31</height>
219
          </rect>
220
         </property>
221
         <layout class="QFormLayout" name="formLayout" >
222
          <property name="sizeConstraint" >
223
           <enum>QLayout::SetFixedSize</enum>
224
          </property>
225
          <property name="verticalSpacing" >
226
           <number>20</number>
227
          </property>
228
          <item row="0" column="1" >
229
           <widget class="QLineEdit" name="sampleRateEdit" >
230
            <property name="sizePolicy" >
231
             <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
232
              <horstretch>0</horstretch>
233
              <verstretch>0</verstretch>
234
             </sizepolicy>
235
            </property>
236
            <property name="minimumSize" >
237
             <size>
238
              <width>60</width>
239
              <height>26</height>
240
             </size>
241
            </property>
242
            <property name="maximumSize" >
243
             <size>
244
              <width>80</width>
245
              <height>26</height>
246
             </size>
247
            </property>
248
           </widget>
249
          </item>
250
          <item row="0" column="0" >
251
           <widget class="QLabel" name="sampleRateLabel" >
252
            <property name="sizePolicy" >
253
             <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
254
              <horstretch>0</horstretch>
255
              <verstretch>0</verstretch>
256
             </sizepolicy>
257
            </property>
258
            <property name="minimumSize" >
259
             <size>
260
              <width>0</width>
261
              <height>20</height>
262
             </size>
263
            </property>
264
            <property name="maximumSize" >
265
             <size>
266
              <width>16777215</width>
267
              <height>20</height>
268
             </size>
269
            </property>
270
            <property name="text" >
271
             <string>Sample Rate (sps)</string>
272
            </property>
273
           </widget>
274
          </item>
275
         </layout>
276
        </widget>
277
       </widget>
278
      </item>
279
      <item>
280
       <spacer name="verticalSpacer_2" >
281
        <property name="orientation" >
282
         <enum>Qt::Vertical</enum>
283
        </property>
284
        <property name="sizeType" >
285
         <enum>QSizePolicy::Fixed</enum>
286
        </property>
287
        <property name="sizeHint" stdset="0" >
288
         <size>
289
          <width>20</width>
290
          <height>60</height>
291
         </size>
292
        </property>
293
       </spacer>
294
      </item>
295
     </layout>
296
    </item>
272 297
    <item row="2" column="3" >
273 298
     <widget class="QGroupBox" name="rxBox_2" >
274 299
      <property name="sizePolicy" >
......
384 409
       <zorder>pktsRcvdEdit</zorder>
385 410
       <zorder>pktsCorrectEdit</zorder>
386 411
       <zorder>perEdit</zorder>
387
       <zorder>rxBox</zorder>
388 412
      </widget>
389 413
     </widget>
390 414
    </item>
......
401 425
      </property>
402 426
     </spacer>
403 427
    </item>
404
    <item row="2" column="5" >
405
     <layout class="QVBoxLayout" name="verticalLayout" >
406
      <item>
407
       <widget class="QPushButton" name="pauseButton" >
408
        <property name="minimumSize" >
409
         <size>
410
          <width>80</width>
411
          <height>0</height>
412
         </size>
413
        </property>
414
        <property name="maximumSize" >
415
         <size>
416
          <width>80</width>
417
          <height>16777215</height>
418
         </size>
419
        </property>
420
        <property name="text" >
421
         <string>Pause</string>
422
        </property>
423
       </widget>
424
      </item>
428
    <item row="0" column="0" colspan="6" >
429
     <layout class="QVBoxLayout" name="verticalLayout_5" >
425 430
      <item>
426
       <spacer name="verticalSpacer" >
427
        <property name="orientation" >
428
         <enum>Qt::Vertical</enum>
429
        </property>
430
        <property name="sizeType" >
431
         <enum>QSizePolicy::Fixed</enum>
432
        </property>
433
        <property name="sizeHint" stdset="0" >
434
         <size>
435
          <width>20</width>
436
          <height>60</height>
437
         </size>
431
       <widget class="QFrame" name="sinkFrame" >
432
        <property name="sizePolicy" >
433
         <sizepolicy vsizetype="Expanding" hsizetype="Expanding" >
434
          <horstretch>0</horstretch>
435
          <verstretch>0</verstretch>
436
         </sizepolicy>
438 437
        </property>
439
       </spacer>
440
      </item>
441
      <item>
442
       <widget class="QPushButton" name="closeButton" >
443 438
        <property name="minimumSize" >
444 439
         <size>
445
          <width>80</width>
446
          <height>0</height>
440
          <width>500</width>
441
          <height>550</height>
447 442
         </size>
448 443
        </property>
449
        <property name="maximumSize" >
450
         <size>
451
          <width>80</width>
452
          <height>16777215</height>
453
         </size>
444
        <property name="frameShape" >
445
         <enum>QFrame::StyledPanel</enum>
454 446
        </property>
455
        <property name="text" >
456
         <string>Close</string>
447
        <property name="frameShadow" >
448
         <enum>QFrame::Raised</enum>
457 449
        </property>
450
        <layout class="QGridLayout" name="gridLayout_2" >
451
         <item row="1" column="0" >
452
          <layout class="QHBoxLayout" name="sinkLayout" />
453
         </item>
454
        </layout>
458 455
       </widget>
459 456
      </item>
460 457
     </layout>
......
503 500
         </widget>
504 501
        </item>
505 502
        <item row="2" column="0" >
506
         <widget class="QLabel" name="alphaFreqLabel" >
503
         <widget class="QLabel" name="alphaPhaseLabel" >
507 504
          <property name="text" >
508
           <string>Alpha: freq</string>
505
           <string>Alpha: phase</string>
509 506
          </property>
510 507
         </widget>
511 508
        </item>
......
526 523
         </widget>
527 524
        </item>
528 525
        <item row="2" column="1" >
529
         <widget class="QLineEdit" name="alphaFreqEdit" >
526
         <widget class="QLineEdit" name="alphaPhaseEdit" >
530 527
          <property name="minimumSize" >
531 528
           <size>
532 529
            <width>60</width>

Also available in: Unified diff