Example #1
0
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;
}
Example #2
0
// -------------------------------------------------------
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;
}
Example #3
0
// -------------------------------------------------------
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;
}
Example #4
0
// -------------------------------------------------------
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());
  };
Example #6
0
// -------------------------------------------------------
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;
}
Example #7
0
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);
}
Example #8
0
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);
  };
Example #10
0
// -------------------------------------------------------
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;
}
Example #11
0
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;
}