@startuml hide footbox participant Detector participant MainWindow participant SHM participant jt9.f90 participant decoder.f90 participant ft8_decode.f90 Detector -> MainWindow : dataSink() activate MainWindow MainWindow -> MainWindow : decode() MainWindow -> MainWindow : decodeBusy() MainWindow -> SHM : memcpy() MainWindow -> jt9.f90 : doorbell deactivate MainWindow activate jt9.f90 jt9.f90 -> decoder.f90 : multimode_decoder() decoder.f90 -> ft8_decode.f90 : decode() ft8_decode.f90 -> decoder.f90 : ft8_decoded() decoder.f90 -> jt9.f90 jt9.f90 -> MainWindow : readFromStdout() @enduml