F´ Flight Software - C/C++ Documentation  NASA-v2.1.0
A framework for building embedded system applications to NASA flight quality standards.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
TaskCommon.cpp
Go to the documentation of this file.
1 #include <Os/Task.hpp>
2 #include <Fw/Types/Assert.hpp>
3 #include <Fw/Logger/Logger.hpp>
4 #include <string.h>
5 #include <limits>
6 
7 namespace Os {
8  const NATIVE_UINT_TYPE Task::TASK_DEFAULT = std::numeric_limits<NATIVE_UINT_TYPE>::max();
9 
10  TaskRegistry* Task::s_taskRegistry = 0;
11  NATIVE_INT_TYPE Task::s_numTasks = 0;
12 
14  return Task::s_numTasks;
15  }
16 
17 
19  return m_identifier;
20  }
21 
22  bool Task::isStarted(void) {
23  return this->m_started;
24  }
25 
26  void Task::setStarted(bool started) {
27  this->m_started = started;
28  }
29 
30  bool Task::wasSuspended(void) {
31  return this->m_suspendedOnPurpose;
32  }
33 
34  POINTER_CAST Task::getRawHandle(void) {
35  return this->m_handle;
36  }
37 
39  FW_ASSERT(registry);
40  Task::s_taskRegistry = registry;
41  }
42 
44 
45  }
46 
47  Task::TaskStatus Task::start(const Fw::StringBase &name, NATIVE_INT_TYPE identifier, NATIVE_INT_TYPE priority, NATIVE_INT_TYPE stackSize, taskRoutine routine, void* arg, NATIVE_INT_TYPE cpuAffinity) {
48  return this->start(name, routine, arg, priority, stackSize, cpuAffinity, identifier);
49  }
50 
52 
53  }
54 
55 }
Os::Task::setStarted
void setStarted(bool started)
set task to started when thread is fully up. Avoids a VxWorks race condition.
Definition: TaskCommon.cpp:26
Os
Definition: File.cpp:7
Os::Task::getNumTasks
static NATIVE_INT_TYPE getNumTasks(void)
Definition: TaskCommon.cpp:13
Fw::StringBase
Definition: StringType.hpp:23
Task.hpp
Os::TaskRegistry::TaskRegistry
TaskRegistry()
constructor for task registry
Definition: TaskCommon.cpp:43
Os::Task::registerTaskRegistry
static void registerTaskRegistry(TaskRegistry *registry)
Definition: TaskCommon.cpp:38
Os::Task::wasSuspended
bool wasSuspended(void)
returns whether or not task was suspended on purpose
Definition: TaskCommon.cpp:30
Assert.hpp
Os::Task::TASK_DEFAULT
static const NATIVE_UINT_TYPE TASK_DEFAULT
Definition: Task.hpp:18
Os::Task::TaskStatus
TaskStatus
Definition: Task.hpp:19
NATIVE_UINT_TYPE
unsigned int NATIVE_UINT_TYPE
native unsigned integer type declaration
Definition: BasicTypes.hpp:30
FW_ASSERT
#define FW_ASSERT(...)
Definition: Assert.hpp:9
Os::Task::isStarted
bool isStarted(void)
check to see if task is started
Definition: TaskCommon.cpp:22
Os::TaskRegistry::~TaskRegistry
virtual ~TaskRegistry()
destructor for task registry
Definition: TaskCommon.cpp:51
Os::Task::start
TaskStatus start(const Fw::StringBase &name, taskRoutine routine, void *arg, NATIVE_UINT_TYPE priority=TASK_DEFAULT, NATIVE_UINT_TYPE stackSize=TASK_DEFAULT, NATIVE_UINT_TYPE cpuAffinity=TASK_DEFAULT, NATIVE_UINT_TYPE identifier=TASK_DEFAULT)
start the task
Definition: Task.cpp:16
Os::Task::getRawHandle
POINTER_CAST getRawHandle()
Definition: TaskCommon.cpp:34
Os::Task::getIdentifier
I32 getIdentifier(void)
get the identifier for the task
Definition: TaskCommon.cpp:18
NATIVE_INT_TYPE
int NATIVE_INT_TYPE
native integer type declaration
Definition: BasicTypes.hpp:29
Logger.hpp
Os::TaskRegistry
Definition: Task.hpp:83