diff options
Diffstat (limited to 'src/lib/netlist/devices/nld_r2r_dac.cpp')
-rw-r--r-- | src/lib/netlist/devices/nld_r2r_dac.cpp | 50 |
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 |