Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import nesper, nesper/tasks
- type
- Task* = object
- name*: string
- handle: TaskHandle_t
- ret*: BaseType_t
- cb: proc(): void
- proc newTask*(cb: proc(), name: string, stackSize: SzBytes): Task =
- result.name = name
- result.cb = cb
- proc wrapper (a1: pointer) {.cdecl.} =
- cast[ptr Task](a1).cb()
- var ret = xTaskCreate(wrapper, cstring(result.name), stackSize.uint32, addr result, 10, addr result.handle)
- result.ret = ret
- proc `=destroy`*(t: var Task) =
- echo "Destroying!"
- vTaskDelete(t.handle)
Advertisement
Add Comment
Please, Sign In to add comment