| class _AsyncTrigger:
def __init__(self, cmd):
self.cmd = cmd
def __await__(self):
yield self.cmd
async def until(self, condition):
while not (await condition.get()):
await self
class SimulatorContext:
def delay(self, interval=None):
return _AsyncTrigger(Delay(interval))
def tick(self, domain="sync"):
return _AsyncTrigger(Tick(domain))
def changed(self, signal, value=None):
return _AsyncTrigger(_Changed(signal, value))
|