WPILib  2014.0
WPIRoboticsLibraryforFRC
 All Classes Functions Variables Pages
Public Member Functions | Static Public Attributes | List of all members
Task Class Reference

#include <Task.h>

Inheritance diagram for Task:
ErrorBase

Public Member Functions

 Task (const char *name, FUNCPTR function, int32_t priority=kDefaultPriority, uint32_t stackSize=20000)
 
bool Start (uint32_t arg0=0, uint32_t arg1=0, uint32_t arg2=0, uint32_t arg3=0, uint32_t arg4=0, uint32_t arg5=0, uint32_t arg6=0, uint32_t arg7=0, uint32_t arg8=0, uint32_t arg9=0)
 
bool Restart ()
 
bool Stop ()
 
bool IsReady ()
 
bool IsSuspended ()
 
bool Suspend ()
 
bool Resume ()
 
bool Verify ()
 
int32_t GetPriority ()
 
bool SetPriority (int32_t priority)
 
const char * GetName ()
 
int32_t GetID ()
 
- Public Member Functions inherited from ErrorBase
virtual ErrorGetError ()
 Retrieve the current error. Get the current error information associated with this sensor.
 
virtual const ErrorGetError () const
 
virtual void SetErrnoError (const char *contextMessage, const char *filename, const char *function, uint32_t lineNumber) const
 Set error information associated with a C library call that set an error to the "errno" global variable. More...
 
virtual void SetImaqError (int success, const char *contextMessage, const char *filename, const char *function, uint32_t lineNumber) const
 Set the current error information associated from the nivision Imaq API. More...
 
virtual void SetError (Error::Code code, const char *contextMessage, const char *filename, const char *function, uint32_t lineNumber) const
 Set the current error information associated with this sensor. More...
 
virtual void SetWPIError (const char *errorMessage, const char *contextMessage, const char *filename, const char *function, uint32_t lineNumber) const
 Set the current error information associated with this sensor. More...
 
virtual void CloneError (ErrorBase *rhs) const
 
virtual void ClearError () const
 Clear the current error information associated with this sensor.
 
virtual bool StatusIsFatal () const
 Check if the current error code represents a fatal error. More...
 

Static Public Attributes

static const uint32_t kDefaultPriority = 101
 
static const int32_t kInvalidTaskID = -1
 

Additional Inherited Members

- Static Public Member Functions inherited from ErrorBase
static void SetGlobalError (Error::Code code, const char *contextMessage, const char *filename, const char *function, uint32_t lineNumber)
 
static void SetGlobalWPIError (const char *errorMessage, const char *contextMessage, const char *filename, const char *function, uint32_t lineNumber)
 
static ErrorGetGlobalError ()
 
- Protected Member Functions inherited from ErrorBase
 ErrorBase ()
 Initialize the instance status to 0 for now.
 
- Protected Attributes inherited from ErrorBase
Error m_error
 
- Static Protected Attributes inherited from ErrorBase
static SEM_ID _globalErrorMutex = semMCreate(SEM_Q_PRIORITY | SEM_DELETE_SAFE | SEM_INVERSION_SAFE)
 
static Error _globalError
 

Detailed Description

WPI task is a wrapper for the native Task object. All WPILib tasks are managed by a static task manager for simplified cleanup.

Constructor & Destructor Documentation

Task::Task ( const char *  name,
FUNCPTR  function,
int32_t  priority = kDefaultPriority,
uint32_t  stackSize = 20000 
)

Create but don't launch a task.

Parameters
nameThe name of the task. "FRC_" will be prepended to the task name.
functionThe address of the function to run as the new task.
priorityThe VxWorks priority for the task.
stackSizeThe size of the stack for the task

Member Function Documentation

int32_t Task::GetID ( )

Get the ID of a task

Returns
Task ID of this task. Task::kInvalidTaskID (-1) if the task has not been started or has already exited.
const char * Task::GetName ( )

Returns the name of the task.

Returns
Pointer to the name of the task or NULL if not allocated
int32_t Task::GetPriority ( )

Gets the priority of a task.

Returns
task priority or 0 if an error occured
bool Task::IsReady ( )

Returns true if the task is ready to execute (i.e. not suspended, delayed, or blocked).

Returns
true if ready, false if not ready.
bool Task::IsSuspended ( )

Returns true if the task was explicitly suspended by calling Suspend()

Returns
true if suspended, false if not suspended.
bool Task::Restart ( )

Restarts a running task. If the task isn't started, it starts it.

Returns
false if the task is running and we are unable to kill the previous instance
bool Task::Resume ( )

Resumes a paused task. Returns true on success, false if unable to resume or if the task isn't running/paused.

bool Task::SetPriority ( int32_t  priority)

This routine changes a task's priority to a specified priority. Priorities range from 0, the highest priority, to 255, the lowest priority. Default task priority is 100.

Parameters
priorityThe priority the task should run at.
Returns
true on success.
bool Task::Start ( uint32_t  arg0 = 0,
uint32_t  arg1 = 0,
uint32_t  arg2 = 0,
uint32_t  arg3 = 0,
uint32_t  arg4 = 0,
uint32_t  arg5 = 0,
uint32_t  arg6 = 0,
uint32_t  arg7 = 0,
uint32_t  arg8 = 0,
uint32_t  arg9 = 0 
)

Starts this task. If it is already running or unable to start, it fails and returns false.

bool Task::Stop ( )

Kills the running task.

Returns
true on success false if the task doesn't exist or we are unable to kill it.
bool Task::Suspend ( )

Pauses a running task. Returns true on success, false if unable to pause or the task isn't running.

bool Task::Verify ( )

Verifies a task still exists.

Returns
true on success.

The documentation for this class was generated from the following files: