I’m not sure what could cause an okTriggerOut module to record an incoming event when the ep_clk isn’t running.
However, are you calling UpdateTriggerOut between IsTriggered checks?
UpdateTriggerOut retrieves the trigger status of every triggerOut endpoint in your design to a local register. IsTriggered simply checks the values for you and returns a boolean. IsTriggered doesn’t reset the trigger status (I don’t believe), UpdateTriggerOut does. If you want to know if another trigger event happened, you have to call UpdateTriggerOut again.
In other words, if you had a single trigger at endpoint 0x60, bit 0, then called UpdateTriggerOut, and then tested IsTriggered(0x60, 0x0001) repeatedly, it would always test true until you called UpdateTriggerOut. At least, this is my understanding of things.
Of course, this might not be your problem. If it’s not, perhaps you can call UpdateTriggerOut twice after your ep_clk reset to clear any triggers that may occured during reset?
I’m sure Jake could shed more light on this–he’s out of town but will be back soon.