ptolemy.actor.lib.vhdl
Class FixSequence
java.lang.Object
ptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.actor.AtomicActor
ptolemy.actor.TypedAtomicActor
ptolemy.actor.lib.vhdl.FixTransformer
ptolemy.actor.lib.vhdl.FixSequence
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
public class FixSequence
- extends FixTransformer
This actor produces a sequence of values, optionally periodically repeating
them. The values parameter contains an ArrayToken that specifies the
sequence of values to produce at the output. If the enable input
port is connected, then it provides a boolean sequence that specifies
whether to produce an output. If the enable is present and
true, then the actor will produce the next output. Otherwise, it
produces no output.
Compared with the Pulse
actor, this
actor can be enabled or disabled on each firing by providing a true
or false input on the enable port.
- Since:
- Ptolemy II 4.1
- Version:
- $Id: FixSequence.java 57040 2010-01-27 20:52:32Z cxh $
- Author:
- Terry Esther Filiba, based on Pulse by Edward A. Lee
- See Also:
Pulse
,
Serialized Form
- Accepted Rating:
- Proposed Rating:
Fields inherited from class ptolemy.kernel.util.NamedObj |
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS |
Constructor Summary |
FixSequence(CompositeEntity container,
java.lang.String name)
Construct an actor in the specified container with the specified
name. |
Method Summary |
java.lang.Object |
clone(Workspace workspace)
Clone the actor into the specified workspace. |
void |
fire()
If the enable input is connected, then if it has a true
token, produce the next output. |
void |
initialize()
Initialize the actor by resetting to the first output value. |
boolean |
postfire()
Update the state of the actor by moving to the next value
in the values array. |
boolean |
prefire()
If the trigger input is connected and it has no input or an unknown
state, then return false. |
Methods inherited from class ptolemy.actor.AtomicActor |
_actorFiring, _actorFiring, addActorFiringListener, addInitializable, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, preinitialize, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, terminate, wrapup |
Methods inherited from class ptolemy.kernel.ComponentEntity |
_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName |
Methods inherited from class ptolemy.kernel.Entity |
_description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName |
Methods inherited from class ptolemy.kernel.util.NamedObj |
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _debug, _debug, _debug, _debug, _debug, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _propagateValue, _recordDecoratedAttributes, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, attributeChanged, attributeList, attributeList, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, propagateValue, propagateValues, removeChangeListener, removeDebugListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
enable
public TypedIOPort enable
- The enable input port. If this port is connected, then its
input will determine whether an output is produced in any
given firing. The type is boolean.
repeat
public Parameter repeat
- The flag that indicates whether the sequence needs to be
repeated. If this is false, then the last value of the
sequence is repeatedly produced after the entire sequence
has been produced. This is a boolean, and defaults to false.
values
public Parameter values
- The values that will be produced on the output.
This parameter is an array, with default value {1}.
trigger
public TypedIOPort trigger
- The trigger port. The type of this port is undeclared, meaning
that it will resolve to any data type.
_currentIndex
private int _currentIndex
_outputProduced
private boolean _outputProduced
FixSequence
public FixSequence(CompositeEntity container,
java.lang.String name)
throws IllegalActionException,
NameDuplicationException
- Construct an actor in the specified container with the specified
name.
- Parameters:
container
- The container.name
- The name of this actor within the container.
- Throws:
IllegalActionException
- If the actor cannot be contained
by the proposed container.
NameDuplicationException
- If the name coincides with
an actor already in the container.
clone
public java.lang.Object clone(Workspace workspace)
throws java.lang.CloneNotSupportedException
- Clone the actor into the specified workspace. This overrides the
base class to handle type constraints.
- Overrides:
clone
in class AtomicActor
- Parameters:
workspace
- The workspace for the new object.
- Returns:
- A new actor.
- Throws:
java.lang.CloneNotSupportedException
- If a derived class contains
an attribute that cannot be cloned.- See Also:
NamedObj.exportMoML(Writer, int, String)
,
NamedObj.setDeferringChangeRequests(boolean)
fire
public void fire()
throws IllegalActionException
- If the enable input is connected, then if it has a true
token, produce the next output. If it is not connected, produce
the next output unconditionally. Whether it is connected is
determined by checking the width of the port.
- Specified by:
fire
in interface Executable
- Overrides:
fire
in class AtomicActor
- Throws:
IllegalActionException
- If there is no director.
initialize
public void initialize()
throws IllegalActionException
- Initialize the actor by resetting to the first output value.
- Specified by:
initialize
in interface Initializable
- Overrides:
initialize
in class AtomicActor
- Throws:
IllegalActionException
- If there is no director.
prefire
public boolean prefire()
throws IllegalActionException
- If the trigger input is connected and it has no input or an unknown
state, then return false. Otherwise, return true.
- Specified by:
prefire
in interface Executable
- Overrides:
prefire
in class AtomicActor
- Returns:
- True, unless the trigger input is connected
and has no input.
- Throws:
IllegalActionException
- If checking the trigger for
a token throws it or if the super class throws it.
postfire
public boolean postfire()
throws IllegalActionException
- Update the state of the actor by moving to the next value
in the values array.
- Specified by:
postfire
in interface Executable
- Overrides:
postfire
in class AtomicActor
- Returns:
- True if execution can continue into the next iteration.
- Throws:
IllegalActionException
- If there is no director.