rtos.c File Reference

RTOS - Real Time Operating System. More...

Go to the source code of this file.


Functions

void Sleep (int timems)
 Put a task to sleep for a given number of milliseconds.
void TaskYield ()
 Give up the remaining time allotted to this task by the processor.
void * TaskCreate (void(taskCode)(void *), char *name, int stackDepth, void *parameters, int priority)
 Create a new task.
void TaskDelete (void *task)
 Delete an existing task.
void TaskEnterCritical ()
 Specify that a task is entering a period during which it should not be interrupted.
void TaskExitCritical ()
 Specify that a task is exiting a critical period, in response to TaskEnterCritical().
int TaskGetRemainingStack (void *task)
 Check how much stack is available for a given task.
void * getTaskByName (char *taskName)
 Get a pointer to a task by its name.
void * getTaskByID (int taskID)
 Get a pointer to a task by its ID number.
int TaskGetPriority (void *task)
 Get the priority of a task.
int TaskGetIDNumber (void *task)
 Get the ID number of a task.
char * TaskGetName (void *task)
 Get the name of a task.
int TaskGetStackAllocated (void *task)
 Read the amount of stack initially allocated for a task.
void * TaskGetCurrent ()
 Get a pointer to the task that's currently running.
int TaskGetTopPriorityUsed ()
 Read the highest priority being used by any existing task.
void * TaskGetNext (void *task)
 Get a pointer to the task whose ID comes after a given ID.
int GetNumberOfTasks ()
 Get the total number of tasks that exist at a given moment.
void TaskSetPriority (void *task, int priority)
 Update the priority of a task.
int TaskGetTickCount (void)
 Returns the number of ticks since the scheduler started.
void * Malloc (int size)
 Dynamically allocate memory from the heap.
void * MallocWait (int size, int interval)
 Same as Malloc, but keeps trying until it succeeds.
void Free (void *memory)
 Free memory from the heap.
void * QueueCreate (uint length, uint itemSize)
 Create a new queue.
int QueueSendToFront (void *queue, void *itemToQueue, int msToWait)
 Post an item onto the front of a queue.
int QueueSendToBack (void *queue, void *itemToQueue, int msToWait)
 Post an item onto the back of a queue.
int QueueReceive (void *queue, void *buffer, int msToWait)
 Read an item off of a queue.
int QueueMessagesWaiting (void *queue)
 Return the number of messages waiting in a queue.
void QueueDelete (void *queue)
 Delete a queue - freeing all the memory allocated for storing of items placed on the queue.
int QueueSendToFrontFromISR (void *queue, void *itemToSend, int taskPreviouslyWoken)
 Post an item to the front of a queue from within an interrupt service routine.
int QueueSendToBackFromISR (void *queue, void *itemToSend, int taskPreviouslyWoken)
 Post an item to the back of a queue from within an interrupt service routine.
int QueueReceiveFromISR (void *queue, void *buffer, long *taskWoken)
 Receive an item from a queue from within an interrupt service routine.
void * SemaphoreCreate ()
 Create a semaphore.
int SemaphoreTake (void *semaphore, int blockTime)
 Obtain a semaphore.
int SemaphoreGive (void *semaphore)
 Release a semaphore.
int SemaphoreGiveFromISR (void *semaphore, int taskWoken)
 Release a semaphore from within an ISR.

Detailed Description

RTOS - Real Time Operating System.

Functions to work within FreeRTOS on the Make Controller Board.

Definition in file rtos.c.