27 lines
927 B
Plaintext
27 lines
927 B
Plaintext
@startuml
|
|
!include card-uml-style.iuml
|
|
scale 900 width
|
|
|
|
participant main
|
|
participant periodic
|
|
participant suspend_target
|
|
participant observer
|
|
participant "FreeRTOS scheduler" as Scheduler
|
|
|
|
main -> main : 01 configuration committed
|
|
main -> Scheduler : 02 create three tasks and start
|
|
Scheduler -> periodic : 03 highest Ready task runs
|
|
periodic -> Scheduler : vTaskDelayUntil(t0 + 2)
|
|
Scheduler -> suspend_target : self-suspend
|
|
Scheduler -> observer : 04 sees Blocked + Suspended
|
|
observer -> Scheduler : vTaskResume(suspend_target)
|
|
Scheduler -> suspend_target : 05 resumed; self-delete
|
|
Scheduler -> periodic : 06 release at t0 + 2
|
|
periodic -> Scheduler : vTaskDelayUntil(t0 + 4)
|
|
Scheduler -> periodic : 07 release at t0 + 4
|
|
periodic -> Scheduler : vTaskDelayUntil(t0 + 6)
|
|
Scheduler -> periodic : 08 release at t0 + 6
|
|
periodic -> Scheduler : 09 clear handle; self-delete
|
|
Scheduler -> observer : 10 verify timeline and PASS
|
|
@enduml
|