28 lines
814 B
Plaintext
28 lines
814 B
Plaintext
@startuml
|
|
!include card-uml-style.iuml
|
|
scale 900 width
|
|
left to right direction
|
|
|
|
state "01 Ready" as Ready
|
|
state "02 Running" as Running
|
|
state "03 Blocked\nuntil absolute wake tick" as Blocked
|
|
state "04 Suspended\nno wake tick" as Suspended
|
|
state "05 Resumed Ready" as Resumed
|
|
state "06 Completed\nbefore self-delete" as Completed
|
|
state "07 Deleted\nTCB cleanup deferred" as Deleted
|
|
|
|
Ready --> Running : selected
|
|
Running --> Blocked : vTaskDelayUntil
|
|
Blocked --> Ready : wake tick
|
|
Running --> Suspended : vTaskSuspend(NULL)
|
|
Suspended --> Resumed : vTaskResume(handle)
|
|
Resumed --> Running : selected
|
|
Running --> Completed : application record
|
|
Completed --> Deleted : vTaskDelete(NULL)
|
|
|
|
note bottom of Blocked
|
|
Blocked has a time/event condition.
|
|
Suspended has no automatic wake condition.
|
|
end note
|
|
@enduml
|