Skip to content

Instantly share code, notes, and snippets.

@ktbarrett
Created October 25, 2021 04:10
Show Gist options
  • Save ktbarrett/51e95aed2eca1c19ef46d95fdd4b0280 to your computer and use it in GitHub Desktop.
Save ktbarrett/51e95aed2eca1c19ef46d95fdd4b0280 to your computer and use it in GitHub Desktop.
recurring event type
from typing import Awaitable
from cocotb.triggers import Trigger, _Event
class Alert(Awaitable[None]):
def __init__(self) -> None:
self._pending = []
def set(self) -> None:
triggers = self._pending[:]
self._pending = []
for t in triggers:
t()
def _prime_trigger(self, trigger: Trigger, callback) -> None:
self._pending.append(trigger)
def __await__(self) -> Trigger:
return _Event(self)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment