| 1234567891011121314151617181920212223 |
- from pypdevs.DEVS import AtomicDEVS
- from pypdevs.infinity import INFINITY
- class Generator(AtomicDEVS):
- def __init__(self, name, output=1, period=1, cycles=1):
- super(Generator, self).__init__(name=name)
- self.output = output
- self.period = period
- self.state = 1
- self.o_out = self.addOutPort("o_out")
- def intTransition(self):
- return self.state - 1
- def timeAdvance(self):
- return self.period if self.state > 0 else INFINITY
- def outputFnc(self):
- if self.state > 0:
- return {self.o_out: list(range(self.output))}
- return {}
|