summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/devices/nld_r2r_dac.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/netlist/devices/nld_r2r_dac.cpp')
-rw-r--r--src/lib/netlist/devices/nld_r2r_dac.cpp50
1 files changed, 25 insertions, 25 deletions
diff --git a/src/lib/netlist/devices/nld_r2r_dac.cpp b/src/lib/netlist/devices/nld_r2r_dac.cpp
index da571930601..efff78d9ca8 100644
--- a/src/lib/netlist/devices/nld_r2r_dac.cpp
+++ b/src/lib/netlist/devices/nld_r2r_dac.cpp
@@ -1,4 +1,4 @@
-// license:GPL-2.0+
+// license:BSD-3-Clause
// copyright-holders:Couriersud
/*
* nld_r2r_dac.cpp
@@ -44,51 +44,51 @@
*/
#include "nl_base.h"
-#include "analog/nlid_twoterm.h"
#include "nl_factory.h"
-namespace netlist
+#include "analog/nlid_twoterm.h"
+
+namespace netlist::analog
{
- namespace analog
- {
- NETLIB_OBJECT_DERIVED(r2r_dac, twoterm)
+
+ class nld_r2r_dac : public nld_two_terminal
{
- NETLIB_CONSTRUCTOR(r2r_dac)
+ public:
+ nld_r2r_dac(constructor_param_t data)
+ : nld_two_terminal(data)
, m_VIN(*this, "VIN", nlconst::one())
, m_R(*this, "R", nlconst::one())
, m_num(*this, "N", 1)
, m_val(*this, "VAL", 1)
{
- register_subalias("VOUT", P());
- register_subalias("VGND", N());
+ register_sub_alias("VOUT", P());
+ register_sub_alias("VGND", N());
}
NETLIB_UPDATE_PARAMI();
- //NETLIB_RESETI();
- //NETLIB_UPDATEI();
+ // NETLIB_RESETI();
protected:
- param_fp_t m_VIN;
- param_fp_t m_R;
+ param_fp_t m_VIN;
+ param_fp_t m_R;
param_int_t m_num;
param_int_t m_val;
};
-
NETLIB_UPDATE_PARAM(r2r_dac)
{
nl_fptype V = m_VIN() / static_cast<nl_fptype>(1 << m_num())
- * static_cast<nl_fptype>(m_val());
- change_state([this, &V]()
- {
- this->set_G_V_I(plib::reciprocal(m_R()), V, nlconst::zero());
- }
- );
+ * static_cast<nl_fptype>(m_val());
+ change_state(
+ [this, &V]()
+ { this->set_G_V_I(plib::reciprocal(m_R()), V, nlconst::zero()); });
}
- } //namespace analog
- namespace devices {
- NETLIB_DEVICE_IMPL_NS(analog, r2r_dac, "R2R_DAC", "VIN,R,N")
- } // namespace devices
+} // namespace netlist::analog
+
+namespace netlist::devices
+{
+
+ NETLIB_DEVICE_IMPL_NS(analog, r2r_dac, "R2R_DAC", "VIN,R,N")
-} // namespace netlist
+} // namespace netlist::devices