diff options
Diffstat (limited to 'src/lib/netlist/analog/nld_switches.cpp')
-rw-r--r-- | src/lib/netlist/analog/nld_switches.cpp | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/src/lib/netlist/analog/nld_switches.cpp b/src/lib/netlist/analog/nld_switches.cpp index 042b61ce7e7..1ecfae06f9d 100644 --- a/src/lib/netlist/analog/nld_switches.cpp +++ b/src/lib/netlist/analog/nld_switches.cpp @@ -49,6 +49,11 @@ namespace netlist NETLIB_UPDATE(switch1) { + } + + NETLIB_UPDATE_PARAM(switch1) + { + m_R.solve_now(); if (!m_POS()) { m_R.set_R(R_OFF); @@ -58,12 +63,6 @@ namespace netlist m_R.set_R(R_ON); } - m_R.update_dev(); - } - - NETLIB_UPDATE_PARAM(switch1) - { - update(); } // ---------------------------------------------------------------------------------------- @@ -113,13 +112,25 @@ namespace netlist m_R2.set_R(R_ON); } - m_R1.update_dev(); - m_R2.update_dev(); + //m_R1.update_dev(time); + //m_R2.update_dev(time); } NETLIB_UPDATE_PARAM(switch2) { - update(); + if (!m_POS()) + { + m_R1.set_R(R_ON); + m_R2.set_R(R_OFF); + } + else + { + m_R1.set_R(R_OFF); + m_R2.set_R(R_ON); + } + + m_R1.solve_now(); + m_R2.solve_now(); } } //namespace analog |