# This file configures filters and plotting routines for pyFDA
# ------------------------------------------------------------------
# - Encoding should be either UTF-8 without BOM or standard ASCII
# - All lines starting with # or ; are regarded as comments,
# inline comments are not allowed
# - [Section] starts a new section
# - Options and values are separated by a ":" or "=" (e.g. dir1 : /home),
# values are optional
# - Values are "sanitized" by removing [], ' and "
# - Values are split at commas, semicolons or CRs into a list of values
# - Values starting with a { are converted to a dict
# - "Interpolation" i.e. referencing values within the config file via e.g. ${dir1}
# or ${Common:user_dir1} can be used
###################
[Common]
###################
# Stop pyfda when the parsed conf file has a lower version than required
version = 4
#------------------------------------------------------------------------------
# Define variables than can be referenced in other sections by preceding the
# section name, e.g. fir_df1 = ${Common:FIR} is resolved to
# fir_df1 = [Equiripple, Firwin, Manual, MA]
#------------------------------------------------------------------------------
#
IIR = [Bessel, Butter, Cheby1, Cheby2, Ellip]
FIR = [Equiripple, Firwin, Manual, MA]
#------------------------------------------------------------------------------
# Add paths for special tools (optional):
#------------------------------------------------------------------------------
# yosys = "D:\Programme\yosys-win32-mxebin-0.9\yosys.exe"
#------------------------------------------------------------------------------
# Add user directory(s) to sys.path (optional):
#------------------------------------------------------------------------------
#
# Specify relative or absolute path(s) to one or more user directories. These
# directories are searched for the following subdirectories which must be named
# like the corresponding pyfda directories:
#
# input_widgets # widgets for specifying filter parameters
# plot_widgets # widgets for plotting filter properties
# filter_widgets # widgets for controlling filter design algorithms
# fixpoint_widgets # widgets for specifying fixpoint filters
#
# These subdirectories need to contain an (usually empty)
# __init__.py file to be recognized as python modules.
#
# When a specified directory cannot be found, only a warning is issued.
#------------------------------------------------------------------------------
# Uncomment and specify your user directory (optional):
#
#user_dirs = "D:\Daten\design\python\git\pyfda\pyfda\widget_templates",
# "/home/muenker/Daten/design/python/user_pyfda"
###############################################################################
# The following sections define which classes will be imported by specifying
# the module names (= file names without .py suffix). The actual class names are
# obtained from a module level attribute "classes" in each module which can be a:
#
# - String, e.g. classes = "MyClassName"
# - List, e.g. classes = ["MyClassName1", "MyClassName2"]
# - Dict, e.g. classes = {"MyClassName1":"DisplayName1", "MyClassName2":"DisplayName2"}
#
# When no display name is given, the class name is used for tab labels, combo boxes etc.
#
# Modules are searched in all directories defined in sys.path and the user dir(s)
# and their subdirectories containing __init__.py files (subpackages) with the
# names listed above ("input_widgets" etc.)
#
# In addition to specifying only the module name, options can be passed as key-
# value combinations. Unknown options just raise a warning.
########################
[Input Widgets]
########################
# Try to import from the following input widget modules (files) from sys.path
# and subdirectories / subpackages named "input_widgets".
input_specs
input_coeffs
input_pz
input_info
input_fixpoint_specs
########################
[Plot Widgets]
########################
# Try to import from the following plot widget modules (files) from sys.path
# and subdirectories / subpackages named "plot_widgets".
plot_hf : {'opt1':'aaa', 'opt2':'bbb'}
plot_phi
plot_tau_g
plot_pz
plot_impz
plot_3d
# myplot # this could be the name of your user module
########################
[Filter Widgets]
########################
# The specified filter design modules (files) are searched for in sys.path
# and in subdirectories / subpackages named "filter_widgets".
#
# The optional 'fix' argument defines one or more fixpoint implementations for
# the filter design. Unknown fixpoint implementations only raise a warning.
# In the "Fixpoint Widgets" section, fixpoint implementation can be assigned
# to filter designs as well.
# --- IIR ---
# super_filter : {'fix':['iir_cascade', 'iir_df1']}
# bessel : {'fix':['iir_cascade', 'iir_df1']}
bessel
butter
# cheby1 : "yet another option"
cheby1
# cheby2 : {'fix':'iir_special'}
cheby2
ellip
# ellip_zero # too specialized for general usage
# --- FIR ---
equiripple
firwin
ma
# delay # still buggy
# savitzky_golay # not implemented yet
# --- Manual (both FIR and IIR) ---
manual
########################
[Fixpoint Widgets]
########################
# Try to import from the following fixpoint widget modules (files) from sys.path
# and subdirectories / subpackages named "fixpoint_widgets".
#
# Value is a filter design or a list of filter designs for which the fixpoint
# widget can be used.
fir_df.fir_df_pyfixp_ui = ${Common:FIR}
iir_df1.iir_df1_pyfixp_ui = ${Common:IIR}
# fir_df.fir_df_nmigen_ui = ${Common:FIR}
# fx_delay = ['Equiripple', 'Delay'] # need to fix fx_delay and Delay modules