Exemplo n.º 1
0
    def __init__(self, parent):
        super(MplWidget, self).__init__(parent)
        # Create the mpl figure and subplot (white bg, 100 dots-per-inch).
        # Construct the canvas with the figure:
        self.plt_lim = []  # define variable for x,y plot limits

        if cmp_version("matplotlib", "2.2.0") >= 0:
            self.fig = Figure(constrained_layout=True)
        else:
            self.fig = Figure()

        self.pltCanv = FigureCanvas(self.fig)
        self.pltCanv.setSizePolicy(QSizePolicy.Expanding,
                                   QSizePolicy.Expanding)

        # Needed for mouse modifiers (x,y, <CTRL>, ...):
        #    Key press events in general are not processed unless you
        #    "activate the focus of Qt onto your mpl canvas"
        # http://stackoverflow.com/questions/22043549/matplotlib-and-qt-mouse-press-event-key-is-always-none
        self.pltCanv.setFocusPolicy(QtCore.Qt.ClickFocus)
        self.pltCanv.setFocus()

        self.pltCanv.updateGeometry()

        # Create a custom navigation toolbar, tied to the canvas and
        # initialize toolbar settings
        #
        #self.mplToolbar = NavigationToolbar(self.pltCanv, self) # original
        self.mplToolbar = MplToolbar(self.pltCanv,
                                     self)  # inherits all methods
        self.mplToolbar.lock_zoom = False
        #self.mplToolbar.enable_plot(state = True)
        self.mplToolbar.sig_tx.connect(self.process_signals)

        #=============================================
        # Main plot widget layout
        #=============================================
        self.layVMainMpl = QVBoxLayout()
        self.layVMainMpl.addWidget(self.mplToolbar)
        self.layVMainMpl.addWidget(self.pltCanv)

        self.setLayout(self.layVMainMpl)
Exemplo n.º 2
0
                      QLabel, QPixmap, QVBoxLayout, QHBoxLayout, pyqtSignal,
                      QFrame, QEvent, QSizePolicy)

import numpy as np

import pyfda.filterbroker as fb  # importing filterbroker initializes all its globals
import pyfda.pyfda_dirs as dirs
from pyfda.pyfda_lib import qstr, cmp_version, pprint_log
import pyfda.pyfda_fix_lib as fx
from pyfda.pyfda_io_lib import extract_file_ext
from pyfda.pyfda_qt_lib import qget_cmb_box, qset_cmb_box, qstyle_widget
from pyfda.fixpoint_widgets.fixpoint_helpers import UI_W, UI_Q
from pyfda.pyfda_rc import params

# when migen is present, instantiate the fixpoint widget
if cmp_version("migen",
               "0.1") >= -1:  # currently, version cannot be determined
    import migen
    HAS_MIGEN = True
else:
    HAS_MIGEN = False

# when deltasigma module is present, add a corresponding entry to the combobox
try:
    import deltasigma
    HAS_DS = True
except ImportError:
    HAS_DS = False
#------------------------------------------------------------------------------

classes = {
    'Input_Fixpoint_Specs': 'Fixpoint'
from ..compat import (Qt, QWidget, QPushButton, QComboBox, QFD, QSplitter,
                      QLabel, QPixmap, QVBoxLayout, QHBoxLayout, pyqtSignal,
                      QFrame, QEvent, QSizePolicy)

#from myhdl import (toVerilog, toVHDL, Signal, always, always_comb, delay,
#               instance, instances, intbv, traceSignals,
#               Simulation, StopSimulation)

import pyfda.filterbroker as fb  # importing filterbroker initializes all its globals
import pyfda.pyfda_dirs as dirs
from pyfda.pyfda_lib import cmp_version
from pyfda.pyfda_io_lib import extract_file_ext
from pyfda.pyfda_qt_lib import qstr, qget_cmb_box
from pyfda.pyfda_rc import params

if cmp_version("myhdl", "0.10") >= 0:
    import myhdl
    HAS_MYHDL = True
else:
    HAS_MYHDL = False

# see C. Feltons "FPGA IIR Lowpass Direct Form I Filter Generator"
#                 @ http://www.dsprelated.com/showcode/211.php

#------------------------------------------------------------------------------


class Input_Fixpoint_Specs(QWidget):
    """
    Create the widget for entering exporting / importing / saving / loading data
    """
Exemplo n.º 4
0
                      QEvent, QSizePolicy)

import numpy as np

import pyfda.filterbroker as fb # importing filterbroker initializes all its globals
import pyfda.pyfda_dirs as dirs
from pyfda.pyfda_lib import qstr, cmp_version
import pyfda.pyfda_fix_lib as fx
from pyfda.pyfda_io_lib import extract_file_ext
from pyfda.pyfda_qt_lib import qget_cmb_box, qstyle_widget
from pyfda.fixpoint_widgets.fixpoint_helpers import UI_W, UI_Q
from pyfda.pyfda_rc import params

# check whether myhdl >= 0.10 is installed. BUT version 0.10 is incompatible
# with Python 3.7, it is not installed. 
if cmp_version("myhdl", "0.10") >= 0: # suitable combination of Py and myhdl found
    import myhdl
    HAS_MYHDL = True
else:
    HAS_MYHDL = False

#------------------------------------------------------------------------------

class Input_Fixpoint_Specs(QWidget):
    """
    Create the widget that holds the dynamically loaded fixpoint filter ui 
    """
    # emit a signal when the image has been resized
    sig_resize = pyqtSignal()
    # incoming, connected to input_tab_widget.sig_tx
    sig_rx = pyqtSignal(object)
Exemplo n.º 5
0
                      QFrame, QEvent, QSizePolicy)

import numpy as np

import pyfda.filterbroker as fb  # importing filterbroker initializes all its globals
import pyfda.pyfda_dirs as dirs
from pyfda.pyfda_lib import qstr, cmp_version
import pyfda.pyfda_fix_lib as fx
from pyfda.pyfda_io_lib import extract_file_ext
from pyfda.pyfda_qt_lib import qget_cmb_box, qstyle_widget
from pyfda.fixpoint_widgets.fixpoint_helpers import UI_W, UI_Q
from pyfda.pyfda_rc import params

# check whether myhdl >= 0.10 is installed. BUT version 0.10 is incompatible
# with Python 3.7, it is not installed.
if cmp_version("myhdl",
               "0.10") >= 0:  # suitable combination of Py and myhdl found
    import myhdl
    HAS_MYHDL = True
else:
    HAS_MYHDL = False

#------------------------------------------------------------------------------


class Input_Fixpoint_Specs(QWidget):
    """
    Create the widget that holds the dynamically loaded fixpoint filter ui 
    """
    # emit a signal when the image has been resized
    sig_resize = pyqtSignal()
    # incoming, connected to input_tab_widget.sig_tx