26 #ifndef PIOS_THREAD_H_
27 #define PIOS_THREAD_H_
29 #define PIOS_THREAD_TIMEOUT_MAX 0xffffffff
38 #if defined(PIOS_INCLUDE_CHIBIOS)
50 #define PIOS_THREAD_STACK_SIZE_MIN THD_WA_SIZE(256 + PORT_INT_REQUIRED_STACK)
55 #define PIOS_THREAD_STACK_SIZE_MIN (4096)
95 void PIOS_Thread_FakeClock_Tick(
void);
97 void PIOS_Thread_FakeClock_UpdateBarrier(uint32_t increment);
uint32_t PIOS_Thread_Systime(void)
void PIOS_Thread_Scheduler_Suspend(void)
void PIOS_Thread_ChangePriority(enum pios_thread_prio_e prio)
struct pios_thread * PIOS_Thread_Create(void(*fp)(void *), const char *namep, size_t stack_bytes, void *argp, enum pios_thread_prio_e prio)
bool PIOS_Thread_Period_Elapsed(const uint32_t prev_systime, const uint32_t increment_ms)
Determine if a period has elapsed since a datum.
void PIOS_Thread_Sleep_Until(uint32_t *previous_ms, uint32_t increment_ms)
void PIOS_Thread_Sleep(uint32_t time_ms)
uint32_t PIOS_Thread_Get_Stack_Usage(struct pios_thread *threadp)
uint32_t PIOS_Thread_Get_Runtime(struct pios_thread *threadp)
void PIOS_Thread_Scheduler_Resume(void)
void PIOS_Thread_Delete(struct pios_thread *threadp)
struct pios_thread * PIOS_Thread_WrapCurrentThread(const char *namep)
Creates a handle for the current thread.
bool PIOS_Thread_FakeClock_IsActive(void)