@startuml scale max 900*520 skinparam backgroundColor transparent skinparam shadowing false skinparam defaultFontName "DejaVu Sans Mono" skinparam defaultFontSize 12 skinparam sequenceParticipantBorderColor #2b6f8e skinparam sequenceParticipantBackgroundColor #edf6fa skinparam sequenceArrowColor #8295a0 title A5 FLOW — ISR wakes waiter before interrupted stimulus continues participant waiter participant semaphore participant stimulus participant Hazard3 participant ISR participant verifier waiter -> semaphore : 02 take / Blocked stimulus -> stimulus : 03 before trigger stimulus -> Hazard3 : IO_SET_IRQ bit 5 Hazard3 -> ISR : 04 MEI / xISRStack ISR -> Hazard3 : 05 clear source ISR -> semaphore : 06 give / xHPW=pdTRUE ISR -> waiter : portYIELD_FROM_ISR waiter -> waiter : 07 runs; stimulus_after=0 waiter -> waiter : self-delete stimulus -> stimulus : 08 resumes after trigger; waiter_ran=1 verifier -> verifier : 09 order + stacks + mcause = PASS @enduml