|
void | StartOS (void) |
|
void | OS_EnableInterrupts (void) |
|
void | OS_DisableInterrupts (void) |
|
void | OS_SystemTimeHandler (void) |
|
void | Peripheral_Init (void) |
| This function initializes extra IO used by OS, add new inits here. More...
|
|
void | OS_SystemPriority (void) |
| Set priority of Systick and PendSV (Context Switch handlers) More...
|
|
void | OS_Init (void) |
| initialize operating system, disable interrupts until OS_Launch initialize OS controlled I/O: serial, ADC, systick, LaunchPad I/O and timers More...
|
|
void | LinkTCB (tcbType *newThread) |
| LinkTCB Add TCB to doubly Linked List, copy pasta ee 312. More...
|
|
void | UnLinkTCB (void) |
| UnLinkTCB Remove thread form Doubly LL of TCB, copy pasta. More...
|
|
void | AddBlockedToSemaphore (Sema4Type *semaPt) |
| Add TCB to blocked Linked list of semaphore. More...
|
|
tcbType * | RemoveBlockedFromSemaphore (Sema4Type *semaPt) |
| Remove TCB from blocked list, assuiming thread already blocked, else rip program. More...
|
|
void | UnBlockTCB (Sema4Type *semaPt) |
| Remove TCB from blocked list. More...
|
|
void | BlockTCB (Sema4Type *semaPt) |
| Add current TCB to blocked list then yield, ratatatat. More...
|
|
void | OS_Launch (INT32U theTimeSlice) |
| This function starts the scheduler and enables interrupts. More...
|
|
void | OS_Scheduler (void) |
| This function runs next highest priority thread, PRIORITY SCHEDULER. More...
|
|
void | SysTick_Handler (void) |
| This function decides next thread to run. More...
|
|
void | OS_Suspend (void) |
| This function suspends current thread by forcing context switch call. More...
|
|
void | OS_AddPriorityThread (tcbType *newThread) |
| This function decides next thread to run, now uses priority scheduler. More...
|
|
INT8 | OS_AddThread (void(*task)(void), INT32U priority) |
| This function decides next thread to run, now uses priority scheduler. More...
|
|
INT32U | OS_IdThread (void) |
| Get current thread ID. More...
|
|
void | OS_InitSemaphore (Sema4Type *semaPt, INT32 value) |
| Initialize semaphore to given value. More...
|
|
void | OS_Wait (Sema4Type *semaPt) |
| semaphore value decrement More...
|
|
void | OS_Signal (Sema4Type *semaPt) |
| This function(Spinlock) will signal that a mutual exclusion is taking place in a function. More...
|
|
void | OS_bWait (Sema4Type *semaPt) |
| This function implements binary wait. More...
|
|
void | OS_bSignal (Sema4Type *semaPt) |
| This function implements binary signal. More...
|
|
void | OS_Sleep (INT32U sleepTime) |
| This function puts a thread to sleep. More...
|
|
void | OS_Kill (void) |
| This function kill/deletes current thread from schedule. More...
|
|
INT8 | OS_AddPeriodicThread (void(*task)(void), INT32U period, INT32U priority) |
| Adds periodic background thread. Cannot spin, sleep, die, rest, etc. cause it's ISR, depends on hardware for number of tasks possible No ID for this thread, must have mid-high priority to run properly. More...
|
|
INT8 | OS_AddSW1Task (void(*task)(void), INT32U priority) |
| This function adds a thread to run and its priority when a button is pressed. More...
|
|
INT8 | OS_AddSW2Task (void(*task)(void), INT32U priority) |
| This function adds a thread to run and its priority when a button is pressed. More...
|
|
void | OS_Fifo_Init (void) |
|
INT8 | OS_Fifo_Put (FIFO_t data) |
|
FIFO_t | OS_Fifo_Get (void) |
|
INT32U | OS_Fifo_Size (void) |
| Gets current size of FiFo. More...
|
|
void | OS_MailBox_Init (void) |
| Initializes communication channel for OS. More...
|
|
void | OS_MailBox_Send (INT32U data) |
| This function will be called from a foreground thread It will spin/block if the MailBox contains data not yet received. More...
|
|
INT32U | OS_MailBox_Recv (void) |
| This function will be called from a foreground thread It will spin/block if the MailBox is empty. More...
|
|
INT32U | OS_Time (void) |
|
INT32U | OS_TimeDifference (INT32U start, INT32U stop) |
|
void | OS_ClearMsTime (void) |
|
INT32U | OS_ReadMsTime (void) |
|
Contains functions to run OS.
Definition in file OS.c.