
SequentialClock |
ptolemy.actor.lib.SequentialClock |
A clock source for sequence-capable domains. This actor is considerably
simpler than the Clock actor. On each firing, it produces the next value
from its values parameter, and schedules another firing at
a future time determined by the offsets and period parameters.
This actor can be used in the DE domain
to generate a sequence of events at regularly spaced
intervals. It cannot be used in CT, because CT will invoke it at times
where it has not requested a firing, and it will inappropriately advance
to the next output value.
At the beginning of each time interval of length given by period,
it initiates a sequence of output events with values given by
values and offset into the period given by offsets.
These parameters contain arrays, which are required to have the same length.
The offsets array must be nondecreasing and nonnegative,
or an exception will be thrown when it is set.
Moreover, its largest entry must be smaller than period
or an exception will be thrown by the fire() method.
The values parameter by default
contains an array of IntTokens with values 1 and 0. The default
offsets array is {0.0, 1.0}. Thus, the default output will be
alternating 1 and 0 with 50% duty cycle. The default period
is 2.0.
The actor uses the fireAt() method of the director to request
firing at the beginning of each period plus each of the offsets.
It assumes that all of its firings are in response to such
requests.
The type of the output can be any token type. This type is inferred from the
element type of the values parameter.
This actor is a timed source; the untimed version is Pulse.
Author(s): Edward A. Lee
Version:$Id: SequentialClock.java,v 1.37 2005/07/08 19:56:06 cxh Exp $
Pt.Proposed Rating:Yellow (eal)
Pt.Accepted Rating:Red (yuhong)
output
The output port. The type of this port is determined by from
the values parameter.
offsets
The offsets at which the specified values will be produced.
This parameter must contain an array of doubles, and it defaults
to {0.0, 1.0}.
period
The period of the output waveform.
This parameter must contain a DoubleToken, and defaults to 2.0.
values
The values that will be produced at the specified offsets.
This parameter must contain an ArrayToken, and defaults to {1, 0}.