F´ Flight Software - C/C++ Documentation  NASA-v2.1.0
A framework for building embedded system applications to NASA flight quality standards.
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