diff options
| author | 2019-04-13 18:28:17 +0200 | |
|---|---|---|
| committer | 2019-04-13 18:30:28 +0200 | |
| commit | d1602bd9f17e8ba6983252feed484bd1a16b7b57 (patch) | |
| tree | 103390b84d5155e66cecfbfa5d7dc5cf6ccb8ec5 /src/lib | |
| parent | 858d84c4bc16aa89f1352399edc87dc63464b0dd (diff) | |
netlist: bug fixing.
- fix sound route dependency
- add "K" as a valid Kilo multiplier.
- Fix current source parameter update.
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/netlist/analog/nlid_twoterm.cpp | 16 | ||||
| -rw-r--r-- | src/lib/netlist/analog/nlid_twoterm.h | 21 | ||||
| -rw-r--r-- | src/lib/netlist/nl_setup.cpp | 1 |
3 files changed, 20 insertions, 18 deletions
diff --git a/src/lib/netlist/analog/nlid_twoterm.cpp b/src/lib/netlist/analog/nlid_twoterm.cpp index 5019c98c0e4..aaddb65387a 100644 --- a/src/lib/netlist/analog/nlid_twoterm.cpp +++ b/src/lib/netlist/analog/nlid_twoterm.cpp @@ -57,22 +57,6 @@ NETLIB_RESET(R_base) } // ---------------------------------------------------------------------------------------- -// nld_R -// ---------------------------------------------------------------------------------------- - -NETLIB_UPDATE_PARAM(R) -{ - solve_now(); - set_R(std::max(m_R(), exec().gmin())); -} - -NETLIB_RESET(R) -{ - NETLIB_NAME(twoterm)::reset(); - set_R(std::max(m_R(), exec().gmin())); -} - -// ---------------------------------------------------------------------------------------- // nld_POT // ---------------------------------------------------------------------------------------- diff --git a/src/lib/netlist/analog/nlid_twoterm.h b/src/lib/netlist/analog/nlid_twoterm.h index 332c3af8900..1dc639008c4 100644 --- a/src/lib/netlist/analog/nlid_twoterm.h +++ b/src/lib/netlist/analog/nlid_twoterm.h @@ -149,9 +149,18 @@ namespace analog protected: - NETLIB_RESETI(); //NETLIB_UPDATEI() { } - NETLIB_UPDATE_PARAMI(); + NETLIB_RESETI() + { + NETLIB_NAME(twoterm)::reset(); + set_R(std::max(m_R(), exec().gmin())); + } + + NETLIB_UPDATE_PARAMI() + { + solve_now(); + set_R(std::max(m_R(), exec().gmin())); + } private: param_double_t m_R; @@ -465,6 +474,14 @@ namespace analog 0.0, 0.0, m_I()); } + NETLIB_UPDATE_PARAMI() + { + solve_now(); + set_mat(0.0, 0.0, -m_I(), + 0.0, 0.0, m_I()); + } + + private: state_var<double> m_t; param_double_t m_I; diff --git a/src/lib/netlist/nl_setup.cpp b/src/lib/netlist/nl_setup.cpp index 14806451947..7fa3db867a9 100644 --- a/src/lib/netlist/nl_setup.cpp +++ b/src/lib/netlist/nl_setup.cpp @@ -912,6 +912,7 @@ nl_double models_t::value(pstring model, pstring entity) { case 'M': factor = 1e6; break; case 'k': factor = 1e3; break; + case 'K': factor = 1e3; break; case 'm': factor = 1e-3; break; case 'u': factor = 1e-6; break; case 'n': factor = 1e-9; break; |
