|
PixelKey
NeoPixel USB Key
|
Macros | |
| #define | TASK_FLAG(i) ((task_id_t) FLAG(i)) |
| #define | XTASK(task, fn, doc) TASK_ID_ ## task = FLAG(TASK_ ## task) /*!< Flag for @ref TASK_ ## task */, |
| #define | XTASK(task, fn, doc) void fn (void) __attribute__ (( weak, alias ("default_task") )); |
| #define | XTASK(task, fn, doc) [TASK_ ## task] = fn, |
Enumerations | |
| enum | task_id_t { TASK_ID_NONE = 0 , TASK_ID_REBOOT = ( 1 << TASK_REBOOT ) , TASK_ID_FRAME_TX = ( 1 << TASK_FRAME_TX ) , TASK_ID_FRAME_RENDER = ( 1 << TASK_FRAME_RENDER ) , TASK_ID_TERMINAL_CONNECTED = ( 1 << TASK_TERMINAL_CONNECTED ) , TASK_ID_CMD_RX = ( 1 << TASK_CMD_RX ) , TASK_ID_CMD_HANDLER = ( 1 << TASK_CMD_HANDLER ) , TASK_ID_CMD_PROMPT = ( 1 << TASK_CMD_PROMPT ) } |
Functions | |
| void | pixelkey_reboot (void) |
| void | tasks_queue (task_t task) |
| Queue a task for execution. More... | |
| task_status_t | tasks_status_get (task_t task) |
| Gets the status of a given task. More... | |
| void | tasks_run (task_fn_t idle_task) |
| Main task runner loop. More... | |
Variables | |
| static volatile task_id_t | queued_tasks = TASK_ID_NONE |
| static volatile task_id_t | pending_tasks = TASK_ID_NONE |
| static volatile task_t | running_task = TASK_UNDEFINED |
| enum task_id_t |
Task flags.
| Enumerator | |
|---|---|
| TASK_ID_NONE | No task is selected. |
| TASK_ID_REBOOT | Flag for TASK_REBOOT |
| TASK_ID_FRAME_TX | Flag for TASK_FRAME_TX |
| TASK_ID_FRAME_RENDER | Flag for TASK_FRAME_RENDER |
| TASK_ID_TERMINAL_CONNECTED | Flag for TASK_TERMINAL_CONNECTED |
| TASK_ID_CMD_RX | Flag for TASK_CMD_RX |
| TASK_ID_CMD_HANDLER | Flag for TASK_CMD_HANDLER |
| TASK_ID_CMD_PROMPT | Flag for TASK_CMD_PROMPT |
| void tasks_queue | ( | task_t | task | ) |
Queue a task for execution.
| task | The task to queue. |
| void tasks_run | ( | task_fn_t | idle_task | ) |
Main task runner loop.
Priority, round-robin task manager. Never exits.
| [in] | idle_task | Idle function executed when no tasks are queued, specify NULL to ignore. |
| task_status_t tasks_status_get | ( | task_t | task | ) |
Gets the status of a given task.
| task | The task to check. |
|
static |
Tasks pending execution awaiting higher priority tasks.
|
static |
Tasks waiting to execute.
|
static |
Current running task.