void OS_Signal(Sema4Type *semaPt)
This function(Spinlock) will signal that a mutual exclusion is taking place in a function.
INT8 OS_AddPeriodicThread(void(*task)(void), INT32U period, INT32U priority)
Adds periodic background thread. Cannot spin, sleep, die, rest, etc. cause it's ISR,...
void OS_bWait(Sema4Type *semaPt)
Wait on semaphore, binary.
void OS_Suspend(void)
This function suspends current thread by forcing context switch call.
INT32U OS_Fifo_Size(void)
Gets current size of FiFo.
INT8 OS_AddThread(void(*task)(void), INT32U priority)
This function decides next thread to run, now uses priority scheduler.
INT8 OS_Fifo_Put(FIFO_t data)
INT32U OS_IdThread(void)
Get current thread ID.
void OS_MailBox_Init(void)
Initialize mailbox for OS.
INT32U OS_ReadMsTime(void)
void OS_Kill(void)
This function kill/deletes current thread from schedule.
void OS_MailBox_Send(INT32U data)
This function will be called from a foreground thread It will spin/block if the MailBox contains data...
INT32U OS_MailBox_Recv(void)
This function will be called from a foreground thread It will spin/block if the MailBox is empty.
INT32U OS_TimeDifference(INT32U start, INT32U stop)
void OS_bSignal(Sema4Type *semaPt)
Signal semaphore to be free, set to 1.
void OS_Wait(Sema4Type *semaPt)
semaphore value decrement
INT8 OS_AddSW2Task(void(*task)(void), INT32U priority)
This function adds a thread to run and its priority when a button is pressed.
void OS_Launch(INT32U theTimeSlice)
This function starts the scheduler and enables interrupts.
void OS_Sleep(INT32U sleepTime)
This function puts a thread to sleep.
INT8 OS_AddSW1Task(void(*task)(void), INT32U priority)
This function adds a thread to run and its priority when a button is pressed.
void OS_Init(void)
initialize operating system, disable interrupts until OS_Launch initialize OS controlled I/O: serial,...
void OS_ClearMsTime(void)
void OS_InitSemaphore(Sema4Type *semaPt, INT32 value)
Initialize semaphore to given value.
void OS_ASM_Wait(Sema4Type *semaPt)
Spinlock semaphore wait using ARM exclusion.
void OS_ASM_Signal(Sema4Type *semaPt)
Spinlock semaphore signal using ARM exclusion.
Configuration setup for OS.
Contains CPU/Compilter variables.
struct Tcb * blockThreads