bool qjackctlConnect::disconnectSelectedEx (void) { QTreeWidgetItem *pOItem = (m_pOClientList->listView())->currentItem(); if (pOItem == NULL) return false; QTreeWidgetItem *pIItem = (m_pIClientList->listView())->currentItem(); if (pIItem == NULL) return false; if (pOItem->type() == QJACKCTL_CLIENTITEM) { qjackctlClientItem *pOClient = static_cast<qjackctlClientItem *> (pOItem); if (pIItem->type() == QJACKCTL_CLIENTITEM) { // Each-to-each connections... qjackctlClientItem *pIClient = static_cast<qjackctlClientItem *> (pIItem); QListIterator<qjackctlPortItem *> oport(pOClient->ports()); QListIterator<qjackctlPortItem *> iport(pIClient->ports()); while (oport.hasNext() && iport.hasNext()) { qjackctlPortItem *pOPort = oport.next(); qjackctlPortItem *pIPort = iport.next(); disconnectPortsEx(pOPort, pIPort); } } else { // Many(all)-to-one/many connection... QListIterator<qjackctlPortItem *> oport(pOClient->ports()); while (oport.hasNext() && pIItem && pIItem->type() == QJACKCTL_PORTITEM) { qjackctlPortItem *pOPort = oport.next(); qjackctlPortItem *pIPort = static_cast<qjackctlPortItem *> (pIItem); disconnectPortsEx(pOPort, pIPort); pIItem = (m_pIClientList->listView())->itemBelow(pIItem); } } } else { qjackctlPortItem *pOPort = static_cast<qjackctlPortItem *> (pOItem); if (pIItem->type() == QJACKCTL_CLIENTITEM) { // One-to-many(all) connection... qjackctlClientItem *pIClient = static_cast<qjackctlClientItem *> (pIItem); QListIterator<qjackctlPortItem *> iport(pIClient->ports()); while (iport.hasNext()) { qjackctlPortItem *pIPort = iport.next(); disconnectPortsEx(pOPort, pIPort); } } else { // One-to-one connection... qjackctlPortItem *pIPort = static_cast<qjackctlPortItem *> (pIItem); disconnectPortsEx(pOPort, pIPort); } } return true; }
// ------------------------------------------------------- QString Subcircuit::verilogCode(int) { QString f = properFileName(Props.first()->Value); QString s = " Sub_" + properName(f); // output all user defined properties Property *pr = Props.next(); if (pr) { s += " #("; s += Verilog_Param(pr->Value); for(pr = Props.next(); pr != 0; pr = Props.next()) s += ", " + Verilog_Param(pr->Value); s += ")"; } // output all node names s += " " + Name + " ("; QListIterator<Port *> iport(Ports); Port *pp = iport.next(); if(pp) s += pp->Connection->Name; while (iport.hasNext()) { pp = iport.next(); s += ", "+pp->Connection->Name; // node names } s += ");\n"; return s; }
// ------------------------------------------------------- QString VHDL_File::vhdlCode(int) { QString s; QListIterator<Port *> iport(Ports); Port *pp = iport.next(); if(pp) { s = " " + Name + ": entity " + EntityName; // output all generic properties Property *pr = Props.at(1); if (pr) { s += " generic map ("; s += pr->Value; for(pr = Props.next(); pr != 0; pr = Props.next()) s += ", " + pr->Value; s += ")"; } // output all node names s += " port map ("; if(pp) s += pp->Connection->Name; while (iport.hasNext()) { pp = iport.next(); s += ", "+pp->Connection->Name; // node names } s += ");\n"; } return s; }
// ------------------------------------------------------- QString Subcircuit::vhdlCode(int) { QString f = misc::properFileName(Props.first()->Value); QString s = " " + Name + ": entity Sub_" + misc::properName(f); // output all user defined properties Property *pr = Props.next(); if (pr) { s += " generic map ("; s += pr->Value; for(pr = Props.next(); pr != 0; pr = Props.next()) s += ", " + pr->Value; s += ")"; } // output all node names s += " port map ("; QListIterator<Port *> iport(Ports); Port *pp = iport.next(); if(pp) s += pp->Connection->Name; while (iport.hasNext()) { pp = iport.next(); s += ", "+pp->Connection->Name; // node names } s += ");\n"; return s; }
long d1_read() { d1_req(); delay(1); do if(kbhit()) break; while ( iport() != 0); return(adc_read()); };
// ------------------------------------------------------- QString LibComp::vhdlCode(int) { QString s = " " + Name + ": entity Sub_" + createType() + " port map ("; // output all node names QListIterator<Port *> iport(Ports); Port *pp = iport.next(); if(pp) s += pp->Connection->Name; while (iport.hasNext()) { pp = iport.next(); s += ", "+pp->Connection->Name; // node names } s += ");\n"; return s; }
TEST(InputPort, Parameters){ m3bp::InputPort iport("name"); EXPECT_EQ("name", iport.name()); EXPECT_EQ(m3bp::Movement::UNDEFINED, iport.movement()); EXPECT_FALSE(iport.value_comparator()); EXPECT_EQ(&iport, &iport.movement(m3bp::Movement::SCATTER_GATHER)); EXPECT_EQ(m3bp::Movement::SCATTER_GATHER, iport.movement()); int value = 0; auto f = [&](const void *, const void *) -> bool { value = 100; return false; }; EXPECT_EQ(&iport, &iport.value_comparator(f)); iport.value_comparator()(nullptr, nullptr); EXPECT_EQ(100, value); }
bool qjackctlConnect::disconnectAllEx (void) { QListIterator<qjackctlClientItem *> iter(m_pOClientList->clients()); while (iter.hasNext()) { qjackctlClientItem *pOClient = iter.next(); QListIterator<qjackctlPortItem *> oport(pOClient->ports()); while (oport.hasNext()) { qjackctlPortItem *pOPort = oport.next(); QListIterator<qjackctlPortItem *> iport(pOPort->connects()); while (iport.hasNext()) { qjackctlPortItem *pIPort = iport.next(); disconnectPortsEx(pOPort, pIPort); } } } return true; }
long adc_read() { int i = 0; long di = 0; long adc_val = 0; send_lo(); delay(1); for(i = 0; i < 16; i++) { di = (long) iport(); di = di << (15 - i); adc_val += di; send_lo(); delay(1); }; return(adc_val); };
// ------------------------------------------------------- QString Verilog_File::verilogCode(int) { QString s; QListIterator<Port *> iport(Ports); Port *pp = iport.next(); if(pp) { s = " " + ModuleName + " " + Name + " ("; // output all node names if(pp) s += pp->Connection->Name; while(iport.hasNext()) { pp = iport.next(); s += ", "+pp->Connection->Name; // node names } s += ");\n"; } return s; }
bool qjackctlConnect::canConnectSelectedEx (void) { // Take this opportunity to highlight any current selections. m_pOClientList->hiliteClientPorts(); m_pIClientList->hiliteClientPorts(); m_pConnectView->connectorView()->update(); // Now with our predicate work... QTreeWidgetItem *pOItem = (m_pOClientList->listView())->currentItem(); if (pOItem == NULL) return false; QTreeWidgetItem *pIItem = (m_pIClientList->listView())->currentItem(); if (pIItem == NULL) return false; if (pOItem->type() == QJACKCTL_CLIENTITEM) { qjackctlClientItem *pOClient = static_cast<qjackctlClientItem *> (pOItem); if (pIItem->type() == QJACKCTL_CLIENTITEM) { // Each-to-each connections... qjackctlClientItem *pIClient = static_cast<qjackctlClientItem *> (pIItem); QListIterator<qjackctlPortItem *> oport(pOClient->ports()); QListIterator<qjackctlPortItem *> iport(pIClient->ports()); while (oport.hasNext() && iport.hasNext()) { qjackctlPortItem *pOPort = oport.next(); qjackctlPortItem *pIPort = iport.next(); if (pOPort->findConnectPtr(pIPort) == NULL) return true; } } else { // Many(all)-to-one/many connection... QListIterator<qjackctlPortItem *> oport(pOClient->ports()); while (oport.hasNext() && pIItem && pIItem->type() == QJACKCTL_PORTITEM) { qjackctlPortItem *pOPort = oport.next(); qjackctlPortItem *pIPort = static_cast<qjackctlPortItem *> (pIItem); if (pOPort->findConnectPtr(pIPort) == NULL) return true; pIItem = (m_pIClientList->listView())->itemBelow(pIItem); } } } else { qjackctlPortItem *pOPort = static_cast<qjackctlPortItem *> (pOItem); if (pIItem->type() == QJACKCTL_CLIENTITEM) { // One-to-many(all) connection... qjackctlClientItem *pIClient = static_cast<qjackctlClientItem *> (pIItem); QListIterator<qjackctlPortItem *> iport(pIClient->ports()); while (iport.hasNext()) { qjackctlPortItem *pIPort = iport.next(); if (pOPort->findConnectPtr(pIPort) == NULL) return true; } } else { // One-to-one connection... qjackctlPortItem *pIPort = static_cast<qjackctlPortItem *> (pIItem); return (pOPort->findConnectPtr(pIPort) == NULL); } } return false; }