23 lines
903 B
Plaintext
23 lines
903 B
Plaintext
@startuml
|
|
scale max 900*520
|
|
skinparam backgroundColor transparent
|
|
skinparam shadowing false
|
|
skinparam defaultFontName "DejaVu Sans Mono"
|
|
skinparam defaultFontSize 13
|
|
skinparam rectangleBorderColor #2b6f8e
|
|
skinparam rectangleBackgroundColor #edf6fa
|
|
skinparam ArrowColor #8295a0
|
|
top to bottom direction
|
|
title A1 CONTEXT — command producer, timer daemon and callbacks
|
|
rectangle "01 Application task\ncontroller · priority 2" as App
|
|
rectangle "02 Timer command queue\nlength 8 · copy command" as Queue
|
|
rectangle "03 Timer daemon task\npriority 3 · own stack" as Daemon
|
|
rectangle "04 Active timer lists\none-shot + auto-reload" as Lists
|
|
rectangle "05 Callback application code\nshort · non-blocking" as Callback
|
|
App --> Queue : start / reset / change / stop
|
|
Queue --> Daemon : receive command
|
|
Daemon --> Lists : update expiry
|
|
Lists --> Daemon : expiry at tick
|
|
Daemon --> Callback : direct call
|
|
@enduml
|