16#ifndef ICARUS_SCHEDULER_H
17#define ICARUS_SCHEDULER_H
void os_yield(void)
Voluntarily yield CPU to scheduler.
uint32_t __os_get_tick_count(void)
Privileged implementation of os_get_tick_count.
uint32_t __task_blocking_sleep(uint32_t ticks)
Privileged implementation of task_blocking_sleep.
icarus_task_state_t os_get_task_state(uint8_t task_idx)
Get a task's current state (safe from unprivileged mode).
uint8_t __os_get_running_task_count(void)
Privileged implementation of os_get_running_task_count.
uint32_t os_get_task_ticks_remaining(void)
Get remaining ticks in current time slice.
const char * os_get_current_task_name(void)
Get name of currently executing task.
uint8_t __os_get_num_created_tasks(void)
Privileged implementation of os_get_num_created_tasks.
uint32_t os_get_stack_watermark(uint8_t task_idx)
Get a task's stack high-water mark (minimum free words).
icarus_task_state_t __os_get_task_state(uint8_t task_idx)
Privileged implementation of os_get_task_state.
uint32_t task_blocking_sleep(uint32_t ticks)
Sleep with scheduler disabled (blocking)
const char * __os_get_current_task_name(void)
Privileged implementation of os_get_current_task_name.
uint32_t os_get_tick_count(void)
Get current system tick count.
const char * os_get_task_name(uint8_t task_idx)
Get task name by index (safe from unprivileged mode)
uint8_t __os_is_running(void)
Privileged implementation of os_is_running.
void os_update_stack_watermark(uint8_t task_idx)
Scan a task's stack for the sentinel pattern and update the watermark field in the TCB.
uint32_t __os_get_task_dispatch_count(uint8_t task_idx)
Privileged implementation of os_get_task_dispatch_count.
const char * __os_get_task_name(uint8_t task_idx)
Privileged implementation of os_get_task_name.
uint32_t task_busy_wait(uint32_t ticks)
Busy-wait for specified ticks.
uint32_t task_active_sleep(uint32_t ticks)
Sleep for specified ticks (cooperative)
uint8_t os_is_running(void)
Check if OS is running (safe from unprivileged mode)
void __os_update_stack_watermark(uint8_t task_idx)
Scan a task's stack from the base upward for the sentinel pattern (0xDEADC0DE) and update the waterma...
uint8_t os_get_num_created_tasks(void)
Get number of created tasks (safe from unprivileged mode)
uint32_t os_get_task_dispatch_count(uint8_t task_idx)
Get a task's dispatch count (times scheduled to run).
uint32_t __os_get_stack_watermark(uint8_t task_idx)
Privileged implementation of os_get_stack_watermark.
uint8_t os_get_running_task_count(void)
Get number of active tasks.
uint32_t __task_busy_wait(uint32_t ticks)
Privileged implementation of task_busy_wait.
uint32_t __task_active_sleep(uint32_t ticks)
Privileged implementation of task_active_sleep.
void __os_yield(void)
Privileged implementation of os_yield.
uint32_t __os_get_task_ticks_remaining(void)
Privileged implementation of os_get_task_ticks_remaining.
ICARUS OS Core Type Definitions.
icarus_task_state_t
Task state enumeration.