WPILib 2012
WPILibRoboticsLibraryforFRC
Public Member Functions | Static Public Attributes
Task Class Reference

#include <Task.h>

Inheritance diagram for Task:
ErrorBase

List of all members.

Public Member Functions

 Task (const char *name, FUNCPTR function, INT32 priority=kDefaultPriority, UINT32 stackSize=20000)
bool Start (UINT32 arg0=0, UINT32 arg1=0, UINT32 arg2=0, UINT32 arg3=0, UINT32 arg4=0, UINT32 arg5=0, UINT32 arg6=0, UINT32 arg7=0, UINT32 arg8=0, UINT32 arg9=0)
bool Restart ()
bool Stop ()
bool IsReady ()
bool IsSuspended ()
bool Suspend ()
bool Resume ()
bool Verify ()
INT32 GetPriority ()
bool SetPriority (INT32 priority)
const char * GetName ()
INT32 GetID ()

Static Public Attributes

static const UINT32 kDefaultPriority = 101
static const INT32 kInvalidTaskID = -1

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  priority = kDefaultPriority,
UINT32  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 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 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  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  arg0 = 0,
UINT32  arg1 = 0,
UINT32  arg2 = 0,
UINT32  arg3 = 0,
UINT32  arg4 = 0,
UINT32  arg5 = 0,
UINT32  arg6 = 0,
UINT32  arg7 = 0,
UINT32  arg8 = 0,
UINT32  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:
 All Classes Functions Variables