/// \brief Constructor public analog_input_t(core_device_t dev, ///< owning device string aname, ///< name of terminal nldelegate delegate_) ///< delegate : base(dev, aname, state_e.STATE_INP_ACTIVE, delegate_) { state().setup().register_term(this); }
//NETLIB_CONSTRUCTOR_EX(twoterm, nldelegate owner_delegate) //template <class C> //NETLIB_NAME(twoterm)(C &owner, const pstring &name, nldelegate owner_delegate) \ // : base_type(owner, name) public nld_twoterm(core_device_t owner, string name, nldelegate owner_delegate) : base(owner, name) { m_P = new terminal_t(owner, name + ".1", owner_delegate); //, &m_N, owner_delegate); m_N = new terminal_t(owner, name + ".2", owner_delegate); //, &m_P, owner_delegate); m_P.terminal_t_after_ctor(m_N); m_N.terminal_t_after_ctor(m_P); }
Pointer <nl_fptype> m_gt; //nl_fptype *m_gt; ///< conductance for total conductance /// \brief constructor /// /// @param dev core_devict_t object owning the terminal /// @param aname name of this terminal /// @param otherterm pointer to the sibling terminal public terminal_t(core_device_t dev, string aname, nldelegate delegate_) //terminal_t(core_device_t &dev, const pstring &aname, terminal_t *otherterm, const std::array<terminal_t *, 2> &splitterterms, nldelegate delegate) : base(dev, aname, state_e.STATE_BIDIR, delegate_) { // NOTE - make sure to call terminal_t_after_ctor() m_Idr = null; m_go = null; m_gt = null; // this is handled below so that recursive links can be handled properly. see nld_twoterm() //state().setup().register_term(*this, otherterm, splitterterms); }
// Some devices like the 74LS629 have two pairs of supply pins. nld_power_pins(device_t owner, string vcc, string gnd, nldelegate delegate_) { m_VCC = new analog_input_t(owner, vcc, delegate_); m_GND = new analog_input_t(owner, gnd, delegate_); }
nld_power_pins(device_t owner, nldelegate delegate_) { m_VCC = new analog_input_t(owner, owner.logic_family().vcc_pin(), delegate_); m_GND = new analog_input_t(owner, owner.logic_family().gnd_pin(), delegate_); }
protected core_terminal_t(core_device_t dev, string aname, state_e state, nldelegate delegate_) : base(dev, dev.name() + "." + aname) {
public logic_input_t(device_t dev, string aname, nldelegate delegate_) : base(dev, aname, state_e.STATE_INP_ACTIVE, delegate_) { state().setup().register_term(this); }
public logic_t(device_t dev, string aname, state_e terminal_state, nldelegate delegate_) : base(dev, aname, terminal_state, delegate_) { m_logic_family = dev.logic_family(); //, logic_family_t(dev.logic_family()) }
protected analog_t(core_device_t dev, string aname, state_e state, nldelegate delegate_) : base(dev, aname, state, delegate_) { }