Components/Libraries/XF/FreeRTOS/BaseThread

From UIT
Revision as of 09:56, 10 August 2017 by Sara.chalokh (Talk | contribs)
Jump to: navigation, search

Contents

BaseThread

The class BaseThread is a C++ version of a FreeRTOS task. It is an interface that implement all Free RTOS function too manage a Free RTOS task.

The function threadMain is the main function of the thread. But in the class it is just a pure virtual function that must be reimplemented in a subclass.

Member Functions Documentation

BaseThread(string oName, PRIORITY_SIZE oPriority, STACKSIZE_SIZE oStackDepth)

Construct a new BaseThread to manage a new FreeRTOS task. This will create the FreeRTOS task. The thread does not begin executing until startScheduler is called.

If the value of oPriority is bigger than MAX_SYSTEM_PRIORITY and useErrorHandler is defined also an error "OS_BAD_PRIORITY" is send.

If the FreeRTOS task creation fails and useErrorHandler is define also an error "OS_MEMORY_COULD_NOT_BE_ALLOCATED" is send.

~BaseThread() [virtual]

Delete the BaseThread and the FreeRTOS task that it manages same if this one is runing.

string getName()

Returns the name of the BaseThread.

PRIORITY_SIZE getPriority()

Returns the priority of the BaseThread.

bool setPriority(PRIORITY_SIZE oNewPriority) [virtual]

Set the priority of the BaseThread to the value of oNewPriority.

If the value of oNewPriorityis bigger than MAX_SYSTEM_PRIORITY and useErrorHandler is defined also an error "OS_BAD_PRIORITY" is send.

void waitMs(tickSize oMsToWait)

Put the FreeRTOS task in a waiting state for the given time.

void stop()

Put the FreeRTOS task to the waiting state until restart is called.

void restart()

Resart the task that was stopped.

bool restartFromISR()

Restart the task that was stopped from an ISR.

bool isCreated()

Returns true if the FreeRTOS task has been created successfully.

void startScheduler() [static]

Starts the FreeRTOS scheduler.

void endScheduler() [static]

Ends the FreeRTOS scheduler.

void threadMainWrapper(void* pvParameter) [static] [protected]

The thread main wrapper. The Free RTOS task only accept static methods to execute as main function. This function get in parameter the thread and call it's threadMain function.

void threadMain() [pure virtual] [protected]

This function is not implemented here

Personal tools
Namespaces
Variants
Actions
Navigation
Browse
Toolbox