diff --git a/.gitignore b/.gitignore index 843619b8c7..692779b7c9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,12 +1,14 @@ -<<<<<<< HEAD # Qucs Specific # -###################### +################# */src/qucsator */src/converter/qucsconv */src/gperfappgen qucs_typedefs.h */src/components/verilog/discipline.vams +# Verilog-A generated files +qucs-core/src/components/verilog/*.cpp + # Following files generated by lex and yacc # qucsator generated files (in qucs-core/src) @@ -88,7 +90,6 @@ Makefile.in Makefile stamp-h1 missing -configure config.guess config.h config.sub @@ -102,7 +103,6 @@ depcomp install-sh libtool autom4te.cache/ -aclocal.m4 auxconf/ libltdl/ libtool.m4 @@ -112,7 +112,6 @@ ltversion.m4 lt~obsolete.m4 ltmain.sh - # Unknown # ########### *.output @@ -128,6 +127,9 @@ ltmain.sh *.mex* *.pyc moc_*.cpp +moc_*.cxx +qrc_*.cpp +qrc_*.cxx .libs # Packages # @@ -174,35 +176,39 @@ qucs/contrib/doxygen/html/ # created by Qt Creator CMakeLists.txt.user +# emacs # +######### +# dot hash files (write locks) +.\#* -======= -*.o -*.cpp~ -*.h~ -qucsactivefilter -*.pro.user -Makefile -moc_*.cpp +# Qucs user files # +################### +# ignore schematics, data display and data *.sch -*.sch~ -*.dat *.dpl -qrc_*.cpp -moc_*.cxx -qrc_*.cxx -CMakeFiles -CMakeCache.txt -*.cmake -*.depends +*.dat +# except in the examples/ directory +!examples/*.sch +!examples/*.dpl -# Xcode +# Xcode # +######### DerivedData *.build Debug *.xcodeproj -#Others +# Others # +########## CMakeScripts *.cxx_parameters shadow +######## +qucsactivefilter +*.pro.user + +CMakeFiles +CMakeCache.txt +*.cmake +*.depends diff --git a/examples/filter_optimization.sch b/examples/filter_optimization.sch new file mode 100644 index 0000000000..c00bf09686 --- /dev/null +++ b/examples/filter_optimization.sch @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <.SP SP1 1 100 360 0 74 0 0 "log" 1 "1MHz" 1 "200MHz" 1 "233" 1 "no" 0 "1" 0 "2" 0 "no" 0 "no" 0> + + <.Opt Opt1 1 470 360 0 44 0 0 "Sim=SP1" 0 "DE=3|1000|2|50|0.85|0.95|3|1e-6|10|100" 0 "Var=L1|yes|3.900000E-07|100e-9|560e-9|E12" 0 "Var=L2|yes|4.700000E-07|100e-9|560e-9|E12" 0 "Var=L3|yes|3.900000E-07|100e-9|560e-9|E12" 0 "Var=C1|yes|6.200000E-11|56e-12|330e-12|E24" 0 "Var=C2|yes|1.600000E-10|56e-12|470e-12|E24" 0 "Var=C3|yes|1.800000E-10|56e-12|470e-12|E24" 0 "Var=C4|yes|9.100000E-11|56e-12|330e-12|E24" 0 "Goal=Ripple|MIN|0" 0 "Goal=Min_S11|LE|-15" 0 "Goal=Min_Rej|GE|25" 0> + + + + <100 180 100 230 "" 0 0 0 ""> + <100 180 210 180 "" 0 0 0 ""> + <210 180 210 230 "" 0 0 0 ""> + <350 180 350 230 "" 0 0 0 ""> + <490 180 490 230 "" 0 0 0 ""> + <450 180 490 180 "" 0 0 0 ""> + <350 180 390 180 "" 0 0 0 ""> + <310 180 350 180 "" 0 0 0 ""> + <210 180 250 180 "" 0 0 0 ""> + <590 180 630 180 "" 0 0 0 ""> + <490 180 530 180 "" 0 0 0 ""> + <630 180 630 230 "" 0 0 0 ""> + <630 180 750 180 "" 0 0 0 ""> + <750 180 750 230 "" 0 0 0 ""> + + + + <"S21_dB" #0000ff 0 3 0 0 0> + <"S11_dB" #ff0000 0 3 0 0 0> + <"S21_dB" #00aa00 0 3 0 0 1> + + + <"Ripple" #0000ff 0 3 1 0 0> + <"Min_S11" #0000ff 0 3 1 0 0> + <"Min_Rej" #0000ff 0 3 1 0 0> + + + + + diff --git a/qucs/qucs/components/opt_sim.cpp b/qucs/qucs/components/opt_sim.cpp index 3403de26b2..2ab5d28c23 100644 --- a/qucs/qucs/components/opt_sim.cpp +++ b/qucs/qucs/components/opt_sim.cpp @@ -183,7 +183,7 @@ bool Optimize_Sim::createASCOFiles() stream << "#\n\n"; stream << "# Post Processing #\n"; stream << "MEASURE_VAR:#SYMBOL#:SEARCH_FOR:'insertItem(1, tr("logarithmic double")); VarTypeCombo->insertItem(2, tr("linear integer")); VarTypeCombo->insertItem(3, tr("logarithmic integer")); + VarTypeCombo->insertItem(4, tr("E3 series")); + VarTypeCombo->insertItem(5, tr("E6 series")); + VarTypeCombo->insertItem(6, tr("E12 series")); + VarTypeCombo->insertItem(7, tr("E24 series")); + VarTypeCombo->insertItem(8, tr("E48 series")); + VarTypeCombo->insertItem(9, tr("E96 series")); + VarTypeCombo->insertItem(10, tr("E192 series")); connect(VarTypeCombo, SIGNAL(activated(const QString&)), SLOT(slotChangeVarType(const QString&))); @@ -404,6 +413,20 @@ OptimizeDialog::OptimizeDialog(Optimize_Sim *c_, Schematic *d_) typeStr = tr("logarithmic double"); } else if (ValueSplit.at(5) == "LIN_INT") { typeStr = tr("linear integer"); + } else if (ValueSplit.at(5) == "E3") { + typeStr = tr("E3 series"); + } else if (ValueSplit.at(5) == "E6") { + typeStr = tr("E6 series"); + } else if (ValueSplit.at(5) == "E12") { + typeStr = tr("E12 series"); + } else if (ValueSplit.at(5) == "E24") { + typeStr = tr("E24 series"); + } else if (ValueSplit.at(5) == "E48") { + typeStr = tr("E48 series"); + } else if (ValueSplit.at(5) == "E96") { + typeStr = tr("E96 series"); + } else if (ValueSplit.at(5) == "E192") { + typeStr = tr("E192 series"); } else { typeStr = tr("logarithmic integer"); } @@ -749,6 +772,20 @@ void OptimizeDialog::slotApply() propList << "LOG_DOUBLE"; } else if (typeStr == tr("linear integer")) { propList << "LIN_INT"; + } else if (typeStr == tr("E3 series")) { + propList << "E3"; + } else if (typeStr == tr("E6 series")) { + propList << "E6"; + } else if (typeStr == tr("E12 series")) { + propList << "E12"; + } else if (typeStr == tr("E24 series")) { + propList << "E24"; + } else if (typeStr == tr("E48 series")) { + propList << "E48"; + } else if (typeStr == tr("E96 series")) { + propList << "E96"; + } else if (typeStr == tr("E192 series")) { + propList << "E192"; } else { propList << "LOG_INT"; }