summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/analog/nld_switches.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/netlist/analog/nld_switches.cpp')
-rw-r--r--src/lib/netlist/analog/nld_switches.cpp29
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