Files

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