F´ Flight Software - C/C++ Documentation  NASA-v1.6.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 <cstring>
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 = nullptr;
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() {
23  return this->m_started;
24  }
25 
26  void Task::setStarted(bool started) {
27  this->m_started = started;
28  }
29 
31  return this->m_suspendedOnPurpose;
32  }
33 
34  POINTER_CAST Task::getRawHandle() {
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::wasSuspended
bool wasSuspended()
returns whether or not task was suspended on purpose
Definition: TaskCommon.cpp:30
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::isStarted
bool isStarted()
check to see if task is started
Definition: TaskCommon.cpp:22
Fw::StringBase
Definition: StringType.hpp:23
NATIVE_UINT_TYPE
unsigned int NATIVE_UINT_TYPE
native unsigned integer type declaration
Definition: BasicTypes.hpp:28
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
NATIVE_INT_TYPE
int NATIVE_INT_TYPE
native integer type declaration
Definition: BasicTypes.hpp:27
Os::Task::TASK_DEFAULT
static const NATIVE_UINT_TYPE TASK_DEFAULT
Definition: Task.hpp:18
Os::Task::TaskStatus
TaskStatus
Definition: Task.hpp:19
Os::TaskRegistry::~TaskRegistry
virtual ~TaskRegistry()
destructor for task registry
Definition: TaskCommon.cpp:51
FW_ASSERT
#define FW_ASSERT(...)
Definition: Assert.hpp:9
Os::Task::getIdentifier
I32 getIdentifier()
get the identifier for the task
Definition: TaskCommon.cpp:18
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:18
Os::Task::getRawHandle
POINTER_CAST getRawHandle()
Definition: TaskCommon.cpp:34
Os::Task::getNumTasks
static NATIVE_INT_TYPE getNumTasks()
Definition: TaskCommon.cpp:13
Logger.hpp
Os::TaskRegistry
Definition: Task.hpp:83