117 void (*function)(void);
#define ICARUS_MAX_TASK_NAME_LEN
Maximum length of task name string (including null terminator)
#define ICARUS_MAX_MESSAGE_BYTES
Maximum bytes per message pipe buffer.
ICARUS OS Configuration Header.
uint16_t count
Current number of bytes in buffer.
uint16_t dequeue_idx
Read index (circular)
uint16_t max_count
Maximum buffer capacity in bytes.
uint16_t enqueue_idx
Write index (circular)
uint32_t tick_updated_at
Last modification timestamp.
bool engaged
true if pipe is initialized and active
uint32_t tick_updated_at
Last modification timestamp (for debugging)
uint32_t max_count
Maximum count (initial value)
bool engaged
true if semaphore is initialized and active
uint32_t count
Current semaphore count.
icarus_task_priority_t task_priority
Task priority level.
uint32_t global_tick_paused
Tick count when blocked (offset 20)
icarus_task_state_t task_state
Current task state (offset 16)
uint32_t dispatch_count
Times this task has been dispatched.
uint32_t * stack_base
Base address of task stack.
uint32_t stack_size
Stack size in 32-bit words.
uint32_t * data_pointer
Current data pointer (offset 28)
uint32_t * stack_pointer
Current stack pointer (offset 12)
uint32_t stack_watermark
Minimum free stack words observed.
uint32_t ticks_to_pause
Ticks to remain blocked (offset 24)
icarus_task_state_t
Task state enumeration.
@ TASK_STATE_RUNNING
Task currently executing on CPU.
@ TASK_STATE_FINISHED
Task completed execution normally.
@ TASK_STATE_BLOCKED
Task waiting for timeout or event.
@ TASK_STATE_READY
Task ready to run, waiting for CPU.
@ TASK_STATE_KILLED
Task terminated by another task.
@ TASK_STATE_COLD
Task created but never started.
icarus_task_priority_t
Task priority levels.
@ TASK_PRIORITY_MED
Normal application priority.
@ TASK_PRIORITY_LOW
Background/idle priority.
@ TASK_PRIORITY_HIGH
Time-critical priority.