Example #1
0
UEdGraphPin* UEdGraphNode::CreatePin(EEdGraphPinDirection Dir, const FString& PinCategory, const FString& PinSubCategory, UObject* PinSubCategoryObject, bool bIsArray, bool bIsReference, const FString& PinName, bool bIsConst /*= false*/, int32 Index /*= INDEX_NONE*/)
{
	FEdGraphPinType PinType(PinCategory, PinSubCategory, PinSubCategoryObject, bIsArray, bIsReference);
	PinType.bIsConst = bIsConst;

	return CreatePin(Dir, PinType, PinName, Index);
}
Example #2
0
File: check.c Project: kahrs/cda
void PrintSignal(struct signal *signalPointer, int mask)
{
	struct pin *pinPointer;
	if (!xFlag) return;
	for (pinPointer = signalPointer -> first_pin;
	     pinPointer != NULL_STRUCT(pin);
	     pinPointer = pinPointer -> instance_chain)
	{
		if (nFlag || pinPointer -> pin_type_vector & mask)
			(void) PinType(pinPointer, xFlag);
	} /* end for */
} /* end Print Signal */
Example #3
0
 bool Link::isSignal() const
 {
     return getSenderObject().getOutlet(getSenderIndex()).getType() == PinType(PinType::IType::Signal);
 }
Example #4
0
File: check.c Project: kahrs/cda
void CheckSignalNet(struct signal *signalPointer)
{
	struct pin *pinPointer;
	char *signal_name;
	int pinType;
	char signalPins[MAXPERNET];

	inputPinCount = 0;
	outputPinCount = 0;
	sinkPinCount = 0;
	sourcePinCount = 0;
	analogPinCount = 0;
	undeclaredPinCount = 0;
	totalPinCount = 0;

	signal_name = signalPointer -> bucket -> name;
	if (cFlag)
	{
		fprintf(stdout, "%s:", signal_name);
		if (xFlag) printf("\n");
		else
		if (signalPointer -> pin_count > MAXPERNET)
			Bug("signal net too large in CheckSignalNet");
	} /* end if */
	for (pinPointer = signalPointer -> first_pin;
	     pinPointer != NULL_STRUCT(pin);
	     pinPointer = pinPointer -> instance_chain)
	{
		(void) CheckForCollision(signalPointer, pinPointer);
		pinType = PinType(pinPointer, cFlag & xFlag);
		if (cFlag & !xFlag)
			signalPins[totalPinCount] = pinType;
		else
			(void) DoPinType(pinPointer, signalPointer, pinType);
		totalPinCount++;
	} /* end for */
	if (cFlag)
	{
		if (!xFlag)
		{
			signalPins[totalPinCount] = '\0';
			fprintf(stdout, "\t%s\n", signalPins);
		} /* end if */
		if (pFlag) fprintf(stdout, "\t\t\t\t%di,%do,%ds,%dS,%da,%du\n",
					inputPinCount, outputPinCount,
					sinkPinCount, sourcePinCount,
					analogPinCount, undeclaredPinCount);
		return;
	} /* end if */
	if ((sinkPinCount > 0) && (sourcePinCount == 0) &&
	    (!PowerGroundNet(signalPointer)) && (!AnalogNet(signalPointer)))
		if (OpenCollectorNet(signalPointer))
			(void) ParanoidSignalWarning(signalPointer, "no o.c. pullup");
		else
			(void) ParanoidSignalWarning(signalPointer, "no source");
	if ((!PowerGroundNet(signalPointer)) && (inputPinCount > 0) && (outputPinCount == 0))
		(void) ParanoidSignalWarning(signalPointer, "no outputs");
	if ((!PowerGroundNet(signalPointer)) && (outputPinCount > 0) && (inputPinCount == 0))
		(void) ParanoidSignalWarning(signalPointer, "no inputs");
	(void) CheckSignalPins(signalPointer);
} /* end CheckSignalNet */