Beispiel #1
0
 /// \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);
 }
Beispiel #2
0
 //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);
 }
Beispiel #3
0
        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);
        }
Beispiel #4
0
 // 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_);
 }
Beispiel #5
0
 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_);
 }
Beispiel #6
0
 protected core_terminal_t(core_device_t dev, string aname, state_e state, nldelegate delegate_)
     : base(dev, dev.name() + "." + aname)
 {
Beispiel #7
0
 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);
 }
Beispiel #8
0
 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())
 }
Beispiel #9
0
 protected analog_t(core_device_t dev, string aname, state_e state, nldelegate delegate_)
     : base(dev, aname, state, delegate_)
 {
 }