void PICComponentPin::attach( IOPIN * iopin ) { if (!iopin) { kWarning() << k_funcinfo << " iopin is NULL" << endl; return; } if (m_pStimulusNode) { kWarning() << k_funcinfo << " Already have a node stimulus" << endl; return; } if (m_pIOPIN) { kWarning() << k_funcinfo << " Already have an iopin" << endl; return; } m_pIOPIN = iopin; m_pStimulusNode = new Stimulus_Node(m_id.toAscii()); m_pStimulusNode->attach_stimulus(iopin); m_pStimulusNode->attach_stimulus(this); // We need to tell the iopin whether or not we are high if (m_pLogicOut) logicCallback( m_pLogicOut->isHigh() ); else if (m_pLogicIn) logicCallback( m_pLogicIn->isHigh() ); }
LogicProbe::LogicProbe(ICNDocument *icnDocument, bool newItem, const char *id) : Probe(icnDocument, newItem, id ? id : "probe") { m_name = i18n("Logic Probe"); init1PinRight(); setup1pinElement(m_pIn, m_pPNode[0]->pin()); p_probeData = p_logicProbeData = static_cast<LogicProbeData*>(registerProbe(this)); property("color")->setValue(p_probeData->color()); m_pIn.setCallback(this, (CallbackPtr)(&LogicProbe::logicCallback)); logicCallback(false); }