Exemple #1
0
    def __init__(self, snkRxIn, snkRx, fg, parent=None):

        QtGui.QWidget.__init__(self, parent)
        self.gui = Ui_DigitalWindow()
        self.gui.setupUi(self)

        self.fg = fg

        self.set_frequency(self.fg.frequency())
        self.set_gain(self.fg.gain())
        self.set_decim(self.fg.decim())
        self.set_gain_clock(self.fg.rx_gain_clock())
        self.set_gain_phase(self.fg.rx_gain_phase())
        self.set_gain_freq(self.fg.rx_gain_freq())

        # Add the qtsnk widgets to the hlayout box
        self.gui.sinkLayout.addWidget(snkRxIn)
        self.gui.sinkLayout.addWidget(snkRx)


        # Connect up some signals
        self.connect(self.gui.freqEdit, QtCore.SIGNAL("editingFinished()"),
                     self.freqEditText)
        self.connect(self.gui.gainEdit, QtCore.SIGNAL("editingFinished()"),
                     self.gainEditText)
        self.connect(self.gui.decimEdit, QtCore.SIGNAL("editingFinished()"),
                     self.decimEditText)
        self.connect(self.gui.gainClockEdit, QtCore.SIGNAL("editingFinished()"),
                     self.gainClockEditText)
        self.connect(self.gui.gainPhaseEdit, QtCore.SIGNAL("editingFinished()"),
                     self.gainPhaseEditText)
        self.connect(self.gui.gainFreqEdit, QtCore.SIGNAL("editingFinished()"),
                     self.gainFreqEditText)

        # Build a timer to update the packet number and PER fields
        self.update_delay = 250  # time between updating packet rate fields
        self.pkt_timer = QtCore.QTimer(self)
        self.connect(self.pkt_timer, QtCore.SIGNAL("timeout()"),
                     self.updatePacketInfo)
        self.pkt_timer.start(self.update_delay)
Exemple #2
0
class dialog_box(QtGui.QMainWindow):
    def __init__(self, snkRxIn, snkRx, fg, parent=None):

        QtGui.QWidget.__init__(self, parent)
        self.gui = Ui_DigitalWindow()
        self.gui.setupUi(self)

        self.fg = fg

        self.set_frequency(self.fg.frequency())
        self.set_gain(self.fg.gain())
        self.set_decim(self.fg.decim())
        self.set_gain_clock(self.fg.rx_gain_clock())
        self.set_gain_phase(self.fg.rx_gain_phase())
        self.set_gain_freq(self.fg.rx_gain_freq())

        # Add the qtsnk widgets to the hlayout box
        self.gui.sinkLayout.addWidget(snkRxIn)
        self.gui.sinkLayout.addWidget(snkRx)


        # Connect up some signals
        self.connect(self.gui.freqEdit, QtCore.SIGNAL("editingFinished()"),
                     self.freqEditText)
        self.connect(self.gui.gainEdit, QtCore.SIGNAL("editingFinished()"),
                     self.gainEditText)
        self.connect(self.gui.decimEdit, QtCore.SIGNAL("editingFinished()"),
                     self.decimEditText)
        self.connect(self.gui.gainClockEdit, QtCore.SIGNAL("editingFinished()"),
                     self.gainClockEditText)
        self.connect(self.gui.gainPhaseEdit, QtCore.SIGNAL("editingFinished()"),
                     self.gainPhaseEditText)
        self.connect(self.gui.gainFreqEdit, QtCore.SIGNAL("editingFinished()"),
                     self.gainFreqEditText)

        # Build a timer to update the packet number and PER fields
        self.update_delay = 250  # time between updating packet rate fields
        self.pkt_timer = QtCore.QTimer(self)
        self.connect(self.pkt_timer, QtCore.SIGNAL("timeout()"),
                     self.updatePacketInfo)
        self.pkt_timer.start(self.update_delay)


    # Accessor functions for Gui to manipulate receiver parameters
    def set_frequency(self, fo):
        self.gui.freqEdit.setText(QtCore.QString("%1").arg(fo))

    def set_gain(self, gain):
        self.gui.gainEdit.setText(QtCore.QString("%1").arg(gain))

    def set_decim(self, decim):
        self.gui.decimEdit.setText(QtCore.QString("%1").arg(decim))

    def set_gain_clock(self, gain):
        self.gui.gainClockEdit.setText(QtCore.QString("%1").arg(gain))

    def set_gain_phase(self, gain_phase):
        self.gui.gainPhaseEdit.setText(QtCore.QString("%1").arg(gain_phase))

    def set_gain_freq(self, gain_freq):
        self.gui.gainFreqEdit.setText(QtCore.QString("%1").arg(gain_freq))
        
    def freqEditText(self):
        try:
            freq = self.gui.freqEdit.text().toDouble()[0]
            self.fg.set_freq(freq)
        except RuntimeError:
            pass

    def gainEditText(self):
        try:
            gain = self.gui.gainEdit.text().toDouble()[0]
            self.fg.set_gain(gain)
        except RuntimeError:
            pass

    def decimEditText(self):
        try:
            decim = self.gui.decimEdit.text().toInt()[0]
            self.fg.set_decim(decim)
        except RuntimeError:
            pass

    def gainPhaseEditText(self):
        try:
            gain_phase = self.gui.gainPhaseEdit.text().toDouble()[0]
            self.fg.set_rx_gain_phase(gain_phase)
        except RuntimeError:
            pass

    def gainClockEditText(self):
        try:
            gain = self.gui.gainClockEdit.text().toDouble()[0]
            self.fg.set_rx_gain_clock(gain)
        except RuntimeError:
            pass

    def gainFreqEditText(self):
        try:
            gain = self.gui.gainFreqEdit.text().toDouble()[0]
            self.fg.set_rx_gain_freq(gain)
        except RuntimeError:
            pass


    # Accessor function for packet error reporting
    def updatePacketInfo(self):
        # Pull these globals in from the main thread
        global n_rcvd, n_right, pktno

        per = float(n_rcvd - n_right)/float(pktno)
        self.gui.pktsRcvdEdit.setText(QtCore.QString("%1").arg(n_rcvd))
        self.gui.pktsCorrectEdit.setText(QtCore.QString("%1").arg(n_right))
        self.gui.perEdit.setText(QtCore.QString("%1").arg(per, 0, 'e', 4))