Exemplo n.º 1
0
    def update_band(self, apply: bool = False):
        logger.debug("update_band(%s)", apply)
        index_start = self.band_list.model().index(
            self.band_list.currentIndex(), 1)
        index_stop = self.band_list.model().index(
            self.band_list.currentIndex(), 2)
        start = int(self.band_list.model().data(
            index_start, QtCore.Qt.ItemDataRole).value())
        stop = int(self.band_list.model().data(index_stop,
                                               QtCore.Qt.ItemDataRole).value())

        if self.padding > 0:
            span = stop - start
            start -= round(span * self.padding / 100)
            start = max(1, start)
            stop += round(span * self.padding / 100)

        self.band_label.setText(f"Sweep span: {format_frequency_short(start)}"
                                f" to {format_frequency_short(stop)}")

        if not apply:
            return

        self.app.sweep_control.input_start.setText(
            format_frequency_sweep(start))
        self.app.sweep_control.input_end.setText(format_frequency_sweep(stop))
        self.app.sweep_control.input_end.textEdited.emit(
            self.app.sweep_control.input_end.text())
Exemplo n.º 2
0
    def setBandSweep(self):
        index_start = self.band_list.model().index(
            self.band_list.currentIndex(), 1)
        index_stop = self.band_list.model().index(
            self.band_list.currentIndex(), 2)
        start = int(self.band_list.model().data(
            index_start, QtCore.Qt.ItemDataRole).value())
        stop = int(self.band_list.model().data(index_stop,
                                               QtCore.Qt.ItemDataRole).value())

        if self.band_pad_10.isChecked():
            padding = 10
        elif self.band_pad_25.isChecked():
            padding = 25
        elif self.band_pad_100.isChecked():
            padding = 100
        else:
            padding = 0

        if padding > 0:
            span = stop - start
            start -= round(span * padding / 100)
            start = max(1, start)
            stop += round(span * padding / 100)

        self.app.sweepStartInput.setText(format_frequency_sweep(start))
        self.app.sweepEndInput.setText(format_frequency_sweep(stop))
        self.app.sweepEndInput.textEdited.emit(self.app.sweepEndInput.text())
Exemplo n.º 3
0
 def test_basicIntegerValues(self):
     # simple well-formed integers with no trailing zeros. Most importantly
     # there is no loss of accuracy in the result. Returned values are not
     # truncated if result would lose meaningful data.
     self.assertEqual(format_frequency_sweep(1), '1Hz')
     self.assertEqual(format_frequency_sweep(12), '12Hz')
     self.assertEqual(format_frequency_sweep(1234), '1.234kHz')
     self.assertEqual(format_frequency_sweep(12345), '12.345kHz')
     self.assertEqual(format_frequency_sweep(123456), '123.456kHz')
     self.assertEqual(format_frequency_sweep(123), '123Hz')
     self.assertEqual(format_frequency_sweep(1234567), '1.234567MHz')
     self.assertEqual(format_frequency_sweep(12345678), '12.345678MHz')
     self.assertEqual(format_frequency_sweep(123456789), '123.456789MHz')
Exemplo n.º 4
0
 def set_span(self, span: int):
     self.input_span.setText(format_frequency_sweep(span))
     self.input_span.textEdited.emit(self.input_span.text())
     self.updated.emit(self)
Exemplo n.º 5
0
 def set_center(self, center: int):
     self.input_center.setText(format_frequency_sweep(center))
     self.input_center.textEdited.emit(self.input_center.text())
     self.updated.emit(self)
Exemplo n.º 6
0
 def set_end(self, end: int):
     self.input_end.setText(format_frequency_sweep(end))
     self.input_end.textEdited.emit(self.input_end.text())
     self.updated.emit(self)
Exemplo n.º 7
0
 def set_start(self, start: int):
     self.input_start.setText(format_frequency_sweep(start))
     self.input_start.textEdited.emit(self.input_start.text())
     self.updated.emit(self)