@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