47#define TASK_PRIORITY_MAX 16
55#define TASK_PRIORITY_MIN 1
63#define TASK_PRIORITY_DEFAULT 8
72#define TASK_STACK_DEPTH_DEFAULT 0x2000
79#define TASK_STACK_DEPTH_MIN 0x200
84#define TASK_NAME_MAX_LEN 32
89#define TIMEOUT_MAX ((uint32_t)0xffffffffUL)
144#ifdef PROS_USE_SIMPLE_NAMES
146#define TASK_STATE_RUNNING pros::E_TASK_STATE_RUNNING
147#define TASK_STATE_READY pros::E_TASK_STATE_READY
148#define TASK_STATE_BLOCKED pros::E_TASK_STATE_BLOCKED
149#define TASK_STATE_SUSPENDED pros::E_TASK_STATE_SUSPENDED
150#define TASK_STATE_DELETED pros::E_TASK_STATE_DELETED
151#define TASK_STATE_INVALID pros::E_TASK_STATE_INVALID
152#define NOTIFY_ACTION_NONE pros::E_NOTIFY_ACTION_NONE
153#define NOTIFY_ACTION_BITS pros::E_NOTIFY_ACTION_BITS
154#define NOTIFY_ACTION_INCR pros::E_NOTIFY_ACTION_INCR
155#define NOTIFY_ACTION_OWRITE pros::E_NOTIFY_ACTION_OWRITE
156#define NOTIFY_ACTION_NO_OWRITE pros::E_NOTIFY_ACTION_NO_OWRITE
158#define TASK_STATE_RUNNING E_TASK_STATE_RUNNING
159#define TASK_STATE_READY E_TASK_STATE_READY
160#define TASK_STATE_BLOCKED E_TASK_STATE_BLOCKED
161#define TASK_STATE_SUSPENDED E_TASK_STATE_SUSPENDED
162#define TASK_STATE_DELETED E_TASK_STATE_DELETED
163#define TASK_STATE_INVALID E_TASK_STATE_INVALID
164#define NOTIFY_ACTION_NONE E_NOTIFY_ACTION_NONE
165#define NOTIFY_ACTION_BITS E_NOTIFY_ACTION_BITS
166#define NOTIFY_ACTION_INCR E_NOTIFY_ACTION_INCR
167#define NOTIFY_ACTION_OWRITE E_NOTIFY_ACTION_OWRITE
168#define NOTIFY_ACTION_NO_OWRITE E_NOTIFY_ACTION_NO_OWRITE
192#define CURRENT_TASK ((pros::task_t)NULL)
194#define CURRENT_TASK ((task_t)NULL)
284 const char*
const name);
356void delay(
const uint32_t milliseconds);
bool mutex_take(mutex_t mutex, uint32_t timeout)
uint32_t task_notify(task_t task)
void * task_t
Definition rtos.h:100
task_state_e_t
Definition rtos.h:119
task_t task_create(task_fn_t function, void *const parameters, uint32_t prio, const uint16_t stack_depth, const char *const name)
void task_delay(const uint32_t milliseconds)
notify_action_e_t
Definition rtos.h:131
mutex_t mutex_create(void)
void task_suspend(task_t task)
void task_resume(task_t task)
task_state_e_t task_get_state(task_t task)
bool mutex_give(mutex_t mutex)
void mutex_delete(mutex_t mutex)
void task_delay_until(uint32_t *const prev_time, const uint32_t delta)
bool mutex_recursive_take(mutex_t mutex, uint32_t timeout)
uint32_t task_get_count(void)
uint32_t task_notify_ext(task_t task, uint32_t value, notify_action_e_t action, uint32_t *prev_value)
uint32_t task_get_priority(task_t task)
void task_set_priority(task_t task, uint32_t prio)
uint32_t task_notify_take(bool clear_on_exit, uint32_t timeout)
task_t task_get_by_name(const char *name)
bool mutex_recursive_give(mutex_t mutex)
void * mutex_t
Definition rtos.h:184
mutex_t mutex_recursive_create(void)
void delay(const uint32_t milliseconds)
char * task_get_name(task_t task)
void task_delete(task_t task)
task_t task_get_current()
bool task_notify_clear(task_t task)
void(* task_fn_t)(void *)
Definition rtos.h:108
void task_join(task_t task)
@ E_TASK_STATE_SUSPENDED
Definition rtos.h:123
@ E_TASK_STATE_RUNNING
Definition rtos.h:120
@ E_TASK_STATE_INVALID
Definition rtos.h:125
@ E_TASK_STATE_DELETED
Definition rtos.h:124
@ E_TASK_STATE_READY
Definition rtos.h:121
@ E_TASK_STATE_BLOCKED
Definition rtos.h:122
@ E_NOTIFY_ACTION_OWRITE
Definition rtos.h:135
@ E_NOTIFY_ACTION_NO_OWRITE
Definition rtos.h:136
@ E_NOTIFY_ACTION_NONE
Definition rtos.h:132
@ E_NOTIFY_ACTION_INCR
Definition rtos.h:134
@ E_NOTIFY_ACTION_BITS
Definition rtos.h:133